From e7bf0edfd49de9a4d8285fbe8d878f8fda910e6d Mon Sep 17 00:00:00 2001 From: Andreas Hartmetz Date: Tue, 19 Jan 2016 14:30:18 +0100 Subject: Add option to disable "session management by closing windows". That feature is a poor man's session management for applications that do not implement any specific session management features. It badly interferes with proper session management support, so applications must be able to disable it. This enables fixing applications with QGuiApplication::quitOnLastWindowClosed() true - the default - dying too early, before they are enumerated for the list of applications to restart on session restore, thus preventing them from being restored. See https://bugs.kde.org/show_bug.cgi?id=354724 [ChangeLog][QtGui] Qt asking to close windows on session exit as a fallback session management mechanism has been made optional. Disabling it fixes session management for applications that implement full session management. See QGuiApplication::isFallbackSessionManagementEnabled(). Task-number: QTBUG-49667 Change-Id: Ib22e58c9c64351dea8b7e2a74db91d26dd7ab7aa Reviewed-by: Oswald Buddenhagen Reviewed-by: David Faure --- .../code/src_gui_kernel_qguiapplication.cpp | 1 + src/gui/kernel/qguiapplication.cpp | 60 +++++++++++++++++++++- src/gui/kernel/qguiapplication.h | 3 ++ src/gui/kernel/qguiapplication_p.h | 1 + src/gui/kernel/qsessionmanager.cpp | 19 ++++--- 5 files changed, 72 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/gui/doc/snippets/code/src_gui_kernel_qguiapplication.cpp b/src/gui/doc/snippets/code/src_gui_kernel_qguiapplication.cpp index 4ddf8c8acb..63fdb3bdd0 100644 --- a/src/gui/doc/snippets/code/src_gui_kernel_qguiapplication.cpp +++ b/src/gui/doc/snippets/code/src_gui_kernel_qguiapplication.cpp @@ -53,6 +53,7 @@ int main(int argc, char *argv[]) MyMainWidget::MyMainWidget(QWidget *parent) :QWidget(parent) { + QGuiApplication::setFallbackSessionManagementEnabled(false); connect(qApp, SIGNAL(commitDataRequest(QSessionManager)), SLOT(commitData(QSessionManager))); } diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 65d679cdad..8f1c62fbca 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -138,6 +138,8 @@ QPlatformTheme *QGuiApplicationPrivate::platform_theme = 0; QList QGuiApplicationPrivate::generic_plugin_list; +bool QGuiApplicationPrivate::is_fallback_session_management_enabled = true; + enum ApplicationResourceFlags { ApplicationPaletteExplicitlySet = 0x1, @@ -3082,6 +3084,55 @@ void QGuiApplicationPrivate::setApplicationState(Qt::ApplicationState state, boo emit qApp->applicationStateChanged(applicationState); } +// ### Qt6: consider removing the feature or making it less intrusive +/*! + \since 5.6 + + Returns whether QGuiApplication will use fallback session management. + + The default is \c true. + + If this is \c true and the session manager allows user interaction, + QGuiApplication will try to close toplevel windows after + commitDataRequest() has been emitted. If a window cannot be closed, session + shutdown will be canceled and the application will keep running. + + Fallback session management only benefits applications that have an + "are you sure you want to close this window?" feature or other logic that + prevents closing a toplevel window depending on certain conditions, and + that do nothing to explicitly implement session management. In applications + that \e do implement session management using the proper session management + API, fallback session management interferes and may break session + management logic. + + \warning If all windows \e are closed due to fallback session management + and quitOnLastWindowClosed() is \c true, the application will quit before + it is explicitly instructed to quit through the platform's session + management protocol. That violation of protocol may prevent the platform + session manager from saving application state. + + \sa setFallbackSessionManagementEnabled(), + QSessionManager::allowsInteraction(), saveStateRequest(), + commitDataRequest(), {Session Management} +*/ +bool QGuiApplication::isFallbackSessionManagementEnabled() +{ + return QGuiApplicationPrivate::is_fallback_session_management_enabled; +} + +/*! + \since 5.6 + + Sets whether QGuiApplication will use fallback session management to + \a enabled. + + \sa isFallbackSessionManagementEnabled() +*/ +void QGuiApplication::setFallbackSessionManagementEnabled(bool enabled) +{ + QGuiApplicationPrivate::is_fallback_session_management_enabled = enabled; +} + /*! \since 4.2 \fn void QGuiApplication::commitDataRequest(QSessionManager &manager) @@ -3106,7 +3157,8 @@ void QGuiApplicationPrivate::setApplicationState(Qt::ApplicationState state, boo \note You should use Qt::DirectConnection when connecting to this signal. - \sa isSessionRestored(), sessionId(), saveStateRequest(), {Session Management} + \sa setFallbackSessionManagementEnabled(), isSessionRestored(), + sessionId(), saveStateRequest(), {Session Management} */ /*! @@ -3236,9 +3288,13 @@ void QGuiApplicationPrivate::commitData() { Q_Q(QGuiApplication); is_saving_session = true; + emit q->commitDataRequest(*session_manager); - if (session_manager->allowsInteraction() && !tryCloseAllWindows()) + if (is_fallback_session_management_enabled && session_manager->allowsInteraction() + && !tryCloseAllWindows()) { session_manager->cancel(); + } + is_saving_session = false; } diff --git a/src/gui/kernel/qguiapplication.h b/src/gui/kernel/qguiapplication.h index d995387d66..3f233d4eda 100644 --- a/src/gui/kernel/qguiapplication.h +++ b/src/gui/kernel/qguiapplication.h @@ -152,6 +152,9 @@ public: QString sessionId() const; QString sessionKey() const; bool isSavingSession() const; + + static bool isFallbackSessionManagementEnabled(); + static void setFallbackSessionManagementEnabled(bool); #endif static void sync(); diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index 7c7da9790b..4f0f6fdc44 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -234,6 +234,7 @@ public: #endif #ifndef QT_NO_SESSIONMANAGER + static bool is_fallback_session_management_enabled; QSessionManager *session_manager; bool is_session_restored; bool is_saving_session; diff --git a/src/gui/kernel/qsessionmanager.cpp b/src/gui/kernel/qsessionmanager.cpp index f4b56fd01b..c6d23f163c 100644 --- a/src/gui/kernel/qsessionmanager.cpp +++ b/src/gui/kernel/qsessionmanager.cpp @@ -64,22 +64,21 @@ QT_BEGIN_NAMESPACE settings. QSessionManager provides an interface between the application and the - session manager so that the program can work well with the session manager. - In Qt, session management requests for action are handled by the two - signals QGuiApplication::commitDataRequest() and - QGuiApplication::saveStateRequest(). Both provide a reference to a session - manager object as argument, to allow the application to communicate with - the session manager. The session manager can only be accessed through these - functions. + platform's session manager. In Qt, session management requests for action + are handled by the two signals QGuiApplication::commitDataRequest() and + QGuiApplication::saveStateRequest(). Both provide a reference to a + QSessionManager object as argument. The session manager can only be + accessed in slots invoked by these signals. + + \warning If you use QSessionManager, you should disable fallback session + management: QGuiApplication::setFallbackSessionManagementEnabled(). No user interaction is possible \e unless the application gets explicit permission from the session manager. You ask for permission by calling allowsInteraction() or, if it is really urgent, allowsErrorInteraction(). Qt does not enforce this, but the session manager may. - You can try to abort the shutdown process by calling cancel(). The default - commitData() function does this if some top-level window rejected its - closeEvent(). + You can try to abort the shutdown process by calling cancel(). For sophisticated session managers provided on Unix/X11, QSessionManager offers further possibilities to fine-tune an application's session -- cgit v1.2.3 From 719623a11d57da6a56d069a5ca8161531a37776b Mon Sep 17 00:00:00 2001 From: Andreas Hartmetz Date: Wed, 17 Feb 2016 21:33:25 +0100 Subject: Fix builds without session management. My previous change broke it. Change-Id: I3c3a9a65775032a95eebf3526c1bbf2c50773230 Reviewed-by: Samuli Piippo --- src/gui/kernel/qguiapplication.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 8f1c62fbca..95e47e18a9 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -138,7 +138,9 @@ QPlatformTheme *QGuiApplicationPrivate::platform_theme = 0; QList QGuiApplicationPrivate::generic_plugin_list; +#ifndef QT_NO_SESSIONMANAGER bool QGuiApplicationPrivate::is_fallback_session_management_enabled = true; +#endif enum ApplicationResourceFlags { @@ -3084,6 +3086,7 @@ void QGuiApplicationPrivate::setApplicationState(Qt::ApplicationState state, boo emit qApp->applicationStateChanged(applicationState); } +#ifndef QT_NO_SESSIONMANAGER // ### Qt6: consider removing the feature or making it less intrusive /*! \since 5.6 @@ -3132,6 +3135,7 @@ void QGuiApplication::setFallbackSessionManagementEnabled(bool enabled) { QGuiApplicationPrivate::is_fallback_session_management_enabled = enabled; } +#endif // QT_NO_SESSIONMANAGER /*! \since 4.2 -- cgit v1.2.3 From 469e293286f7b9ea093fdac41938e00082c70bcd Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 22 Feb 2016 14:44:30 -0800 Subject: Fix crash when a standard bus isn't available Commit 1f6fa1f37a14742ddf53c753ce52d9dc048cd1dc added a way of suspending delivery of messages to standard buses when they connect and resuming delivery when the main loop starts. As a side-effect, we caused an attempt to do dispatching even after the connection failed. The D-Bus library doesn't like that. Task-number: QTBUG-51299 Change-Id: I0c94a5c2846b48c8aea7ffff143564f7fcede890 Reviewed-by: David Faure --- src/dbus/qdbusconnection.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index 7f44272bc3..34b3da7df3 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -208,7 +208,7 @@ QDBusConnectionPrivate *QDBusConnectionManager::connectToBus(QDBusConnection::Bu data.suspendedDelivery = suspendedDelivery; emit connectionRequested(&data); - if (suspendedDelivery) { + if (suspendedDelivery && data.result->connection) { data.result->ref.ref(); QDBusConnectionDispatchEnabler *o = new QDBusConnectionDispatchEnabler(data.result); QTimer::singleShot(0, o, SLOT(execute())); @@ -291,7 +291,7 @@ void QDBusConnectionManager::executeConnectionRequest(QDBusConnectionManager::Co // will lock in QDBusConnectionPrivate::connectRelay() d->setConnection(c, error); d->createBusService(); - if (data->suspendedDelivery) + if (c && data->suspendedDelivery) d->setDispatchEnabled(false); } } -- cgit v1.2.3 From 837d75eed500bd0138d78c60edc54d0dd75967cf Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 26 Feb 2016 13:24:05 +0100 Subject: qt_handleTouchEvent(): Scale coordinates when converting touch points. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove outdated static functions to convert touch points and use QWindowSystemInterfacePrivate::fromNativeTouchPoints(). Fix tst_QWidget::underMouse() to pass when High DPI scaling is in effect. .\tst_qwidget.cpp(9000) : failure location FAIL! : tst_QWidget::underMouse() 'childWidget1.underMouse()' returned FALSE. () .\tst_qwidget.cpp(10161) : failure location Task-number: QTBUG-46615 Change-Id: Ie73dba610da357e7be396f2ea0229987f7503462 Reviewed-by: Morten Johan Sørvig --- src/gui/kernel/qwindowsysteminterface.cpp | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index e10ddf22a7..b0772e7a96 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -906,36 +906,14 @@ Q_GUI_EXPORT bool qt_sendShortcutOverrideEvent(QObject *o, ulong timestamp, int #endif } -static QWindowSystemInterface::TouchPoint touchPoint(const QTouchEvent::TouchPoint& pt) -{ - QWindowSystemInterface::TouchPoint p; - p.id = pt.id(); - p.flags = pt.flags(); - p.normalPosition = pt.normalizedPos(); - p.area = pt.screenRect(); - p.pressure = pt.pressure(); - p.state = pt.state(); - p.velocity = pt.velocity(); - p.rawPositions = pt.rawScreenPositions(); - return p; -} -static QList touchPointList(const QList& pointList) -{ - QList newList; - - Q_FOREACH (QTouchEvent::TouchPoint p, pointList) - newList.append(touchPoint(p)); - - return newList; -} - Q_GUI_EXPORT void qt_handleTouchEvent(QWindow *w, QTouchDevice *device, const QList &points, Qt::KeyboardModifiers mods = Qt::NoModifier) { bool wasSynchronous = QWindowSystemInterfacePrivate::synchronousWindowSystemEvents; QWindowSystemInterface::setSynchronousWindowSystemEvents(true); - QWindowSystemInterface::handleTouchEvent(w, device, touchPointList(points), mods); + QWindowSystemInterface::handleTouchEvent(w, device, + QWindowSystemInterfacePrivate::toNativeTouchPoints(points, w), mods); QWindowSystemInterface::setSynchronousWindowSystemEvents(wasSynchronous); } -- cgit v1.2.3 From 6f75c189e1e5651b716afb316c801d080001c155 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 24 Feb 2016 12:36:36 +0100 Subject: Fix crash in QProcess::waitForFinished on Windows Suppose the user connects QProcess::readyReadStandardOutput with a slot that calls QCoreApplication::processEvents. Assume the event loop did not handle events between QProcess::start and QProcess::waitForFinished. The process writes to stdout and exits. QProcessPrivate::waitForFinished calls drainOutputPipes which calls QWindowsPipeWriter::waitForReadyRead. This in turn will trigger _q_processDied via the readyRead signal and processEvents. _q_processDied will delete the pid object and set pid to null. After drainOutputPipes returns, _q_processDied is called again but it must not be called if pid is already destroyed. Prevent calling _q_processDied if pid is null. Task-number: QTBUG-48697 Change-Id: Iee047938ee1529057a1a43d71f4e882750903c7e Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qprocess_win.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/io/qprocess_win.cpp b/src/corelib/io/qprocess_win.cpp index 80e6d5bb61..98ada82446 100644 --- a/src/corelib/io/qprocess_win.cpp +++ b/src/corelib/io/qprocess_win.cpp @@ -647,7 +647,8 @@ bool QProcessPrivate::waitForReadyRead(int msecs) return false; if (WaitForSingleObjectEx(pid->hProcess, 0, false) == WAIT_OBJECT_0) { bool readyReadEmitted = drainOutputPipes(); - _q_processDied(); + if (pid) + _q_processDied(); return readyReadEmitted; } @@ -752,7 +753,8 @@ bool QProcessPrivate::waitForFinished(int msecs) if (WaitForSingleObject(pid->hProcess, timer.nextSleepTime()) == WAIT_OBJECT_0) { drainOutputPipes(); - _q_processDied(); + if (pid) + _q_processDied(); return true; } -- cgit v1.2.3 From 717ff946391233e7e4a99b8042494512ca3957d7 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Fri, 26 Feb 2016 10:15:20 -0800 Subject: QMenuBar: Acknowledge AA_DontUseNativeMenuBar Change-Id: I756f4181d66ef6e79ab7b7be8a23a10171a9f30c Task-number: QTBUG-28960 Reviewed-by: Timur Pocheptsov --- src/widgets/widgets/qmenubar.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index 2e48607f82..cca0853a8f 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -690,7 +690,8 @@ void QMenuBarPrivate::init() q->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Minimum); q->setAttribute(Qt::WA_CustomWhatsThis); - platformMenuBar = QGuiApplicationPrivate::platformTheme()->createPlatformMenuBar(); + if (!QApplication::instance()->testAttribute(Qt::AA_DontUseNativeMenuBar)) + platformMenuBar = QGuiApplicationPrivate::platformTheme()->createPlatformMenuBar(); if (platformMenuBar) q->hide(); -- cgit v1.2.3 From 8b94ceaff8e67827302a1190ad828cb90cf3b977 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Fri, 26 Feb 2016 10:15:43 -0800 Subject: QMacStyle and QCocoaTheme: Fix selected item color for non-native menubar Change-Id: I3b55e9ce896383338cf6ed768d912ca1835b7742 Task-number: QTBUG-28960 Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qcocoasystemsettings.mm | 4 +++- src/widgets/styles/qmacstyle_mac.mm | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm index 93f8b2ba6f..48f2f72b7e 100644 --- a/src/plugins/platforms/cocoa/qcocoasystemsettings.mm +++ b/src/plugins/platforms/cocoa/qcocoasystemsettings.mm @@ -143,6 +143,7 @@ static QMacPaletteMap mac_widget_colors[] = { QMacPaletteMap(QPlatformTheme::LabelPalette, kThemeTextColorPlacardActive, kThemeTextColorPlacardInactive), QMacPaletteMap(QPlatformTheme::GroupBoxPalette, kThemeTextColorPlacardActive, kThemeTextColorPlacardInactive), QMacPaletteMap(QPlatformTheme::MenuPalette, kThemeTextColorMenuItemActive, kThemeTextColorMenuItemDisabled), + QMacPaletteMap(QPlatformTheme::MenuBarPalette, kThemeTextColorMenuItemActive, kThemeTextColorMenuItemDisabled), //### TODO: The zeros below gives white-on-black text. QMacPaletteMap(QPlatformTheme::TextEditPalette, 0, 0), QMacPaletteMap(QPlatformTheme::TextLineEditPalette, 0, 0), @@ -167,7 +168,8 @@ QHash qt_mac_createRolePalettes() pal.setColor(QPalette::Disabled, QPalette::WindowText, qc); pal.setColor(QPalette::Disabled, QPalette::HighlightedText, qc); } - if (mac_widget_colors[i].paletteRole == QPlatformTheme::MenuPalette) { + if (mac_widget_colors[i].paletteRole == QPlatformTheme::MenuPalette + || mac_widget_colors[i].paletteRole == QPlatformTheme::MenuBarPalette) { qc = qt_mac_colorForTheme(kThemeBrushMenuBackground); pal.setBrush(QPalette::Background, qc); qc = qt_mac_colorForThemeTextColor(kThemeTextColorMenuItemActive); diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index ac23512f1d..4f688f6f28 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -4608,7 +4608,8 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter HIRect menuRect = qt_hirectForQRect(mi->menuRect); HIRect itemRect = qt_hirectForQRect(mi->rect); - if ((opt->state & State_Selected) && (opt->state & State_Enabled) && (opt->state & State_Sunken)){ + const bool selected = (opt->state & State_Selected) && (opt->state & State_Enabled) && (opt->state & State_Sunken); + if (selected) { // Draw a selected menu item background: HIThemeMenuItemDrawInfo mdi; mdi.version = qt_mac_hitheme_version; @@ -4636,7 +4637,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter Qt::AlignCenter | Qt::TextHideMnemonic | Qt::TextDontClip | Qt::TextSingleLine, mi->palette, mi->state & State_Enabled, - mi->text, QPalette::ButtonText); + mi->text, selected ? QPalette::HighlightedText : QPalette::ButtonText); } } break; -- cgit v1.2.3 From 45ac7c962b4c196bba796c1dc7fc345f84c4b74e Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 25 Feb 2016 13:31:15 +0100 Subject: Merge convert from routines These four methods do not need to be separate, the compiler can figure generate the optimal version from the template arguments. Change-Id: I45b30a9c2f2ce4da46c47f2e6e1fbd7561213c4a Reviewed-by: Gunnar Sletta --- src/gui/painting/qdrawhelper.cpp | 152 ++++++++++++++++----------------------- 1 file changed, 60 insertions(+), 92 deletions(-) (limited to 'src') diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 112dbd4738..933ff407e2 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -135,10 +135,20 @@ template<> Q_DECL_CONSTEXPR uint blueShift Q_DECL_CONSTEXPR uint blueShift() { return 8; } template<> Q_DECL_CONSTEXPR uint blueShift() { return 8; } template<> Q_DECL_CONSTEXPR uint blueShift() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 0; } template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 4; } template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 8; } template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 8; } template<> Q_DECL_CONSTEXPR uint alphaWidth() { return 6; } +template<> Q_DECL_CONSTEXPR uint alphaShift() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaShift() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaShift() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaShift() { return 0; } +template<> Q_DECL_CONSTEXPR uint alphaShift() { return 0; } template<> Q_DECL_CONSTEXPR uint alphaShift() { return 12; } template<> Q_DECL_CONSTEXPR uint alphaShift() { return 0; } template<> Q_DECL_CONSTEXPR uint alphaShift() { return 0; } @@ -286,92 +296,50 @@ static const QRgba64 *QT_FASTCALL convertARGBPMToARGB64PM(QRgba64 *buffer, const return buffer; } -template +template static const uint *QT_FASTCALL convertRGBFromARGB32PM(uint *buffer, const uint *src, int count, const QPixelLayout *, const QRgb *) { - Q_CONSTEXPR uint redMask = ((1 << redWidth()) - 1); - Q_CONSTEXPR uint greenMask = ((1 << greenWidth()) - 1); - Q_CONSTEXPR uint blueMask = ((1 << blueWidth()) - 1); - - Q_CONSTEXPR uchar redRightShift = 24 - redWidth(); - Q_CONSTEXPR uchar greenRightShift = 16 - greenWidth(); - Q_CONSTEXPR uchar blueRightShift = 8 - blueWidth(); - - for (int i = 0; i < count; ++i) { - const uint color = qUnpremultiply(src[i]); - const uint red = ((color >> redRightShift) & redMask) << redShift(); - const uint green = ((color >> greenRightShift) & greenMask) << greenShift(); - const uint blue = ((color >> blueRightShift) & blueMask) << blueShift(); - buffer[i] = red | green | blue; - } - return buffer; -} - -template -static const uint *QT_FASTCALL convertRGBFromRGB32(uint *buffer, const uint *src, int count, - const QPixelLayout *, const QRgb *) -{ - Q_CONSTEXPR uint redMask = ((1 << redWidth()) - 1); - Q_CONSTEXPR uint greenMask = ((1 << greenWidth()) - 1); - Q_CONSTEXPR uint blueMask = ((1 << blueWidth()) - 1); + Q_CONSTEXPR uint rMask = ((1 << redWidth()) - 1); + Q_CONSTEXPR uint gMask = ((1 << greenWidth()) - 1); + Q_CONSTEXPR uint bMask = ((1 << blueWidth()) - 1); - Q_CONSTEXPR uchar redRightShift = 24 - redWidth(); - Q_CONSTEXPR uchar greenRightShift = 16 - greenWidth(); - Q_CONSTEXPR uchar blueRightShift = 8 - blueWidth(); + Q_CONSTEXPR uchar rRightShift = 24 - redWidth(); + Q_CONSTEXPR uchar gRightShift = 16 - greenWidth(); + Q_CONSTEXPR uchar bRightShift = 8 - blueWidth(); for (int i = 0; i < count; ++i) { - const uint red = ((src[i] >> redRightShift) & redMask) << redShift(); - const uint green = ((src[i] >> greenRightShift) & greenMask) << greenShift(); - const uint blue = ((src[i] >> blueRightShift) & blueMask) << blueShift(); - buffer[i] = red | green | blue; + const uint c = fromRGB ? src[i] : qUnpremultiply(src[i]); + const uint r = ((c >> rRightShift) & rMask) << redShift(); + const uint g = ((c >> gRightShift) & gMask) << greenShift(); + const uint b = ((c >> bRightShift) & bMask) << blueShift(); + buffer[i] = r | g | b; } return buffer; } -template -static const uint *QT_FASTCALL convertARGBPMFromRGB32(uint *buffer, const uint *src, int count, - const QPixelLayout *, const QRgb *) -{ - Q_CONSTEXPR uint alphaMask = ((1 << alphaWidth()) - 1); - Q_CONSTEXPR uint redMask = ((1 << redWidth()) - 1); - Q_CONSTEXPR uint greenMask = ((1 << greenWidth()) - 1); - Q_CONSTEXPR uint blueMask = ((1 << blueWidth()) - 1); - - Q_CONSTEXPR uchar redRightShift = 24 - redWidth(); - Q_CONSTEXPR uchar greenRightShift = 16 - greenWidth(); - Q_CONSTEXPR uchar blueRightShift = 8 - blueWidth(); - - for (int i = 0; i < count; ++i) { - Q_CONSTEXPR uint alpha = (0xff & alphaMask) << alphaShift(); - const uint red = ((src[i] >> redRightShift) & redMask) << redShift(); - const uint green = ((src[i] >> greenRightShift) & greenMask) << greenShift(); - const uint blue = ((src[i] >> blueRightShift) & blueMask) << blueShift(); - buffer[i] = alpha | red | green | blue; - } - return buffer; -} - -template +template static const uint *QT_FASTCALL convertARGBPMFromARGB32PM(uint *buffer, const uint *src, int count, const QPixelLayout *, const QRgb *) { - Q_CONSTEXPR uint alphaMask = ((1 << alphaWidth()) - 1); - Q_CONSTEXPR uint redMask = ((1 << redWidth()) - 1); - Q_CONSTEXPR uint greenMask = ((1 << greenWidth()) - 1); - Q_CONSTEXPR uint blueMask = ((1 << blueWidth()) - 1); + Q_CONSTEXPR uint aMask = ((1 << alphaWidth()) - 1); + Q_CONSTEXPR uint rMask = ((1 << redWidth()) - 1); + Q_CONSTEXPR uint gMask = ((1 << greenWidth()) - 1); + Q_CONSTEXPR uint bMask = ((1 << blueWidth()) - 1); - Q_CONSTEXPR uchar alphaRightShift = 32 - alphaWidth(); - Q_CONSTEXPR uchar redRightShift = 24 - redWidth(); - Q_CONSTEXPR uchar greenRightShift = 16 - greenWidth(); - Q_CONSTEXPR uchar blueRightShift = 8 - blueWidth(); + Q_CONSTEXPR uchar aRightShift = 32 - alphaWidth(); + Q_CONSTEXPR uchar rRightShift = 24 - redWidth(); + Q_CONSTEXPR uchar gRightShift = 16 - greenWidth(); + Q_CONSTEXPR uchar bRightShift = 8 - blueWidth(); + Q_CONSTEXPR uint aOpaque = (0xff & aMask) << alphaShift(); for (int i = 0; i < count; ++i) { - const uint alpha = ((src[i] >> alphaRightShift) & alphaMask) << alphaShift(); - const uint red = ((src[i] >> redRightShift) & redMask) << redShift(); - const uint green = ((src[i] >> greenRightShift) & greenMask) << greenShift(); - const uint blue = ((src[i] >> blueRightShift) & blueMask) << blueShift(); - buffer[i] = alpha | red | green | blue; + const uint c = src[i]; + const uint a = fromRGB ? aOpaque : (((c >> aRightShift) & aMask) << alphaShift()); + const uint r = ((c >> rRightShift) & rMask) << redShift(); + const uint g = ((c >> gRightShift) & gMask) << greenShift(); + const uint b = ((c >> bRightShift) & bMask) << blueShift(); + buffer[i] = a | r | g | b; } return buffer; } @@ -387,8 +355,8 @@ template Q_DECL_CONSTEXPR static inline QPixelLayout pixe 0, 0, false, bitsPerPixel(), convertToRGB32, - convertRGBFromARGB32PM, - convertRGBFromRGB32, + convertRGBFromARGB32PM, + convertRGBFromARGB32PM, convertToRGB64 }; } @@ -402,8 +370,8 @@ template Q_DECL_CONSTEXPR static inline QPixelLayout pixe uchar(alphaWidth()), uchar(alphaShift()), true, bitsPerPixel(), convertARGBPMToARGB32PM, - convertARGBPMFromARGB32PM, - convertARGBPMFromRGB32, + convertARGBPMFromARGB32PM, + convertARGBPMFromARGB32PM, convertARGBPMToARGB64PM }; } @@ -881,56 +849,56 @@ QPixelLayout qPixelLayouts[QImage::NImageFormats] = { #else { 5, 11, 6, 5, 5, 0, 0, 0, false, QPixelLayout::BPP16, convertToRGB32, - convertRGBFromARGB32PM, - convertRGBFromRGB32, + convertRGBFromARGB32PM, + convertRGBFromARGB32PM, convertToRGB64, }, { 5, 19, 6, 13, 5, 8, 8, 0, true, QPixelLayout::BPP24, convertARGBPMToARGB32PM, - convertARGBPMFromARGB32PM, - convertARGBPMFromRGB32, + convertARGBPMFromARGB32PM, + convertARGBPMFromARGB32PM, convertARGBPMToARGB64PM, }, { 6, 12, 6, 6, 6, 0, 0, 0, false, QPixelLayout::BPP24, convertToRGB32, - convertRGBFromARGB32PM, - convertRGBFromRGB32, + convertRGBFromARGB32PM, + convertRGBFromARGB32PM, convertToRGB64, }, { 6, 12, 6, 6, 6, 0, 6, 18, true, QPixelLayout::BPP24, convertARGBPMToARGB32PM, - convertARGBPMFromARGB32PM, - convertARGBPMFromRGB32, + convertARGBPMFromARGB32PM, + convertARGBPMFromARGB32PM, convertARGBPMToARGB64PM, }, { 5, 10, 5, 5, 5, 0, 0, 0, false, QPixelLayout::BPP16, convertToRGB32, - convertRGBFromARGB32PM, - convertRGBFromRGB32, + convertRGBFromARGB32PM, + convertRGBFromARGB32PM, convertToRGB64, }, { 5, 18, 5, 13, 5, 8, 8, 0, true, QPixelLayout::BPP24, convertARGBPMToARGB32PM, - convertARGBPMFromARGB32PM, - convertARGBPMFromRGB32, + convertARGBPMFromARGB32PM, + convertARGBPMFromARGB32PM, convertARGBPMToARGB64PM, }, { 8, 16, 8, 8, 8, 0, 0, 0, false, QPixelLayout::BPP24, convertToRGB32, - convertRGBFromARGB32PM, - convertRGBFromRGB32, + convertRGBFromARGB32PM, + convertRGBFromARGB32PM, convertToRGB64, }, { 4, 8, 4, 4, 4, 0, 0, 0, false, QPixelLayout::BPP16, convertToRGB32, - convertRGBFromARGB32PM, - convertRGBFromRGB32, + convertRGBFromARGB32PM, + convertRGBFromARGB32PM, convertToRGB64, }, { 4, 8, 4, 4, 4, 0, 4, 12, true, QPixelLayout::BPP16, convertARGBPMToARGB32PM, - convertARGBPMFromARGB32PM, - convertARGBPMFromRGB32, + convertARGBPMFromARGB32PM, + convertARGBPMFromARGB32PM, convertARGBPMToARGB64PM, }, #endif -- cgit v1.2.3 From 3e58e15c3d95a7ca0786c837dd9c0d93c93ae562 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 19 Jul 2015 21:58:32 +0200 Subject: QJsonPrivate::q_littleendian: mark as primitive/movable, depending on T Inherit the type-classification from the underlying type. This amends commit 4889269ff0fb37130b332863e82dd7c19564116c, which introduced a QVector, but failed to mark the payload as primitive. Change-Id: I525a0456a550e0694b33b36b4aa71475aeac192b Reviewed-by: Lars Knoll --- src/corelib/json/qjson_p.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/corelib/json/qjson_p.h b/src/corelib/json/qjson_p.h index 1767b3e9e6..0b3f517990 100644 --- a/src/corelib/json/qjson_p.h +++ b/src/corelib/json/qjson_p.h @@ -144,6 +144,13 @@ public: return *this; } }; +} // namespace QJsonPrivate + +template +class QTypeInfo > + : public QTypeInfoMerger, T> {}; + +namespace QJsonPrivate { typedef q_littleendian qle_short; typedef q_littleendian qle_ushort; -- cgit v1.2.3 From d7d4a3ecfc9da82c04c3a217fdfee0324f4ad9fa Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Tue, 23 Feb 2016 10:49:35 +0100 Subject: Doc: Add the missing \l command and the target section title MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I8478467a074ecff9834850c36961ae8e218cea02 Task-number: QTBUG-51290 Reviewed-by: Topi Reiniö Reviewed-by: Edward Welbourne --- src/corelib/doc/src/objectmodel/signalsandslots.qdoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/doc/src/objectmodel/signalsandslots.qdoc b/src/corelib/doc/src/objectmodel/signalsandslots.qdoc index 6f183d3e71..216bd985db 100644 --- a/src/corelib/doc/src/objectmodel/signalsandslots.qdoc +++ b/src/corelib/doc/src/objectmodel/signalsandslots.qdoc @@ -251,7 +251,8 @@ This example illustrates that objects can work together without needing to know any information about each other. To enable this, the objects only need to be connected together, and this can be achieved with some simple - QObject::connect() function calls, or with \c{uic}'s {automatic connections} feature. + QObject::connect() function calls, or with \c{uic}'s + \l{Automatic Connections}{automatic connections} feature. \section1 A Real Example -- cgit v1.2.3 From c2530c7d2005ec734cc310d9122b0bf135120444 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Mon, 29 Feb 2016 19:47:57 +0800 Subject: Windows QPA: QWindowsWindow - always treat WM_ERASEBKGND as handled under certain conditions, a WM_ERASEBKGND message is sent, to a window without update region. in this case we declare the message as 'handled' to avoid flickering. Task-number: QTBUG-48235 Change-Id: I2ed27e020db4b54ec93a445cb219de00f38a62fd Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/qwindowswindow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index c0892feabe..e640d38241 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -1559,11 +1559,11 @@ void QWindowsWindow::releaseDC() bool QWindowsWindow::handleWmPaint(HWND hwnd, UINT message, WPARAM, LPARAM) { + if (message == WM_ERASEBKGND) // Backing store - ignored. + return true; // Ignore invalid update bounding rectangles if (!GetUpdateRect(m_data.hwnd, 0, FALSE)) return false; - if (message == WM_ERASEBKGND) // Backing store - ignored. - return true; PAINTSTRUCT ps; // Observed painting problems with Aero style disabled (QTBUG-7865). -- cgit v1.2.3 From 495e8c205424253186bef47421de63534d23dd59 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Sun, 14 Feb 2016 19:57:23 +0800 Subject: corewlan: avoid unnecessary currentInterface.serviceActive checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit currentInterface.serviceActive is relatively expensive and causes significant spikes in cpu load. Luckily, we can easily memorize the result. Change-Id: Ic7983b63bba5507bc1e34b0644e73365dc44f200 Task-number: QTBUG-45798 Task-number: QTCREATORBUG-15741 Reviewed-by: Tor Arne Vestbø Reviewed-by: Gabriel de Dietrich Reviewed-by: Morten Johan Sørvig --- src/plugins/bearer/corewlan/qcorewlanengine.mm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm index 6d16b59d35..d89078465b 100644 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm +++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm @@ -158,6 +158,7 @@ void QScanThread::run() mutex.lock(); CWInterface *currentInterface = [CWInterface interfaceWithName: QCFString::toNSString(interfaceName)]; mutex.unlock(); + const bool currentInterfaceServiceActive = currentInterface.serviceActive; if (currentInterface.powerOn) { NSError *err = nil; @@ -172,7 +173,7 @@ void QScanThread::run() QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined; bool known = isKnownSsid(networkSsid); - if (currentInterface.serviceActive) { + if (currentInterfaceServiceActive) { if( networkSsid == QCFString::toQString( [currentInterface ssid])) { state = QNetworkConfiguration::Active; } @@ -215,7 +216,7 @@ void QScanThread::run() interfaceName = ij.value(); } - if (currentInterface.serviceActive) { + if (currentInterfaceServiceActive) { if( networkSsid == QCFString::toQString([currentInterface ssid])) { state = QNetworkConfiguration::Active; } -- cgit v1.2.3 From bd43dcae8a0761f265a4b1a10e34f301fc49f311 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Wed, 17 Feb 2016 12:00:05 +0100 Subject: Only copy the data if the image is not null If the image was unable to do the smooth scaling due to running out of memory then it will return a null QImage, so this should be checked before copying the data to prevent a crash. Change-Id: I82a6443ce2d701c45110b5dd3c5ed4813d078312 Reviewed-by: aavit Reviewed-by: Allan Sandfeld Jensen --- src/gui/image/qimage.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 667b65431e..6f649efcf4 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -4411,7 +4411,8 @@ QImage QImage::smoothScaled(int w, int h) const { src = src.convertToFormat(QImage::Format_RGB32); } src = qSmoothScaleImage(src, w, h); - copyMetadata(src.d, d); + if (!src.isNull()) + copyMetadata(src.d, d); return src; } -- cgit v1.2.3 From defd302f64f213a8764875a88788dbcea76d66f0 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 26 Feb 2016 13:22:36 +0100 Subject: qt_handleMouseEvent(): Scale coordinates. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix tst_qwindow::testInputEvents() to pass when High DPI scaling is in effect. FAIL! : tst_QWindow::testInputEvents() Compared values are not the same Actual (window.mousePressLocalPos): QPointF(6,17) Expected (local) : QPointF(12,34) .\tst_qwindow.cpp(771) : failure location Task-number: QTBUG-46615 Change-Id: I1ccacc807f3390b6ab26a369d13fd7896e64cbca Reviewed-by: Morten Johan Sørvig --- src/gui/kernel/qwindowsysteminterface.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index b0772e7a96..841e4f8f41 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -857,7 +857,9 @@ Q_GUI_EXPORT void qt_handleMouseEvent(QWindow *w, const QPointF &local, const QP { bool wasSynchronous = QWindowSystemInterfacePrivate::synchronousWindowSystemEvents; QWindowSystemInterface::setSynchronousWindowSystemEvents(true); - QWindowSystemInterface::handleMouseEvent(w, timestamp, local, global, b, mods); + const qreal factor = QHighDpiScaling::factor(w); + QWindowSystemInterface::handleMouseEvent(w, timestamp, local * factor, + global * factor, b, mods); QWindowSystemInterface::setSynchronousWindowSystemEvents(wasSynchronous); } -- cgit v1.2.3 From f9c16f396274e60e74739cd270052c42008abd6e Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 19 Jan 2016 12:41:04 +0100 Subject: De-inline the code resolving the GL symbols Saves around 200k in QtGui.so. Change-Id: I1a020445093a5612ed64ca98bf51435580478cda Reviewed-by: Laszlo Agocs Reviewed-by: Sean Harmer --- src/gui/opengl/qopenglfunctions.cpp | 60 +++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index b55c878623..598bf5e179 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -2142,7 +2142,7 @@ public: private: FuncType Base::*funcPointerName; FuncType fallbackFuncPointer; - QByteArray funcName; + const char *funcName; }; template @@ -2194,31 +2194,53 @@ public: private: FuncType Base::*funcPointerName; FuncType fallbackFuncPointer; - QByteArray funcName; + const char *funcName; }; +static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName, int policy) +{ + QByteArray fn = funcName; + int size = fn.size(); + QFunctionPointer function = context->getProcAddress(fn); + + // create room for the extension names + fn.resize(size + 5); + char *ext = fn.data() + size; + if (!function && (policy & ResolveOES)) { + memcpy(ext, "OES\0\0", 5); + function = context->getProcAddress(fn); + } + + if (!function) { + memcpy(ext, "ARB\0\0", 5); + function = context->getProcAddress(fn); + } + + if (!function && (policy & ResolveEXT)) { + memcpy(ext, "EXT\0\0", 5); + function = context->getProcAddress(fn); + } + + if (!function && (policy & ResolveANGLE)) { + memcpy(ext, "ANGLE", 5); + function = context->getProcAddress(fn); + } + + if (!function && (policy & ResolveNV)) { + memcpy(ext, "NV\0\0\0", 5); + function = context->getProcAddress(fn); + } + + return function; +} + #define RESOLVER_COMMON \ QOpenGLContext *context = QOpenGLContext::currentContext(); \ Base *funcs = qt_gl_functions(context); \ \ FuncType old = funcs->*funcPointerName; \ - \ - funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName); \ - \ - if ((Policy & ResolveOES) && !(funcs->*funcPointerName)) \ - funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "OES"); \ - \ - if (!(funcs->*funcPointerName)) \ - funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ARB"); \ - \ - if ((Policy & ResolveEXT) && !(funcs->*funcPointerName)) \ - funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "EXT"); \ - \ - if ((Policy & ResolveANGLE) && !(funcs->*funcPointerName)) \ - funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "ANGLE"); \ - \ - if ((Policy & ResolveNV) && !(funcs->*funcPointerName)) \ - funcs->*funcPointerName = (FuncType)context->getProcAddress(funcName + "NV"); + funcs->*funcPointerName = (FuncType)getProcAddress(context, funcName, Policy); + #define RESOLVER_COMMON_NON_VOID \ RESOLVER_COMMON \ -- cgit v1.2.3 From 95a8a745e043f02f432a370feb3348389b784f38 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 28 Jan 2016 12:39:57 +0100 Subject: Significantly reduce the size of generated code for the opengl wrappers Use some macro magic to declare the opengl symbols and use that to call getProcAddress in a loop instead of doing it individually for each method. Cuts the amount of generated object code down from 300 to around 50k. Change-Id: I386d278fde41a1a30827c6232e79f9156090f8b0 Reviewed-by: Laszlo Agocs Reviewed-by: Sean Harmer --- src/gui/opengl/qopenglfunctions_1_0.h | 613 ++--- src/gui/opengl/qopenglfunctions_1_1.h | 673 +++--- src/gui/opengl/qopenglfunctions_1_2.h | 749 +++--- src/gui/opengl/qopenglfunctions_1_3.h | 841 +++---- src/gui/opengl/qopenglfunctions_1_4.h | 931 ++++---- src/gui/opengl/qopenglfunctions_1_5.h | 969 ++++---- src/gui/opengl/qopenglfunctions_2_0.h | 1155 ++++----- src/gui/opengl/qopenglfunctions_2_1.h | 1167 +++++----- src/gui/opengl/qopenglfunctions_3_0.h | 1335 +++++------ src/gui/opengl/qopenglfunctions_3_1.h | 483 ++-- .../opengl/qopenglfunctions_3_2_compatibility.h | 1397 +++++------ src/gui/opengl/qopenglfunctions_3_2_core.h | 521 ++--- .../opengl/qopenglfunctions_3_3_compatibility.h | 1513 ++++++------ src/gui/opengl/qopenglfunctions_3_3_core.h | 577 ++--- .../opengl/qopenglfunctions_4_0_compatibility.h | 1605 ++++++------- src/gui/opengl/qopenglfunctions_4_0_core.h | 669 +++--- .../opengl/qopenglfunctions_4_1_compatibility.h | 1781 +++++++------- src/gui/opengl/qopenglfunctions_4_1_core.h | 845 +++---- .../opengl/qopenglfunctions_4_2_compatibility.h | 1805 +++++++------- src/gui/opengl/qopenglfunctions_4_2_core.h | 869 +++---- .../opengl/qopenglfunctions_4_3_compatibility.h | 1871 +++++++-------- src/gui/opengl/qopenglfunctions_4_3_core.h | 935 ++++---- .../opengl/qopenglfunctions_4_4_compatibility.h | 1911 +++++++-------- src/gui/opengl/qopenglfunctions_4_4_core.h | 1087 ++++----- .../opengl/qopenglfunctions_4_5_compatibility.cpp | 2 +- .../opengl/qopenglfunctions_4_5_compatibility.h | 2145 ++++++++--------- src/gui/opengl/qopenglfunctions_4_5_core.h | 1299 +++++------ src/gui/opengl/qopenglversionfunctions.cpp | 1697 +------------- src/gui/opengl/qopenglversionfunctions.h | 2450 ++++++++++---------- 29 files changed, 16268 insertions(+), 17627 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglfunctions_1_0.h b/src/gui/opengl/qopenglfunctions_1_0.h index cfbe7f642d..825a6255a3 100644 --- a/src/gui/opengl/qopenglfunctions_1_0.h +++ b/src/gui/opengl/qopenglfunctions_1_0.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -389,1534 +390,1534 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_1_0::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_1_0::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_1_0::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_1_0::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_1_0::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_1_0::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_1_0::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_1_0::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_1_0::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_1_0::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_1_0::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_0::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_1_0::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_1_0::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_1_0::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_1_0::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_1_0::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_1_0::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_1_0::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_1_0::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_1_0::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_1_0::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_1_0::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_1_0::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_1_0::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_1_0::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_1_0::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_1_0::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_1_0::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_1_0::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_1_0::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_1_0::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_0::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_1_0::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_0::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_1_0::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_1_0::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_1_0::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_1_0::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_1_0::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_1_0::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_1_0::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_1_0::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_1_0::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_1_0::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_1_0::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_1_0::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_1_0::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_1_0::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_1_0::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_1_0::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_1_0::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_1_0::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_1_0::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_1_0::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_1_0::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_1_0::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_1_0::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_1_0::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_1_0::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_0::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_0::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_1_0::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_1_0::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_1_0::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_1_0::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_1_0::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_1_0::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_1_0::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_1_0::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_1_0::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_1_0::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_1_0::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_1_0::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_1_0::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_1_0::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_1_0::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_1_0::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_1_0::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_1_0::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_1_0::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_1_0::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_1_0::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_1_0::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_1_0::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_1_0::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_1_0::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_1_0::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_1_0::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_1_0::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_1_0::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_1_0::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_1_0::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_1_0::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_1_0::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_0::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_0::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_1_0::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_1_0::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_0::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_0::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_0::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_0::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_1_0::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_1_0::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_1_0::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_1_0::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_1_0::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_1_0::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_1_0::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_1_0::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_1_0::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_1_0::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_1_0::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_1_0::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_1_0::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_0::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_1_0::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_0::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_1_0::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_0::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_1_0::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_0::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_1_0::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_0::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_1_0::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_1_0::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_1_0::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_1_0::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_1_0::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_1_0::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_1_0::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_1_0::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_1_0::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_1_0::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_1_0::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_1_0::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_1_0::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_1_0::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_1_0::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_1_0::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_1_0::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_1_0::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_1_0::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_1_0::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_1_0::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_1_0::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_1_0::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_1_0::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_1_0::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_1_0::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_1_0::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_1_0::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_1_0::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_1_0::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_1_0::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_1_0::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_1_0::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_1_0::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_1_0::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_1_0::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_1_0::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_1_0::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_1_0::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_1_0::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_1_0::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_1_0::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_1_0::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_1_0::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_1_0::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_1_0::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_1_0::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_1_0::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_1_0::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_1_0::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_1_0::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_1_0::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_1_0::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_1_0::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_1_0::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_1_0::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_1_0::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_1_0::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_1_0::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_1_0::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_1_0::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_1_0::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_1_0::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_1_0::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_1_0::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_1_0::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_1_0::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_1_0::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_1_0::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_1_0::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_1_0::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_1_0::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_1_0::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_1_0::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_1_0::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_1_0::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_1_0::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_1_0::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_1_0::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_0::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_1_0::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_0::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_1_0::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_0::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_1_0::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_0::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_1_0::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_1_0::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_1_0::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_1_0::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_1_0::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_1_0::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_1_0::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_1_0::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_1_0::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_1_0::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_1_0::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_1_0::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_1_0::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_1_0::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_1_0::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_1_0::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_1_0::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_1_0::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_1_0::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_1_0::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_1_0::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_1_0::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_1_0::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_1_0::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_1_0::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_1_0::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_1_0::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_1_0::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_1_0::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_1_0::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_1_0::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_1_0::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_1_0::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_1_0::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_1_0::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_1_0::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_1_0::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_1_0::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_1_0::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_1_0::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_1_0::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_1_0::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_1_0::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_1_0::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_1_0::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_1_0::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_1_0::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_1_0::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_1_0::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_1_0::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_1_0::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_1_0::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_1_0::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_1_0::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_1_0::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_1_0::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_1_0::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_1_0::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_1_0::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_1_0::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_1_0::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_1_0::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_1_0::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_1_0::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_1_0::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_1_0::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_1_0::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_1_0::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_1_0::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_1_0::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_1_0::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_1_0::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_1_0::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_1_0::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_1_0::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_1_0::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_1_0::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_1_0::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } diff --git a/src/gui/opengl/qopenglfunctions_1_1.h b/src/gui/opengl/qopenglfunctions_1_1.h index b51028168e..f312258f00 100644 --- a/src/gui/opengl/qopenglfunctions_1_1.h +++ b/src/gui/opengl/qopenglfunctions_1_1.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -425,1688 +426,1688 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_1_1::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_1_1::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_1_1::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_1_1::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_1_1::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_1_1::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_1_1::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_1_1::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_1_1::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_1_1::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_1_1::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_1::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_1_1::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_1_1::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_1_1::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_1_1::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_1_1::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_1_1::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_1_1::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_1_1::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_1_1::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_1_1::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_1_1::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_1_1::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_1_1::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_1_1::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_1_1::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_1_1::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_1_1::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_1_1::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_1_1::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_1_1::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_1::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_1_1::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_1::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_1_1::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_1_1::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_1_1::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_1_1::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_1_1::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_1_1::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_1_1::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_1_1::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_1_1::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_1_1::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_1_1::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_1_1::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_1_1::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_1_1::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_1::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_1_1::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_1_1::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_1_1::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_1_1::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_1_1::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_1_1::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_1_1::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_1_1::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_1_1::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_1_1::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_1_1::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_1_1::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_1_1::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_1_1::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_1_1::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_1_1::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_1_1::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_1_1::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_1_1::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_1_1::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_1_1::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_1_1::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_1_1::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_1_1::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_1_1::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_1_1::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_1::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_1::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_1_1::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_1_1::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_1_1::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_1_1::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_1_1::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_1_1::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_1_1::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_1_1::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_1_1::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_1_1::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_1_1::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_1_1::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_1_1::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_1_1::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_1_1::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_1_1::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_1_1::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_1_1::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_1_1::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_1_1::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_1_1::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_1_1::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_1_1::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_1_1::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_1_1::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_1_1::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_1_1::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_1_1::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_1_1::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_1_1::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_1_1::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_1_1::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_1_1::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_1::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_1::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_1_1::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_1_1::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_1::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_1::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_1::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_1::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_1_1::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_1_1::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_1_1::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_1_1::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_1_1::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_1_1::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_1_1::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_1_1::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_1_1::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_1_1::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_1_1::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_1_1::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_1_1::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_1::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_1_1::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_1::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_1_1::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_1::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_1_1::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_1::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_1_1::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_1::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_1_1::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_1_1::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_1_1::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_1_1::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_1_1::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_1_1::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_1_1::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_1_1::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_1_1::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_1_1::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_1_1::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_1_1::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_1_1::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_1_1::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_1_1::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_1_1::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_1_1::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_1_1::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_1_1::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_1_1::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_1_1::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_1_1::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_1_1::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_1_1::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_1_1::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_1_1::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_1_1::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_1_1::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_1_1::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_1_1::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_1_1::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_1_1::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_1_1::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_1_1::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_1_1::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_1_1::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_1_1::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_1_1::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_1_1::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_1_1::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_1_1::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_1_1::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_1_1::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_1_1::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_1_1::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_1_1::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_1_1::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_1_1::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_1_1::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_1_1::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_1_1::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_1_1::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_1_1::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_1_1::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_1_1::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_1_1::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_1_1::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_1_1::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_1_1::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_1_1::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_1_1::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_1_1::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_1_1::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_1_1::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_1_1::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_1_1::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_1_1::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_1_1::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_1_1::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_1_1::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_1_1::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_1_1::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_1_1::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_1_1::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_1_1::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_1_1::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_1_1::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_1_1::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_1_1::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_1::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_1_1::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_1::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_1_1::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_1::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_1_1::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_1::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_1_1::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_1_1::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_1_1::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_1_1::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_1_1::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_1_1::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_1_1::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_1_1::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_1_1::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_1_1::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_1_1::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_1_1::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_1_1::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_1_1::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_1_1::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_1_1::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_1_1::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_1_1::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_1_1::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_1_1::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_1_1::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_1_1::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_1_1::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_1_1::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_1_1::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_1_1::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_1_1::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_1_1::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_1_1::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_1_1::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_1_1::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_1_1::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_1_1::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_1_1::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_1_1::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_1_1::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_1_1::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_1_1::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_1_1::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_1_1::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_1_1::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_1_1::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_1_1::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_1_1::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_1_1::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_1_1::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_1_1::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_1_1::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_1_1::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_1_1::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_1_1::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_1_1::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_1_1::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_1_1::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_1_1::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_1_1::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_1_1::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_1_1::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_1_1::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_1_1::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_1_1::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_1_1::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_1_1::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_1_1::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_1_1::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_1_1::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_1_1::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_1_1::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_1_1::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_1_1::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_1_1::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_1_1::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_1_1::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_1_1::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_1_1::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_1_1::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_1_1::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_1_1::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_1_1::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_1_1::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_1_1::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_1_1::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_1_1::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_1::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_1::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_1::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_1_1::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_1::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_1_1::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_1_1::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_1_1::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_1::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } diff --git a/src/gui/opengl/qopenglfunctions_1_2.h b/src/gui/opengl/qopenglfunctions_1_2.h index 74d688e740..fd4e7f74f9 100644 --- a/src/gui/opengl/qopenglfunctions_1_2.h +++ b/src/gui/opengl/qopenglfunctions_1_2.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -469,1882 +470,1882 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_1_2::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_1_2::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_1_2::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_1_2::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_1_2::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_1_2::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_1_2::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_1_2::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_1_2::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_1_2::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_1_2::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_2::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_1_2::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_1_2::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_1_2::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_1_2::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_1_2::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_1_2::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_1_2::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_1_2::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_1_2::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_1_2::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_1_2::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_1_2::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_1_2::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_1_2::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_1_2::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_1_2::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_1_2::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_1_2::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_1_2::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_1_2::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_1_2::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_1_2::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_1_2::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_1_2::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_1_2::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_1_2::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_1_2::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_1_2::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_1_2::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_1_2::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_1_2::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_1_2::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_1_2::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_1_2::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_1_2::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_2::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_1_2::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_1_2::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_1_2::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_1_2::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_1_2::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_1_2::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_1_2::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_1_2::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_1_2::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_1_2::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_1_2::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_1_2::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_1_2::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_1_2::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_1_2::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_1_2::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_1_2::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_1_2::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_1_2::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_1_2::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_1_2::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_1_2::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_1_2::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_1_2::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_1_2::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_1_2::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_1_2::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_1_2::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_1_2::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_1_2::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_1_2::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_1_2::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_1_2::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_1_2::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_1_2::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_1_2::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_1_2::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_1_2::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_1_2::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_1_2::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_1_2::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_1_2::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_1_2::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_1_2::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_1_2::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_1_2::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_1_2::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_1_2::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_1_2::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_1_2::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_1_2::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_1_2::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_1_2::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_1_2::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_1_2::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_1_2::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_1_2::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_1_2::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_1_2::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_1_2::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_1_2::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_1_2::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_1_2::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_1_2::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_1_2::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_2::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_2::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_1_2::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_1_2::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_2::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_2::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_2::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_2::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_1_2::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_1_2::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_1_2::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_1_2::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_1_2::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_1_2::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_1_2::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_1_2::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_1_2::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_1_2::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_1_2::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_1_2::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_1_2::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_2::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_1_2::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_2::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_1_2::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_2::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_1_2::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_2::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_1_2::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_1_2::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_1_2::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_1_2::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_1_2::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_1_2::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_1_2::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_1_2::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_1_2::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_1_2::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_1_2::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_1_2::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_1_2::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_1_2::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_1_2::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_1_2::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_1_2::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_1_2::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_1_2::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_1_2::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_1_2::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_1_2::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_1_2::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_1_2::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_1_2::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_1_2::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_1_2::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_1_2::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_1_2::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_1_2::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_1_2::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_1_2::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_1_2::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_1_2::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_1_2::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_1_2::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_1_2::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_1_2::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_1_2::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_1_2::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_1_2::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_1_2::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_1_2::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_1_2::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_1_2::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_1_2::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_1_2::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_1_2::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_1_2::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_1_2::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_1_2::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_1_2::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_1_2::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_1_2::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_1_2::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_1_2::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_1_2::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_1_2::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_1_2::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_1_2::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_1_2::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_1_2::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_1_2::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_1_2::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_1_2::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_1_2::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_1_2::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_1_2::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_1_2::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_1_2::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_1_2::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_1_2::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_1_2::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_1_2::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_1_2::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_1_2::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_1_2::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_1_2::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_1_2::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_1_2::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_2::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_1_2::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_2::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_1_2::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_2::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_1_2::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_2::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_1_2::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_1_2::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_1_2::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_1_2::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_1_2::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_1_2::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_1_2::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_1_2::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_1_2::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_1_2::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_1_2::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_1_2::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_1_2::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_1_2::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_1_2::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_1_2::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_1_2::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_1_2::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_1_2::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_1_2::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_1_2::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_1_2::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_1_2::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_1_2::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_1_2::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_1_2::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_1_2::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_1_2::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_1_2::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_1_2::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_1_2::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_1_2::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_1_2::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_1_2::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_1_2::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_1_2::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_1_2::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_1_2::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_1_2::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_1_2::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_1_2::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_1_2::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_1_2::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_1_2::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_1_2::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_1_2::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_1_2::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_1_2::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_1_2::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_1_2::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_1_2::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_1_2::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_1_2::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_1_2::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_1_2::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_1_2::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_1_2::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_1_2::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_1_2::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_1_2::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_1_2::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_1_2::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_1_2::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_1_2::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_1_2::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_1_2::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_1_2::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_1_2::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_1_2::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_1_2::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_1_2::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_1_2::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_1_2::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_1_2::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_1_2::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_1_2::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_1_2::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_1_2::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_1_2::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_1_2::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_1_2::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_1_2::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_1_2::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_2::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_2::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_2::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_1_2::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_2::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_1_2::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_1_2::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_1_2::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_2::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_1_2::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_1_2::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_1_2::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_1_2::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_1_2::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_1_2::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_1_2::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_1_2::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_1_2::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_1_2::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_1_2::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_2::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_1_2::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_1_2::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_1_2::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_1_2::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_1_2::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_1_2::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_1_2::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_2::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_2::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_2::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } diff --git a/src/gui/opengl/qopenglfunctions_1_3.h b/src/gui/opengl/qopenglfunctions_1_3.h index c75c514ae0..a8509c46c5 100644 --- a/src/gui/opengl/qopenglfunctions_1_3.h +++ b/src/gui/opengl/qopenglfunctions_1_3.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -521,2116 +522,2116 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_1_3::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_1_3::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_1_3::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_1_3::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_1_3::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_1_3::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_1_3::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_1_3::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_1_3::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_1_3::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_1_3::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_3::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_1_3::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_1_3::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_1_3::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_1_3::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_1_3::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_1_3::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_1_3::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_1_3::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_1_3::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_1_3::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_1_3::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_1_3::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_1_3::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_1_3::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_1_3::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_1_3::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_1_3::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_1_3::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_1_3::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_1_3::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_1_3::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_1_3::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_1_3::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_1_3::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_1_3::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_1_3::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_1_3::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_1_3::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_1_3::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_1_3::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_1_3::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_1_3::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_1_3::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_1_3::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_1_3::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_3::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_1_3::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_1_3::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_1_3::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_1_3::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_1_3::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_1_3::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_1_3::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_1_3::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_1_3::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_1_3::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_1_3::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_1_3::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_1_3::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_1_3::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_1_3::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_1_3::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_1_3::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_1_3::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_1_3::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_1_3::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_1_3::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_1_3::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_1_3::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_1_3::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_1_3::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_1_3::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_1_3::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_1_3::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_1_3::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_1_3::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_1_3::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_1_3::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_1_3::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_1_3::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_1_3::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_1_3::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_1_3::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_1_3::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_1_3::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_1_3::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_1_3::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_1_3::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_1_3::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_1_3::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_1_3::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_1_3::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_1_3::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_1_3::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_1_3::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_1_3::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_1_3::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_1_3::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_1_3::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_1_3::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_1_3::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_1_3::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_1_3::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_1_3::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_1_3::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_1_3::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_1_3::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_1_3::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_1_3::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_1_3::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_1_3::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_1_3::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_1_3::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_1_3::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_1_3::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_1_3::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_1_3::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_1_3::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_1_3::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_1_3::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_3::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_3::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_1_3::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_1_3::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_3::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_3::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_3::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_3::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_1_3::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_1_3::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_1_3::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_1_3::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_1_3::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_1_3::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_1_3::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_1_3::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_1_3::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_1_3::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_1_3::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_1_3::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_1_3::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_3::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_1_3::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_3::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_1_3::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_3::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_1_3::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_3::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_1_3::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_1_3::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_1_3::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_1_3::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_1_3::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_1_3::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_1_3::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_1_3::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_1_3::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_1_3::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_1_3::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_1_3::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_1_3::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_1_3::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_1_3::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_1_3::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_1_3::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_1_3::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_1_3::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_1_3::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_1_3::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_1_3::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_1_3::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_1_3::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_1_3::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_1_3::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_1_3::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_1_3::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_1_3::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_1_3::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_1_3::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_1_3::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_1_3::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_1_3::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_1_3::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_1_3::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_1_3::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_1_3::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_1_3::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_1_3::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_1_3::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_1_3::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_1_3::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_1_3::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_1_3::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_1_3::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_1_3::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_1_3::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_1_3::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_1_3::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_1_3::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_1_3::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_1_3::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_1_3::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_1_3::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_1_3::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_1_3::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_1_3::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_1_3::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_1_3::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_1_3::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_1_3::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_1_3::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_1_3::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_1_3::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_1_3::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_1_3::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_1_3::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_1_3::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_1_3::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_1_3::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_1_3::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_1_3::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_1_3::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_1_3::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_1_3::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_1_3::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_1_3::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_1_3::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_1_3::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_3::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_1_3::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_3::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_1_3::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_3::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_1_3::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_3::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_1_3::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_1_3::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_1_3::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_1_3::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_1_3::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_1_3::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_1_3::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_1_3::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_1_3::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_1_3::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_1_3::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_1_3::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_1_3::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_1_3::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_1_3::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_1_3::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_1_3::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_1_3::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_1_3::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_1_3::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_1_3::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_1_3::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_1_3::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_1_3::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_1_3::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_1_3::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_1_3::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_1_3::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_1_3::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_1_3::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_1_3::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_1_3::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_1_3::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_1_3::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_1_3::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_1_3::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_1_3::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_1_3::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_1_3::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_1_3::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_1_3::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_1_3::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_1_3::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_1_3::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_1_3::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_1_3::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_1_3::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_1_3::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_1_3::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_1_3::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_1_3::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_1_3::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_1_3::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_1_3::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_1_3::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_1_3::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_1_3::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_1_3::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_1_3::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_1_3::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_1_3::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_1_3::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_1_3::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_1_3::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_1_3::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_1_3::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_1_3::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_1_3::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_1_3::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_1_3::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_1_3::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_1_3::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_1_3::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_1_3::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_1_3::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_1_3::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_1_3::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_1_3::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_1_3::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_1_3::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_1_3::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_1_3::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_1_3::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_3::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_3::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_3::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_1_3::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_3::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_1_3::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_1_3::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_1_3::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_3::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_1_3::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_1_3::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_1_3::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_1_3::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_1_3::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_1_3::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_1_3::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_1_3::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_1_3::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_1_3::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_1_3::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_3::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_1_3::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_1_3::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_1_3::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_1_3::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_1_3::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_1_3::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_1_3::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_3::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_3::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_3::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_1_3::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_1_3::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_1_3::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_1_3::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_1_3::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_1_3::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } diff --git a/src/gui/opengl/qopenglfunctions_1_4.h b/src/gui/opengl/qopenglfunctions_1_4.h index 8e18e04ec5..eeb99dbb1b 100644 --- a/src/gui/opengl/qopenglfunctions_1_4.h +++ b/src/gui/opengl/qopenglfunctions_1_4.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -572,2345 +573,2345 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_1_4::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_1_4::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_1_4::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_1_4::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_1_4::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_1_4::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_1_4::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_1_4::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_1_4::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_1_4::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_1_4::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_4::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_1_4::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_1_4::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_1_4::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_1_4::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_1_4::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_1_4::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_1_4::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_1_4::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_1_4::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_1_4::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_1_4::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_1_4::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_1_4::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_1_4::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_1_4::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_1_4::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_1_4::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_1_4::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_1_4::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_1_4::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_1_4::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_1_4::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_1_4::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_1_4::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_1_4::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_1_4::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_1_4::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_1_4::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_1_4::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_1_4::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_1_4::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_1_4::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_1_4::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_1_4::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_1_4::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_4::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_1_4::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_1_4::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_1_4::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_1_4::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_1_4::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_1_4::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_1_4::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_1_4::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_1_4::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_1_4::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_1_4::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_1_4::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_1_4::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_1_4::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_1_4::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_1_4::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_1_4::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_1_4::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_1_4::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_1_4::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_1_4::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_1_4::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_1_4::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_1_4::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_1_4::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_1_4::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_1_4::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_1_4::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_1_4::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_1_4::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_1_4::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_1_4::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_1_4::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_1_4::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_1_4::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_1_4::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_1_4::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_1_4::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_1_4::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_1_4::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_1_4::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_1_4::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_1_4::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_1_4::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_1_4::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_1_4::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_1_4::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_1_4::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_1_4::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_1_4::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_1_4::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_1_4::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_1_4::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_1_4::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_1_4::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_1_4::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_1_4::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_1_4::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_1_4::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_1_4::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_1_4::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_1_4::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_1_4::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_1_4::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_1_4::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_1_4::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_1_4::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_1_4::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_1_4::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_1_4::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_1_4::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_1_4::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_1_4::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_1_4::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_1_4::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_1_4::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_1_4::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_1_4::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_1_4::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_1_4::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_1_4::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_4::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_4::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_1_4::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_1_4::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_4::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_4::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_4::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_4::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_1_4::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_1_4::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_1_4::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_1_4::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_1_4::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_1_4::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_1_4::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_1_4::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_1_4::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_1_4::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_1_4::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_1_4::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_1_4::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_4::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_1_4::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_4::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_1_4::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_4::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_1_4::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_4::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_1_4::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_1_4::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_1_4::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_1_4::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_1_4::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_1_4::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_1_4::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_1_4::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_1_4::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_1_4::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_1_4::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_1_4::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_1_4::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_1_4::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_1_4::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_1_4::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_1_4::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_1_4::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_1_4::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_1_4::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_1_4::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_1_4::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_1_4::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_1_4::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_1_4::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_1_4::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_1_4::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_1_4::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_1_4::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_1_4::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_1_4::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_1_4::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_1_4::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_1_4::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_1_4::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_1_4::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_1_4::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_1_4::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_1_4::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_1_4::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_1_4::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_1_4::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_1_4::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_1_4::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_1_4::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_1_4::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_1_4::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_1_4::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_1_4::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_1_4::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_1_4::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_1_4::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_1_4::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_1_4::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_1_4::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_1_4::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_1_4::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_1_4::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_1_4::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_1_4::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_1_4::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_1_4::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_1_4::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_1_4::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_1_4::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_1_4::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_1_4::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_1_4::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_1_4::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_1_4::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_1_4::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_1_4::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_1_4::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_1_4::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_1_4::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_1_4::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_1_4::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_1_4::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_1_4::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_1_4::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_4::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_1_4::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_4::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_1_4::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_4::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_1_4::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_4::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_1_4::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_1_4::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_1_4::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_1_4::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_1_4::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_1_4::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_1_4::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_1_4::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_1_4::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_1_4::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_1_4::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_1_4::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_1_4::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_1_4::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_1_4::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_1_4::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_1_4::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_1_4::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_1_4::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_1_4::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_1_4::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_1_4::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_1_4::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_1_4::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_1_4::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_1_4::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_1_4::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_1_4::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_1_4::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_1_4::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_1_4::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_1_4::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_1_4::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_1_4::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_1_4::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_1_4::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_1_4::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_1_4::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_1_4::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_1_4::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_1_4::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_1_4::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_1_4::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_1_4::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_1_4::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_1_4::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_1_4::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_1_4::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_1_4::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_1_4::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_1_4::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_1_4::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_1_4::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_1_4::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_1_4::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_1_4::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_1_4::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_1_4::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_1_4::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_1_4::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_1_4::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_1_4::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_1_4::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_1_4::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_1_4::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_1_4::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_1_4::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_1_4::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_1_4::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_1_4::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_1_4::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_1_4::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_1_4::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_1_4::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_1_4::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_1_4::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_1_4::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_1_4::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_1_4::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_1_4::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_1_4::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_1_4::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_1_4::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_4::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_4::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_4::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_1_4::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_4::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_1_4::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_1_4::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_1_4::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_4::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_1_4::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_1_4::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_1_4::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_1_4::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_1_4::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_1_4::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_1_4::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_1_4::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_1_4::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_1_4::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_1_4::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_4::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_1_4::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_1_4::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_1_4::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_1_4::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_1_4::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_1_4::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_1_4::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_4::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_4::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_4::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_1_4::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_1_4::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_1_4::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_1_4::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_1_4::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_1_4::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_1_4::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_1_4::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_1_4::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_1_4::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_1_4::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_1_4::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_1_4::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_1_4::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_1_4::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_1_4::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_1_4::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_1_4::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_1_4::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_1_4::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_1_4::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_1_4::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_1_4::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_4::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_1_4::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_1_4::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_1_4::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_1_4::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_1_4::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_1_4::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_1_4::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_1_4::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_1_4::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_4::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_1_4::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_1_4::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_1_4::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } diff --git a/src/gui/opengl/qopenglfunctions_1_5.h b/src/gui/opengl/qopenglfunctions_1_5.h index 00fd33cea4..d5f23c146b 100644 --- a/src/gui/opengl/qopenglfunctions_1_5.h +++ b/src/gui/opengl/qopenglfunctions_1_5.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -596,2442 +597,2442 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_1_5::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_1_5::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_1_5::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_1_5::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_1_5::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_1_5::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_1_5::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_1_5::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_1_5::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_1_5::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_1_5::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_5::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_1_5::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_1_5::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_1_5::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_1_5::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_1_5::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_1_5::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_1_5::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_1_5::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_1_5::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_1_5::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_1_5::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_1_5::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_1_5::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_1_5::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_1_5::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_1_5::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_1_5::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_1_5::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_1_5::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_1_5::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_1_5::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_1_5::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_1_5::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_1_5::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_1_5::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_1_5::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_1_5::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_1_5::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_1_5::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_1_5::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_1_5::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_1_5::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_1_5::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_1_5::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_1_5::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_1_5::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_1_5::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_1_5::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_1_5::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_1_5::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_1_5::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_1_5::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_1_5::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_1_5::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_1_5::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_1_5::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_1_5::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_1_5::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_1_5::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_1_5::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_1_5::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_1_5::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_1_5::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_1_5::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_1_5::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_1_5::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_1_5::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_1_5::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_1_5::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_1_5::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_1_5::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_1_5::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_1_5::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_1_5::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_1_5::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_1_5::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_1_5::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_1_5::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_1_5::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_1_5::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_1_5::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_1_5::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_1_5::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_1_5::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_1_5::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_1_5::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_1_5::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_1_5::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_1_5::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_1_5::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_1_5::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_1_5::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_1_5::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_1_5::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_1_5::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_1_5::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_1_5::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_1_5::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_1_5::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_1_5::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_1_5::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_1_5::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_1_5::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_1_5::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_1_5::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_1_5::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_1_5::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_1_5::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_1_5::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_1_5::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_1_5::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_1_5::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_1_5::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_1_5::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_1_5::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_1_5::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_1_5::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_1_5::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_1_5::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_1_5::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_1_5::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_1_5::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_1_5::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_1_5::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_1_5::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_1_5::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_1_5::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_1_5::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_1_5::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_1_5::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_1_5::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_1_5::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_1_5::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_1_5::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_1_5::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_1_5::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_1_5::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_1_5::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_1_5::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_1_5::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_1_5::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_1_5::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_1_5::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_1_5::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_1_5::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_5::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_1_5::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_1_5::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_1_5::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_5::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_1_5::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_5::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_1_5::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_1_5::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_1_5::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_1_5::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_1_5::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_1_5::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_1_5::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_1_5::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_1_5::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_1_5::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_1_5::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_1_5::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_1_5::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_1_5::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_1_5::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_1_5::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_1_5::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_1_5::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_1_5::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_1_5::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_1_5::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_1_5::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_1_5::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_1_5::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_1_5::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_1_5::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_1_5::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_1_5::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_1_5::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_1_5::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_1_5::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_1_5::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_1_5::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_1_5::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_1_5::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_1_5::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_1_5::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_1_5::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_1_5::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_1_5::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_1_5::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_1_5::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_1_5::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_1_5::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_1_5::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_1_5::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_1_5::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_1_5::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_1_5::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_1_5::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_1_5::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_1_5::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_1_5::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_1_5::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_1_5::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_1_5::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_1_5::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_1_5::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_1_5::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_1_5::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_1_5::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_1_5::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_1_5::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_1_5::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_1_5::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_1_5::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_1_5::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_1_5::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_1_5::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_1_5::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_1_5::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_1_5::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_1_5::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_1_5::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_1_5::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_1_5::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_1_5::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_1_5::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_1_5::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_1_5::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_1_5::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_1_5::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_1_5::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_1_5::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_1_5::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_1_5::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_1_5::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_1_5::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_1_5::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_1_5::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_1_5::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_1_5::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_1_5::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_1_5::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_1_5::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_1_5::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_1_5::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_1_5::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_1_5::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_1_5::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_1_5::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_5::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_1_5::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_5::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_1_5::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_5::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_1_5::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_1_5::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_1_5::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_1_5::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_1_5::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_1_5::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_1_5::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_1_5::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_1_5::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_1_5::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_1_5::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_1_5::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_1_5::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_1_5::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_1_5::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_1_5::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_1_5::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_1_5::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_1_5::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_1_5::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_1_5::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_1_5::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_1_5::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_1_5::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_1_5::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_1_5::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_1_5::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_1_5::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_1_5::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_1_5::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_1_5::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_1_5::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_1_5::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_1_5::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_1_5::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_1_5::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_1_5::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_1_5::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_1_5::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_1_5::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_1_5::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_1_5::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_1_5::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_1_5::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_1_5::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_1_5::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_1_5::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_1_5::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_1_5::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_1_5::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_1_5::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_1_5::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_1_5::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_1_5::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_1_5::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_1_5::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_1_5::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_1_5::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_1_5::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_1_5::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_1_5::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_1_5::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_1_5::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_1_5::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_1_5::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_1_5::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_1_5::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_1_5::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_1_5::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_1_5::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_1_5::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_1_5::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_1_5::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_1_5::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_1_5::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_1_5::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_1_5::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_1_5::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_1_5::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_1_5::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_1_5::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_1_5::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_1_5::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_1_5::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_1_5::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_5::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_5::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_5::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_1_5::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_5::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_1_5::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_1_5::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_1_5::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_5::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_1_5::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_1_5::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_1_5::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_1_5::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_1_5::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_1_5::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_1_5::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_1_5::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_1_5::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_1_5::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_1_5::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_5::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_1_5::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_1_5::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_1_5::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_1_5::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_1_5::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_1_5::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_1_5::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_1_5::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_1_5::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_1_5::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_1_5::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_1_5::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_1_5::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_1_5::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_1_5::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_1_5::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_1_5::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_1_5::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_1_5::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_1_5::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_1_5::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_1_5::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_1_5::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_1_5::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_1_5::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_1_5::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_1_5::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_1_5::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_1_5::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_1_5::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_1_5::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_1_5::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_1_5::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_1_5::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_1_5::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_1_5::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_1_5::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_1_5::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_1_5::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_1_5::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_1_5::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_1_5::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_1_5::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_1_5::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_1_5::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_1_5::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_1_5::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } diff --git a/src/gui/opengl/qopenglfunctions_2_0.h b/src/gui/opengl/qopenglfunctions_2_0.h index c46aa08a2d..81b7274a93 100644 --- a/src/gui/opengl/qopenglfunctions_2_0.h +++ b/src/gui/opengl/qopenglfunctions_2_0.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -695,2729 +696,2729 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_2_0::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_2_0::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_2_0::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_2_0::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_2_0::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_2_0::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_2_0::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_2_0::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_2_0::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_2_0::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_2_0::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_2_0::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_2_0::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_2_0::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_2_0::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_2_0::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_2_0::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_2_0::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_2_0::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_2_0::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_2_0::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_2_0::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_2_0::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_2_0::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_2_0::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_2_0::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_2_0::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_2_0::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_2_0::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_2_0::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_2_0::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_2_0::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_2_0::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_2_0::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_2_0::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_2_0::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_2_0::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_2_0::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_2_0::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_2_0::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_2_0::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_2_0::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_2_0::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_2_0::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_2_0::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_2_0::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_2_0::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_2_0::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_2_0::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_2_0::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_2_0::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_2_0::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_2_0::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_2_0::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_2_0::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_2_0::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_2_0::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_2_0::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_2_0::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_2_0::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_2_0::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_2_0::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_2_0::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_2_0::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_2_0::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_2_0::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_2_0::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_2_0::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_2_0::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_2_0::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_2_0::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_2_0::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_2_0::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_2_0::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_2_0::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_2_0::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_2_0::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_2_0::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_2_0::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_2_0::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_2_0::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_2_0::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_2_0::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_2_0::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_2_0::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_2_0::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_2_0::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_2_0::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_2_0::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_2_0::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_2_0::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_2_0::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_2_0::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_2_0::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_2_0::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_2_0::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_2_0::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_2_0::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_2_0::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_0::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_0::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_0::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_2_0::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_2_0::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_2_0::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_2_0::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_2_0::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_2_0::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_2_0::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_2_0::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_2_0::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_2_0::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_2_0::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_2_0::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_2_0::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_2_0::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_2_0::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_2_0::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_2_0::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_2_0::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_2_0::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_2_0::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_2_0::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_2_0::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_2_0::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_2_0::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_2_0::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_2_0::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_2_0::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_2_0::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_2_0::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_2_0::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_2_0::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_2_0::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_2_0::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_2_0::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_2_0::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_2_0::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_2_0::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_2_0::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_2_0::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_2_0::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_2_0::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_2_0::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_2_0::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_2_0::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_2_0::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_2_0::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_2_0::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_2_0::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_2_0::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_2_0::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_2_0::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_2_0::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_2_0::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_2_0::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_2_0::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_2_0::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_2_0::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_2_0::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_2_0::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_2_0::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_2_0::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_2_0::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_2_0::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_2_0::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_2_0::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_2_0::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_2_0::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_2_0::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_2_0::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_2_0::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_2_0::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_2_0::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_2_0::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_2_0::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_2_0::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_2_0::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_2_0::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_2_0::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_2_0::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_2_0::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_2_0::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_2_0::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_2_0::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_2_0::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_2_0::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_2_0::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_2_0::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_2_0::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_2_0::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_2_0::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_2_0::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_2_0::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_2_0::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_2_0::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_2_0::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_2_0::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_2_0::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_2_0::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_2_0::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_2_0::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_2_0::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_2_0::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_2_0::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_2_0::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_2_0::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_2_0::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_2_0::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_2_0::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_2_0::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_2_0::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_2_0::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_2_0::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_2_0::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_2_0::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_2_0::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_2_0::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_2_0::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_2_0::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_2_0::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_2_0::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_2_0::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_2_0::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_2_0::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_2_0::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_2_0::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_2_0::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_2_0::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_2_0::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_2_0::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_2_0::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_2_0::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_2_0::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_2_0::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_2_0::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_2_0::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_2_0::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_2_0::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_2_0::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_2_0::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_2_0::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_2_0::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_2_0::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_2_0::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_2_0::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_2_0::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_2_0::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_2_0::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_2_0::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_2_0::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_2_0::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_2_0::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_2_0::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_2_0::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_2_0::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_2_0::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_2_0::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_2_0::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_2_0::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_2_0::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_2_0::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_2_0::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_2_0::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_2_0::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_2_0::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_2_0::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_2_0::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_2_0::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_2_0::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_2_0::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_2_0::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_2_0::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_2_0::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_2_0::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_2_0::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_2_0::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_2_0::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_2_0::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_2_0::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_2_0::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_2_0::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_2_0::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_2_0::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_2_0::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_2_0::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_2_0::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_2_0::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_2_0::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_2_0::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_2_0::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_2_0::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_2_0::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_2_0::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_2_0::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_2_0::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_2_0::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_2_0::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_2_0::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_2_0::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_2_0::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_0::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_2_0::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_0::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_2_0::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_0::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_2_0::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_0::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_2_0::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_2_0::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_2_0::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_2_0::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_2_0::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_2_0::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_2_0::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_2_0::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_2_0::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_2_0::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_2_0::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_2_0::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_2_0::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_2_0::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_2_0::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_2_0::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_2_0::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_2_0::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_2_0::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_2_0::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_2_0::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_2_0::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_2_0::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_2_0::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_2_0::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_2_0::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_2_0::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_2_0::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_2_0::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_2_0::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_2_0::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_2_0::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_2_0::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_2_0::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_2_0::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_2_0::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_2_0::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_2_0::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_2_0::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_2_0::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_2_0::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_2_0::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_2_0::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_2_0::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_2_0::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_2_0::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_2_0::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_2_0::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_2_0::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_2_0::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_2_0::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_2_0::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_2_0::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_2_0::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_2_0::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_2_0::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_2_0::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_2_0::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_2_0::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_2_0::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_2_0::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_2_0::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_2_0::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_2_0::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_2_0::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_2_0::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_2_0::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_2_0::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_2_0::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_2_0::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_2_0::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_2_0::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_2_0::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_2_0::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_2_0::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_2_0::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_2_0::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_2_0::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_2_0::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_2_0::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_2_0::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_2_0::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_2_0::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_0::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_0::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_2_0::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_2_0::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_2_0::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_2_0::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_2_0::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_2_0::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_0::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_2_0::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_2_0::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_2_0::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_2_0::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_2_0::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_2_0::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_2_0::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_2_0::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_2_0::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_2_0::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_2_0::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_2_0::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_2_0::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_2_0::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_2_0::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_2_0::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_2_0::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_2_0::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_2_0::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_2_0::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_0::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_0::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_2_0::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_2_0::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_2_0::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_2_0::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_2_0::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_2_0::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_2_0::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_2_0::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_2_0::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_2_0::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_2_0::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_2_0::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_2_0::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_2_0::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_2_0::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_2_0::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_2_0::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_2_0::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_2_0::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_2_0::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_2_0::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_2_0::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_2_0::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_0::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_2_0::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_2_0::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_2_0::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_2_0::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_2_0::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_2_0::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_2_0::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_2_0::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_2_0::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_2_0::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_2_0::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_2_0::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_2_0::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -3426,182 +3427,182 @@ inline void QOpenGLFunctions_2_0::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_2_0::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_2_0::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_2_0::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_2_0::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_2_0::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_2_0::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_2_0::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_2_0::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_2_0::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_2_0::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_2_0::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_2_1.h b/src/gui/opengl/qopenglfunctions_2_1.h index 750c394f78..7bac5af9da 100644 --- a/src/gui/opengl/qopenglfunctions_2_1.h +++ b/src/gui/opengl/qopenglfunctions_2_1.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -706,2761 +707,2761 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_2_1::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_2_1::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_2_1::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_2_1::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_2_1::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_2_1::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_2_1::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_2_1::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_2_1::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_2_1::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_2_1::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_2_1::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_2_1::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_2_1::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_2_1::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_2_1::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_2_1::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_2_1::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_2_1::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_2_1::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_2_1::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_2_1::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_2_1::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_2_1::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_2_1::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_2_1::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_2_1::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_2_1::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_2_1::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_2_1::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_2_1::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_2_1::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_2_1::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_2_1::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_2_1::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_2_1::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_2_1::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_2_1::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_2_1::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_2_1::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_2_1::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_2_1::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_2_1::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_2_1::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_2_1::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_2_1::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_2_1::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_2_1::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_2_1::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_2_1::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_2_1::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_2_1::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_2_1::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_2_1::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_2_1::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_2_1::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_2_1::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_2_1::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_2_1::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_2_1::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_2_1::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_2_1::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_2_1::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_2_1::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_2_1::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_2_1::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_2_1::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_2_1::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_2_1::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_2_1::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_2_1::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_2_1::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_2_1::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_2_1::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_2_1::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_2_1::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_2_1::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_2_1::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_2_1::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_2_1::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_2_1::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_2_1::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_2_1::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_2_1::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_2_1::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_2_1::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_2_1::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_2_1::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_2_1::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_2_1::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_2_1::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_2_1::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_2_1::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_2_1::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_2_1::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_2_1::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_2_1::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_2_1::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_2_1::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_2_1::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_2_1::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_2_1::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_2_1::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_2_1::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_2_1::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_2_1::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_2_1::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_2_1::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_2_1::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_2_1::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_2_1::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_2_1::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_2_1::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_2_1::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_2_1::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_2_1::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_2_1::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_2_1::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_2_1::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_2_1::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_2_1::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_2_1::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_2_1::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_2_1::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_2_1::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_2_1::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_2_1::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_2_1::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_2_1::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_2_1::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_2_1::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_2_1::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_2_1::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_2_1::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_2_1::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_2_1::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_2_1::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_2_1::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_2_1::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_2_1::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_2_1::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_2_1::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_2_1::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_2_1::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_2_1::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_2_1::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_2_1::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_2_1::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_2_1::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_2_1::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_2_1::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_2_1::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_2_1::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_2_1::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_2_1::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_2_1::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_2_1::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_2_1::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_2_1::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_2_1::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_2_1::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_2_1::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_2_1::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_2_1::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_2_1::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_2_1::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_2_1::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_2_1::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_2_1::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_2_1::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_2_1::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_2_1::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_2_1::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_2_1::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_2_1::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_2_1::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_2_1::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_2_1::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_2_1::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_2_1::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_2_1::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_2_1::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_2_1::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_2_1::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_2_1::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_2_1::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_2_1::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_2_1::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_2_1::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_2_1::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_2_1::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_2_1::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_2_1::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_2_1::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_2_1::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_2_1::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_2_1::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_2_1::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_2_1::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_2_1::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_2_1::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_2_1::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_2_1::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_2_1::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_2_1::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_2_1::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_2_1::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_2_1::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_2_1::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_2_1::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_2_1::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_2_1::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_2_1::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_2_1::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_2_1::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_2_1::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_2_1::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_2_1::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_2_1::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_2_1::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_2_1::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_2_1::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_2_1::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_2_1::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_2_1::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_2_1::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_2_1::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_2_1::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_2_1::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_2_1::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_2_1::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_2_1::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_2_1::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_2_1::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_2_1::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_2_1::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_2_1::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_2_1::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_2_1::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_2_1::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_2_1::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_2_1::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_2_1::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_2_1::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_2_1::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_2_1::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_2_1::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_2_1::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_2_1::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_2_1::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_2_1::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_2_1::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_2_1::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_2_1::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_2_1::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_2_1::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_2_1::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_2_1::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_2_1::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_2_1::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_2_1::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_2_1::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_2_1::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_2_1::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_2_1::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_2_1::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_2_1::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_2_1::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_2_1::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_2_1::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_2_1::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_2_1::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_2_1::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_2_1::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_2_1::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_2_1::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_2_1::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_2_1::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_2_1::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_2_1::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_2_1::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_2_1::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_2_1::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_2_1::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_2_1::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_2_1::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_2_1::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_2_1::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_2_1::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_2_1::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_2_1::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_2_1::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_2_1::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_2_1::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_2_1::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_2_1::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_2_1::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_2_1::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_2_1::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_2_1::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_1::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_2_1::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_1::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_2_1::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_1::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_2_1::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_2_1::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_2_1::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_2_1::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_2_1::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_2_1::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_2_1::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_2_1::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_2_1::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_2_1::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_2_1::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_2_1::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_2_1::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_2_1::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_2_1::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_2_1::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_2_1::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_2_1::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_2_1::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_2_1::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_2_1::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_2_1::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_2_1::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_2_1::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_2_1::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_2_1::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_2_1::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_2_1::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_2_1::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_2_1::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_2_1::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_2_1::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_2_1::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_2_1::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_2_1::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_2_1::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_2_1::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_2_1::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_2_1::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_2_1::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_2_1::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_2_1::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_2_1::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_2_1::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_2_1::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_2_1::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_2_1::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_2_1::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_2_1::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_2_1::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_2_1::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_2_1::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_2_1::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_2_1::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_2_1::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_2_1::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_2_1::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_2_1::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_2_1::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_2_1::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_2_1::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_2_1::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_2_1::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_2_1::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_2_1::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_2_1::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_2_1::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_2_1::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_2_1::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_2_1::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_2_1::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_2_1::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_2_1::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_2_1::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_2_1::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_2_1::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_2_1::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_2_1::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_2_1::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_2_1::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_2_1::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_2_1::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_2_1::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_2_1::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_2_1::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_1::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_1::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_2_1::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_2_1::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_2_1::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_2_1::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_2_1::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_2_1::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_1::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_2_1::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_2_1::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_2_1::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_2_1::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_2_1::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_2_1::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_2_1::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_2_1::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_2_1::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_2_1::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_2_1::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_2_1::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_2_1::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_2_1::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_2_1::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_2_1::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_2_1::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_2_1::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_2_1::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_2_1::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_2_1::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_2_1::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_2_1::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_2_1::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_2_1::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_2_1::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_2_1::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_2_1::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_2_1::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_2_1::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_2_1::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_2_1::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_2_1::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_2_1::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_2_1::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_2_1::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_2_1::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_2_1::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_2_1::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_2_1::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_2_1::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_2_1::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_2_1::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_2_1::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_2_1::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_2_1::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_2_1::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_2_1::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_2_1::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_2_1::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_2_1::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_2_1::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_2_1::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_2_1::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_2_1::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_2_1::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_2_1::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_2_1::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_2_1::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -3469,182 +3470,182 @@ inline void QOpenGLFunctions_2_1::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_2_1::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_2_1::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_2_1::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_2_1::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_2_1::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_2_1::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_2_1::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_2_1::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_2_1::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_2_1::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_2_1::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_3_0.h b/src/gui/opengl/qopenglfunctions_3_0.h index 9aa3c8aed5..da8d5ec5ff 100644 --- a/src/gui/opengl/qopenglfunctions_3_0.h +++ b/src/gui/opengl/qopenglfunctions_3_0.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -796,3083 +797,3083 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_3_0::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_3_0::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_3_0::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_3_0::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_3_0::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_3_0::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_3_0::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_3_0::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_3_0::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_3_0::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_3_0::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_0::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_3_0::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_3_0::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_3_0::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_3_0::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_3_0::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_3_0::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_3_0::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_3_0::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_3_0::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_3_0::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_3_0::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_3_0::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_3_0::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_3_0::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_3_0::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_3_0::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_3_0::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_3_0::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_3_0::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_3_0::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_3_0::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_3_0::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_3_0::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_3_0::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_3_0::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_3_0::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_3_0::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_3_0::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_3_0::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_3_0::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_3_0::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_3_0::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_3_0::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_3_0::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_3_0::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_0::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_3_0::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_3_0::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_3_0::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_3_0::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_3_0::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_3_0::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_3_0::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_3_0::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_3_0::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_3_0::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_3_0::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_3_0::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_3_0::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_3_0::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_3_0::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_3_0::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_3_0::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_3_0::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_3_0::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_3_0::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_3_0::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_3_0::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_3_0::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_3_0::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_3_0::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_3_0::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_3_0::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_3_0::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_3_0::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_3_0::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_3_0::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_3_0::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_3_0::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_3_0::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_0::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_0::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_3_0::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_3_0::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_3_0::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_3_0::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_3_0::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_3_0::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_3_0::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_3_0::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_3_0::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_3_0::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_3_0::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_3_0::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_3_0::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_3_0::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_3_0::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_0::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_3_0::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_3_0::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_3_0::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_0::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_3_0::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_3_0::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_3_0::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_3_0::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_3_0::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_3_0::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_3_0::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_3_0::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_3_0::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_3_0::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_3_0::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_3_0::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_3_0::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_3_0::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_3_0::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_3_0::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_0::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_3_0::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_0::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_3_0::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_3_0::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_3_0::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_0::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_0::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_3_0::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_3_0::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_3_0::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_3_0::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_3_0::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_3_0::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_3_0::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_3_0::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_3_0::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_3_0::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_3_0::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_3_0::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_3_0::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_3_0::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_3_0::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_0::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_3_0::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_3_0::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_0::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_0::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_3_0::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_3_0::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_3_0::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_3_0::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_3_0::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_3_0::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_3_0::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_3_0::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_3_0::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_3_0::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_3_0::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_3_0::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_3_0::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_0::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_0::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_3_0::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_3_0::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_3_0::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_0::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_0::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_3_0::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_3_0::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_3_0::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_3_0::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_0::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_0::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_0::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_0::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_0::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_0::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_3_0::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_0::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_3_0::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_3_0::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_3_0::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_3_0::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_3_0::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_3_0::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_3_0::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_3_0::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_3_0::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_3_0::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_3_0::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_3_0::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_0::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_3_0::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_3_0::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_3_0::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_3_0::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_3_0::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_3_0::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_3_0::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_3_0::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_3_0::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_3_0::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_3_0::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_3_0::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_3_0::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_3_0::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_3_0::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_3_0::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_3_0::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_3_0::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_3_0::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_3_0::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_3_0::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_3_0::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_3_0::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_3_0::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_3_0::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_3_0::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_3_0::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_3_0::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_3_0::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_3_0::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_3_0::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_3_0::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_3_0::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_3_0::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_3_0::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_3_0::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_3_0::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_3_0::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_3_0::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_3_0::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_3_0::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_3_0::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_3_0::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_3_0::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_3_0::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_3_0::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_3_0::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_3_0::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_3_0::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_3_0::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_3_0::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_3_0::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_3_0::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_3_0::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_3_0::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_3_0::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_3_0::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_3_0::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_3_0::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_3_0::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_3_0::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_3_0::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_3_0::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_3_0::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_3_0::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_3_0::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_3_0::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_3_0::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_3_0::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_3_0::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_3_0::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_3_0::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_3_0::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_3_0::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_3_0::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_3_0::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_3_0::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_3_0::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_3_0::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_3_0::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_3_0::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_3_0::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_3_0::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_3_0::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_3_0::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_3_0::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_3_0::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_3_0::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_3_0::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_3_0::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_3_0::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_3_0::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_3_0::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_3_0::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_3_0::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_3_0::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_3_0::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_3_0::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_3_0::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_3_0::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_3_0::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_3_0::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_3_0::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_3_0::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_3_0::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_3_0::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_3_0::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_3_0::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_3_0::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_3_0::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_3_0::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_3_0::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_3_0::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_3_0::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_3_0::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_3_0::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_3_0::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_3_0::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_3_0::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_3_0::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_3_0::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_3_0::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_3_0::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_3_0::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_3_0::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_3_0::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_3_0::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_3_0::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_3_0::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_3_0::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_3_0::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_3_0::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_3_0::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_3_0::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_3_0::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_3_0::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_3_0::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_3_0::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_3_0::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_3_0::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_3_0::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_3_0::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_3_0::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_3_0::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_3_0::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_3_0::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_3_0::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_3_0::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_3_0::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_3_0::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_3_0::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_3_0::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_3_0::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_3_0::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_3_0::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_3_0::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_3_0::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_3_0::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_3_0::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_3_0::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_3_0::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_3_0::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_3_0::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_3_0::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_3_0::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_0::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_3_0::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_0::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_3_0::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_0::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_3_0::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_0::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_3_0::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_3_0::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_3_0::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_3_0::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_3_0::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_3_0::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_3_0::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_3_0::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_3_0::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_3_0::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_3_0::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_3_0::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_3_0::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_3_0::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_3_0::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_3_0::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_3_0::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_3_0::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_3_0::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_3_0::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_3_0::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_3_0::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_3_0::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_3_0::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_3_0::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_3_0::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_3_0::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_3_0::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_3_0::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_3_0::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_3_0::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_3_0::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_3_0::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_3_0::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_3_0::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_3_0::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_3_0::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_3_0::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_3_0::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_3_0::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_3_0::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_3_0::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_3_0::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_3_0::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_3_0::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_3_0::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_3_0::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_3_0::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_3_0::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_3_0::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_3_0::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_3_0::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_3_0::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_3_0::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_3_0::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_3_0::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_3_0::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_3_0::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_3_0::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_3_0::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_3_0::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_3_0::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_3_0::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_3_0::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_3_0::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_3_0::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_3_0::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_3_0::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_3_0::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_3_0::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_3_0::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_3_0::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_3_0::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_3_0::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_3_0::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_3_0::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_3_0::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_3_0::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_3_0::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_3_0::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_3_0::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_3_0::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_3_0::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_0::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_0::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_0::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_3_0::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_0::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_3_0::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_3_0::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_3_0::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_0::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_3_0::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_3_0::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_3_0::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_3_0::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_3_0::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_3_0::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_3_0::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_3_0::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_3_0::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_3_0::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_3_0::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_3_0::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_3_0::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_3_0::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_3_0::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_3_0::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_3_0::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_3_0::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_3_0::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_3_0::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_0::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_0::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_3_0::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_3_0::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_3_0::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_3_0::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_3_0::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_3_0::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_3_0::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_3_0::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_3_0::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_3_0::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_3_0::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_3_0::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_3_0::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_3_0::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_3_0::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_3_0::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_3_0::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_3_0::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_3_0::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_3_0::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_3_0::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_3_0::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_3_0::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_0::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_3_0::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_3_0::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_3_0::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_3_0::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_3_0::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_3_0::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_3_0::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_3_0::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_3_0::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_0::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_3_0::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_3_0::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_3_0::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -3881,182 +3882,182 @@ inline void QOpenGLFunctions_3_0::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_3_0::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_3_0::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_3_0::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_3_0::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_3_0::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_3_0::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_3_0::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_3_0::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_3_0::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } @@ -4065,102 +4066,102 @@ inline void QOpenGLFunctions_3_0::glVertexAttrib1d(GLuint index, GLdouble x) // OpenGL 3.0 deprecated functions inline void QOpenGLFunctions_3_0::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_3_0::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_3_0::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_3_0::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_3_0::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_3_0::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_3_0::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_3_0::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_3_1.h b/src/gui/opengl/qopenglfunctions_3_1.h index fac9b870eb..d5957381e9 100644 --- a/src/gui/opengl/qopenglfunctions_3_1.h +++ b/src/gui/opengl/qopenglfunctions_3_1.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -351,242 +352,242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_3_1::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_3_1::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_3_1::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_3_1::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_3_1::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_3_1::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_1::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_1::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_3_1::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_3_1::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_3_1::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_3_1::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_3_1::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_3_1::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_3_1::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_1::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_3_1::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_3_1::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_3_1::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_3_1::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_3_1::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_3_1::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_3_1::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_3_1::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_3_1::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_3_1::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_3_1::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_3_1::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_3_1::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_3_1::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_3_1::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_3_1::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_3_1::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_3_1::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_3_1::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_3_1::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_3_1::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_3_1::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_1::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_3_1::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_1::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_3_1::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_3_1::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_3_1::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_3_1::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_3_1::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_3_1::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_3_1::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } @@ -605,57 +606,57 @@ inline void QOpenGLFunctions_3_1::glIndexub(GLubyte c) inline GLboolean QOpenGLFunctions_3_1::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_3_1::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_3_1::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_3_1::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_3_1::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_1::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_3_1::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_3_1::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_3_1::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_3_1::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_3_1::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_3_1::glGetPointerv(GLenum pname, GLvoid* *params) @@ -667,928 +668,928 @@ inline void QOpenGLFunctions_3_1::glGetPointerv(GLenum pname, GLvoid* *params) inline void QOpenGLFunctions_3_1::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_3_1::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_3_1::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_3_1::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_3_1::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_3_1::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_3_1::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_3_1::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_3_1::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_3_1::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_3_1::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_3_1::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_3_1::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_3_1::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_3_1::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_3_1::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_3_1::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_3_1::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_3_1::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_3_1::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_3_1::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_3_1::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_3_1::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_3_1::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_3_1::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_3_1::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_3_1::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_3_1::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_3_1::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_1::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_1::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_3_1::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_3_1::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_3_1::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_3_1::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_3_1::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_3_1::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_3_1::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_3_1::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_3_1::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_3_1::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_3_1::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_3_1::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_3_1::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_3_1::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_3_1::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_1::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_3_1::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_3_1::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_3_1::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_1::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_3_1::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_3_1::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_3_1::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_3_1::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_3_1::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_3_1::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_3_1::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_3_1::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_3_1::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_3_1::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_3_1::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_3_1::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_3_1::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_3_1::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_3_1::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_3_1::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_1::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_3_1::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_1::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_3_1::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_3_1::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_3_1::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_1::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_1::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_3_1::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_3_1::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_3_1::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_3_1::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_3_1::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_3_1::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_3_1::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_3_1::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_3_1::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_3_1::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_3_1::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_3_1::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_3_1::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_3_1::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_3_1::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_1::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_3_1::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_3_1::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_1::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_1::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_3_1::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_3_1::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_3_1::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_3_1::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_3_1::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_3_1::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_3_1::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_3_1::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_3_1::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_3_1::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_3_1::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_3_1::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_3_1::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_1::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_1::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_3_1::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_3_1::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_1::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_3_1::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_1::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_1::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_3_1::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_3_1::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_3_1::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_3_1::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_1::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_1::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_1::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_1::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_1::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_1::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_1::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_3_1::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_1::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_3_1::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_3_1::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_3_1::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_3_1::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_3_1::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_3_1::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_3_1::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_3_1::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_3_1::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_3_1::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_3_1::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_3_1::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_1::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_3_1::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_3_1::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_3_1::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_3_1::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_3_1::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_3_1::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_3_1::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_3_1::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_3_1::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_3_1::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_3_1::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_3_1::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_3_1::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_3_1::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_3_1::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_3_1::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_3_1::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_3_1::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_3_1::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_3_1::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_3_1::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_3_1::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } diff --git a/src/gui/opengl/qopenglfunctions_3_2_compatibility.h b/src/gui/opengl/qopenglfunctions_3_2_compatibility.h index 8d9216ac04..44fa6759e5 100644 --- a/src/gui/opengl/qopenglfunctions_3_2_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_3_2_compatibility.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -837,3242 +838,3242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_3_2_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_3_2_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_3_2_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_3_2_Compatibility::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_3_2_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_3_2_Compatibility::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_3_2_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_3_2_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_3_2_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_3_2_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_3_2_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_3_2_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_3_2_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_3_2_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_3_2_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_3_2_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_3_2_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_3_2_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_3_2_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_3_2_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_3_2_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_3_2_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_3_2_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_3_2_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_3_2_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_3_2_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_3_2_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_3_2_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_3_2_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_3_2_Compatibility::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_3_2_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_3_2_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_3_2_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_3_2_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_3_2_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_3_2_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_3_2_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_3_2_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_3_2_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_3_2_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_3_2_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_3_2_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_3_2_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_3_2_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_3_2_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_3_2_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_3_2_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_2_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_2_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_3_2_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_3_2_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_3_2_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_3_2_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_3_2_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_3_2_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_3_2_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_3_2_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_3_2_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_3_2_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_3_2_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_3_2_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_2_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_2_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_3_2_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_3_2_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_3_2_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_2_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_2_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_3_2_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_3_2_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_3_2_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_3_2_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_3_2_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_3_2_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_3_2_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_3_2_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_3_2_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_3_2_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_3_2_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_3_2_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_2_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_3_2_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_3_2_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_3_2_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_3_2_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_3_2_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_3_2_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_3_2_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_3_2_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_3_2_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_3_2_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_3_2_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_3_2_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_2_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_3_2_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_3_2_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_2_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_3_2_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_3_2_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_3_2_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_2_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_2_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_3_2_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_3_2_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_3_2_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_3_2_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_3_2_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_3_2_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_2_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_3_2_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_3_2_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_3_2_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_3_2_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_3_2_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_3_2_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_3_2_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_3_2_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_3_2_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_3_2_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_3_2_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_3_2_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_3_2_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_3_2_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_3_2_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_3_2_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_3_2_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_3_2_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_3_2_Compatibility::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_3_2_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_3_2_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_3_2_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_3_2_Compatibility::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_3_2_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_3_2_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_3_2_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_2_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_3_2_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_3_2_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_3_2_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_3_2_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_3_2_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_3_2_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_3_2_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_3_2_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_3_2_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_3_2_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_3_2_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_3_2_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_3_2_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_3_2_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_3_2_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_3_2_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_3_2_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_3_2_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_3_2_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_3_2_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_3_2_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_3_2_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_3_2_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_3_2_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_3_2_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_3_2_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_3_2_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_3_2_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_3_2_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_3_2_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_3_2_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_3_2_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_3_2_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_3_2_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_3_2_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_3_2_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_3_2_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_3_2_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_3_2_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_3_2_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_2_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_2_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_2_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_3_2_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_3_2_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_3_2_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_3_2_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_3_2_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_3_2_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_3_2_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_3_2_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_3_2_Compatibility::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_3_2_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_3_2_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_3_2_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_3_2_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_3_2_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_3_2_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_3_2_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_3_2_Compatibility::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_3_2_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_3_2_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_3_2_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_3_2_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_3_2_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_3_2_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_3_2_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_3_2_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_3_2_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_3_2_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_3_2_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_3_2_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_3_2_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_3_2_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_3_2_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_3_2_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_3_2_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_3_2_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_3_2_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_3_2_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_3_2_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_3_2_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_3_2_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_2_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_3_2_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_3_2_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_3_2_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -4081,182 +4082,182 @@ inline void QOpenGLFunctions_3_2_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } @@ -4265,102 +4266,102 @@ inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttrib1d(GLuint index, G // OpenGL 3.0 deprecated functions inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_3_2_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_3_2_core.h b/src/gui/opengl/qopenglfunctions_3_2_core.h index e899d75ab5..36f959c04b 100644 --- a/src/gui/opengl/qopenglfunctions_3_2_core.h +++ b/src/gui/opengl/qopenglfunctions_3_2_core.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -373,242 +374,242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_3_2_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_3_2_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_3_2_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_3_2_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_3_2_Core::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_3_2_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_3_2_Core::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_3_2_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_2_Core::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_3_2_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_3_2_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_3_2_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_3_2_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_3_2_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_3_2_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_3_2_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_3_2_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_3_2_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_3_2_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_3_2_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_3_2_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_3_2_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_3_2_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_3_2_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_3_2_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_3_2_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_3_2_Core::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_3_2_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_3_2_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_3_2_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_3_2_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_3_2_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_3_2_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_3_2_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_3_2_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_3_2_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_3_2_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_3_2_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } @@ -627,57 +628,57 @@ inline void QOpenGLFunctions_3_2_Core::glIndexub(GLubyte c) inline GLboolean QOpenGLFunctions_3_2_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_3_2_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_3_2_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_3_2_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_3_2_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_2_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_3_2_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_3_2_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_3_2_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_3_2_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_3_2_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_3_2_Core::glGetPointerv(GLenum pname, GLvoid* *params) @@ -689,1025 +690,1025 @@ inline void QOpenGLFunctions_3_2_Core::glGetPointerv(GLenum pname, GLvoid* *para inline void QOpenGLFunctions_3_2_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_3_2_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_3_2_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_3_2_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_3_2_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_3_2_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_3_2_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_3_2_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_3_2_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_3_2_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_3_2_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_3_2_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_3_2_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_3_2_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_3_2_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_3_2_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_3_2_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_3_2_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_3_2_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_3_2_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_3_2_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_3_2_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_3_2_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_3_2_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_3_2_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_3_2_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_3_2_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_3_2_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_2_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_2_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_3_2_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_3_2_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_3_2_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_3_2_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_3_2_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_3_2_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_3_2_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_3_2_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_3_2_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_2_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_3_2_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_3_2_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_3_2_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_2_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_3_2_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_3_2_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_3_2_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_3_2_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_3_2_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_3_2_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_3_2_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_3_2_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_3_2_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_2_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_2_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_3_2_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_3_2_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_3_2_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_2_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_2_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_3_2_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_3_2_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_3_2_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_3_2_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_3_2_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_3_2_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_3_2_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_3_2_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_3_2_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_3_2_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_3_2_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_3_2_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_3_2_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_3_2_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_3_2_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_2_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_3_2_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_3_2_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_2_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_2_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_3_2_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_3_2_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_3_2_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_3_2_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_3_2_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_3_2_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_3_2_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_3_2_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_3_2_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_3_2_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_2_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_2_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_3_2_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_3_2_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_2_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_2_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_3_2_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_3_2_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_3_2_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_2_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_2_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_2_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_3_2_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_2_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_3_2_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_3_2_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_3_2_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_3_2_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_3_2_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_3_2_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_3_2_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_3_2_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_3_2_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_3_2_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_2_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_3_2_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_3_2_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_3_2_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_3_2_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_3_2_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_3_2_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_3_2_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_3_2_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_3_2_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_3_2_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_3_2_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_3_2_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_3_2_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_3_2_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_3_2_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_3_2_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_3_2_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_3_2_Core::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_3_2_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_3_2_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_3_2_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_3_2_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_3_2_Core::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_3_2_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_3_2_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_3_2_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_3_2_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_3_2_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_3_2_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_3_2_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_3_2_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_3_2_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_2_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_2_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_3_2_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_3_2_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } diff --git a/src/gui/opengl/qopenglfunctions_3_3_compatibility.h b/src/gui/opengl/qopenglfunctions_3_3_compatibility.h index 8cad5f8af3..126cc16858 100644 --- a/src/gui/opengl/qopenglfunctions_3_3_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_3_3_compatibility.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -900,3534 +901,3534 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_3_3_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_3_3_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_3_3_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_3_3_Compatibility::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_3_3_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_3_3_Compatibility::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_3_3_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_3_3_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_3_3_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_3_3_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_3_3_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_3_3_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_3_3_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_3_3_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_3_3_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_3_3_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_3_3_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_3_3_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_3_3_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_3_3_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_3_3_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_3_3_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_3_3_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_3_3_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_3_3_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_3_3_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_3_3_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_3_3_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_3_3_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_3_3_Compatibility::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_3_3_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_3_3_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_3_3_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_3_3_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_3_3_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_3_3_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_3_3_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_3_3_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_3_3_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_3_3_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_3_3_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_3_3_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_3_3_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_3_3_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_3_3_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_3_3_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_3_3_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_3_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_3_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_3_3_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_3_3_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_3_3_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_3_3_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_3_3_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_3_3_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_3_3_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_3_3_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_3_3_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_3_3_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_3_3_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_3_3_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_3_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_3_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_3_3_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_3_3_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_3_3_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_3_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_3_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_3_3_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_3_3_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_3_3_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_3_3_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_3_3_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_3_3_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_3_3_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_3_3_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_3_3_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_3_3_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_3_3_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_3_3_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_3_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_3_3_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_3_3_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_3_3_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_3_3_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_3_3_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_3_3_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_3_3_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_3_3_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_3_3_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_3_3_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_3_3_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_3_3_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_3_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_3_3_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_3_3_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_3_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_3_3_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_3_3_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_3_3_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_3_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_3_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_3_3_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_3_3_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_3_3_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_3_3_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_3_3_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_3_3_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_3_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_3_3_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_3_3_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_3_3_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_3_3_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_3_3_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_3_3_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_3_3_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_3_3_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_3_3_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_3_3_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_3_3_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_3_3_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_3_3_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_3_3_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_3_3_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_3_3_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_3_3_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_3_3_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_3_3_Compatibility::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_3_3_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_3_3_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_3_3_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_3_3_Compatibility::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_3_3_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_3_3_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_3_3_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_3_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_3_3_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->SecondaryColorP3uiv(type, color); + d_3_3_Deprecated->f.SecondaryColorP3uiv(type, color); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->SecondaryColorP3ui(type, color); + d_3_3_Deprecated->f.SecondaryColorP3ui(type, color); } inline void QOpenGLFunctions_3_3_Compatibility::glColorP4uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP4uiv(type, color); + d_3_3_Deprecated->f.ColorP4uiv(type, color); } inline void QOpenGLFunctions_3_3_Compatibility::glColorP4ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP4ui(type, color); + d_3_3_Deprecated->f.ColorP4ui(type, color); } inline void QOpenGLFunctions_3_3_Compatibility::glColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP3uiv(type, color); + d_3_3_Deprecated->f.ColorP3uiv(type, color); } inline void QOpenGLFunctions_3_3_Compatibility::glColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP3ui(type, color); + d_3_3_Deprecated->f.ColorP3ui(type, color); } inline void QOpenGLFunctions_3_3_Compatibility::glNormalP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->NormalP3uiv(type, coords); + d_3_3_Deprecated->f.NormalP3uiv(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glNormalP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->NormalP3ui(type, coords); + d_3_3_Deprecated->f.NormalP3ui(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP4uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4uiv(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP4ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4ui(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP3uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3uiv(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP3ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3ui(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP2uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2uiv(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP2ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2ui(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP1uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1uiv(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP1ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1ui(texture, type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP4uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP4uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP4uiv(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP4ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP4ui(type, coords); + d_3_3_Deprecated->f.TexCoordP4ui(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP3uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP3uiv(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP3ui(type, coords); + d_3_3_Deprecated->f.TexCoordP3ui(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP2uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP2uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP2uiv(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP2ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP2ui(type, coords); + d_3_3_Deprecated->f.TexCoordP2ui(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP1uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP1uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP1uiv(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordP1ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP1ui(type, coords); + d_3_3_Deprecated->f.TexCoordP1ui(type, coords); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexP4uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP4uiv(type, value); + d_3_3_Deprecated->f.VertexP4uiv(type, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexP4ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP4ui(type, value); + d_3_3_Deprecated->f.VertexP4ui(type, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexP3uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP3uiv(type, value); + d_3_3_Deprecated->f.VertexP3uiv(type, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexP3ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP3ui(type, value); + d_3_3_Deprecated->f.VertexP3ui(type, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexP2uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP2uiv(type, value); + d_3_3_Deprecated->f.VertexP2uiv(type, value); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexP2ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP2ui(type, value); + d_3_3_Deprecated->f.VertexP2ui(type, value); } inline void QOpenGLFunctions_3_3_Compatibility::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_3_3_Compatibility::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_3_3_Compatibility::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_3_3_Compatibility::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_3_3_Compatibility::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_3_3_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_3_3_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_3_3_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_3_3_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_3_3_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_3_3_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_3_3_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_3_3_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_3_3_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_3_3_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_3_3_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_3_3_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_3_3_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_3_3_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_3_3_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_3_3_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_3_3_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_3_3_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_3_3_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_3_3_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_3_3_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_3_3_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_3_3_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_3_3_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_3_3_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_3_3_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_3_3_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_3_3_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_3_3_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_3_3_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_3_3_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_3_3_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_3_3_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_3_3_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_3_3_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_3_3_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_3_3_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_3_3_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_3_3_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_3_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_3_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_3_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_3_3_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_3_3_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_3_3_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_3_3_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_3_3_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_3_3_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_3_3_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_3_3_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_3_3_Compatibility::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_3_3_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_3_3_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_3_3_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_3_3_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_3_3_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_3_3_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_3_3_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_3_3_Compatibility::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_3_3_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_3_3_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_3_3_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_3_3_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_3_3_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_3_3_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_3_3_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_3_3_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_3_3_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_3_3_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_3_3_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_3_3_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_3_3_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_3_3_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_3_3_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_3_3_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_3_3_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_3_3_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_3_3_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_3_3_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_3_3_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_3_3_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_3_3_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_3_3_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_3_3_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_3_3_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_3_3_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -4436,182 +4437,182 @@ inline void QOpenGLFunctions_3_3_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } @@ -4620,102 +4621,102 @@ inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttrib1d(GLuint index, G // OpenGL 3.0 deprecated functions inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_3_3_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_3_3_core.h b/src/gui/opengl/qopenglfunctions_3_3_core.h index 7bcbefada7..15a62802ab 100644 --- a/src/gui/opengl/qopenglfunctions_3_3_core.h +++ b/src/gui/opengl/qopenglfunctions_3_3_core.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -434,242 +435,242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_3_3_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_3_3_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_3_3_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_3_3_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_3_3_Core::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_3_3_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_3_3_Core::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_3_3_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_3_Core::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_3_3_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_3_3_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_3_3_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_3_3_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_3_3_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_3_3_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_3_3_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_3_3_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_3_3_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_3_3_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_3_3_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_3_3_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_3_3_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_3_3_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_3_3_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_3_3_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_3_3_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_3_3_Core::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_3_3_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_3_3_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_3_3_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_3_3_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_3_3_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_3_3_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_3_3_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_3_3_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_3_3_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_3_3_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_3_3_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } @@ -688,57 +689,57 @@ inline void QOpenGLFunctions_3_3_Core::glIndexub(GLubyte c) inline GLboolean QOpenGLFunctions_3_3_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_3_3_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_3_3_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_3_3_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_3_3_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_3_3_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_3_3_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_3_3_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_3_3_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_3_3_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_3_3_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_3_3_Core::glGetPointerv(GLenum pname, GLvoid* *params) @@ -750,1067 +751,1067 @@ inline void QOpenGLFunctions_3_3_Core::glGetPointerv(GLenum pname, GLvoid* *para inline void QOpenGLFunctions_3_3_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_3_3_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_3_3_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_3_3_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_3_3_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_3_3_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_3_3_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_3_3_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_3_3_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_3_3_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_3_3_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_3_3_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_3_3_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_3_3_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_3_3_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_3_3_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_3_3_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_3_3_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_3_3_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_3_3_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_3_3_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_3_3_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_3_3_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_3_3_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_3_3_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_3_3_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_3_3_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_3_3_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_3_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_3_3_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_3_3_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_3_3_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_3_3_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_3_3_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_3_3_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_3_3_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_3_3_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_3_3_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_3_3_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_3_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_3_3_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_3_3_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_3_3_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_3_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_3_3_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_3_3_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_3_3_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_3_3_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_3_3_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_3_3_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_3_3_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_3_3_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_3_3_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_3_3_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_3_3_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_3_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_3_3_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_3_3_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_3_3_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_3_3_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_3_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_3_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_3_3_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_3_3_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_3_3_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_3_3_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_3_3_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_3_3_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_3_3_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_3_3_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_3_3_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_3_3_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_3_3_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_3_3_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_3_3_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_3_3_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_3_3_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_3_3_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_3_3_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_3_3_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_3_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_3_3_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_3_3_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_3_3_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_3_3_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_3_3_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_3_3_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_3_3_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_3_3_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_3_3_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_3_3_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_3_3_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_3_3_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_3_3_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_3_3_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_3_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_3_3_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_3_3_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_3_3_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_3_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_3_3_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_3_3_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_3_3_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_3_3_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_3_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_3_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_3_3_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_3_3_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_3_3_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_3_3_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_3_3_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_3_3_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_3_3_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_3_3_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_3_3_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_3_3_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_3_3_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_3_3_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_3_3_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_3_3_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_3_3_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_3_3_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_3_3_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_3_3_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_3_3_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_3_3_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_3_3_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_3_3_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_3_3_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_3_3_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_3_3_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_3_3_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_3_3_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_3_3_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_3_3_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_3_3_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_3_3_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_3_3_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_3_3_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_3_3_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_3_3_Core::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_3_3_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_3_3_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_3_3_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_3_3_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_3_3_Core::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_3_3_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_3_3_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_3_3_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_3_3_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_3_3_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_3_3_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_3_3_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_3_3_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_3_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_3_3_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_3_3_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_3_3_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_3_3_Core::glSecondaryColorP3uiv(GLenum type, const GLuint *color) @@ -2033,102 +2034,102 @@ inline void QOpenGLFunctions_3_3_Core::glVertexP2ui(GLenum type, GLuint value) inline void QOpenGLFunctions_3_3_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_3_3_Core::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_3_3_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_3_3_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_3_3_Core::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_3_3_Core::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_3_3_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_3_3_Core::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_3_3_Core::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_3_3_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_3_3_Core::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } diff --git a/src/gui/opengl/qopenglfunctions_4_0_compatibility.h b/src/gui/opengl/qopenglfunctions_4_0_compatibility.h index eb8c556177..9ca6eb8a36 100644 --- a/src/gui/opengl/qopenglfunctions_4_0_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_4_0_compatibility.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -951,3766 +952,3766 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_0_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_0_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_0_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_0_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_0_Compatibility::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_0_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_0_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_0_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_0_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_0_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_0_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_0_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_0_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_0_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_0_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_0_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_0_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_0_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_0_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_0_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_0_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_0_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_4_0_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_0_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_0_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_0_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_0_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_0_Compatibility::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_0_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_0_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_0_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_0_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_0_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_0_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_0_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_0_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_0_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_0_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_0_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_0_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_0_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_0_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_0_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_0_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_0_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_0_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_0_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_0_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_0_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_0_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_0_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_0_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_0_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_0_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_0_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_0_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_0_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_0_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_0_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_0_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_0_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_0_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_0_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_0_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_0_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_0_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_0_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_0_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_0_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_0_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_0_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_0_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_0_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_0_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_0_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_0_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_0_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_0_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_0_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_0_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_0_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_0_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_0_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_0_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_0_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_0_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_0_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_0_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_0_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_0_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_0_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_0_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_0_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_0_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_0_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_0_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_0_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_0_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_0_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_0_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_0_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_0_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_0_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_0_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_0_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_0_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_0_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_0_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_0_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_0_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_0_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_0_Compatibility::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_0_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_0_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_0_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_0_Compatibility::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_0_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_0_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_0_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_0_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_0_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->SecondaryColorP3uiv(type, color); + d_3_3_Deprecated->f.SecondaryColorP3uiv(type, color); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->SecondaryColorP3ui(type, color); + d_3_3_Deprecated->f.SecondaryColorP3ui(type, color); } inline void QOpenGLFunctions_4_0_Compatibility::glColorP4uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP4uiv(type, color); + d_3_3_Deprecated->f.ColorP4uiv(type, color); } inline void QOpenGLFunctions_4_0_Compatibility::glColorP4ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP4ui(type, color); + d_3_3_Deprecated->f.ColorP4ui(type, color); } inline void QOpenGLFunctions_4_0_Compatibility::glColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP3uiv(type, color); + d_3_3_Deprecated->f.ColorP3uiv(type, color); } inline void QOpenGLFunctions_4_0_Compatibility::glColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP3ui(type, color); + d_3_3_Deprecated->f.ColorP3ui(type, color); } inline void QOpenGLFunctions_4_0_Compatibility::glNormalP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->NormalP3uiv(type, coords); + d_3_3_Deprecated->f.NormalP3uiv(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glNormalP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->NormalP3ui(type, coords); + d_3_3_Deprecated->f.NormalP3ui(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP4uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4uiv(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP4ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4ui(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP3uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3uiv(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP3ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3ui(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP2uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2uiv(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP2ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2ui(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP1uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1uiv(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP1ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1ui(texture, type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP4uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP4uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP4uiv(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP4ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP4ui(type, coords); + d_3_3_Deprecated->f.TexCoordP4ui(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP3uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP3uiv(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP3ui(type, coords); + d_3_3_Deprecated->f.TexCoordP3ui(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP2uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP2uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP2uiv(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP2ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP2ui(type, coords); + d_3_3_Deprecated->f.TexCoordP2ui(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP1uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP1uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP1uiv(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordP1ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP1ui(type, coords); + d_3_3_Deprecated->f.TexCoordP1ui(type, coords); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexP4uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP4uiv(type, value); + d_3_3_Deprecated->f.VertexP4uiv(type, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexP4ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP4ui(type, value); + d_3_3_Deprecated->f.VertexP4ui(type, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexP3uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP3uiv(type, value); + d_3_3_Deprecated->f.VertexP3uiv(type, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexP3ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP3ui(type, value); + d_3_3_Deprecated->f.VertexP3ui(type, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexP2uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP2uiv(type, value); + d_3_3_Deprecated->f.VertexP2uiv(type, value); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexP2ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP2ui(type, value); + d_3_3_Deprecated->f.VertexP2ui(type, value); } inline void QOpenGLFunctions_4_0_Compatibility::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_0_Compatibility::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_0_Compatibility::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_0_Compatibility::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_0_Compatibility::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_0_Compatibility::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_0_Compatibility::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_0_Compatibility::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_0_Compatibility::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_0_Compatibility::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_0_Compatibility::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_0_Compatibility::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_0_Compatibility::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_0_Compatibility::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_0_Compatibility::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_0_Compatibility::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_0_Compatibility::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_0_Compatibility::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_0_Compatibility::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_0_Compatibility::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_4_0_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_4_0_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_4_0_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_4_0_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_4_0_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_4_0_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_4_0_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_4_0_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_4_0_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_4_0_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_4_0_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_4_0_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_4_0_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_4_0_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_4_0_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_4_0_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_4_0_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_4_0_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_4_0_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_0_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_0_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_0_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_0_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_4_0_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_4_0_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_4_0_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_4_0_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_4_0_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_4_0_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_4_0_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_4_0_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_4_0_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_4_0_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_4_0_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_4_0_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_4_0_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_4_0_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_4_0_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_4_0_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_0_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_0_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_0_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_4_0_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_4_0_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_4_0_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_4_0_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_4_0_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_4_0_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_4_0_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_4_0_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_4_0_Compatibility::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_4_0_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_4_0_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_4_0_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_4_0_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_4_0_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_4_0_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_4_0_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_4_0_Compatibility::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_4_0_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_4_0_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_4_0_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_4_0_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_4_0_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_4_0_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_4_0_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_4_0_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_4_0_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_0_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_4_0_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_4_0_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_4_0_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_4_0_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_0_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_4_0_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_4_0_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_4_0_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_4_0_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_4_0_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_4_0_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_4_0_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_4_0_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_0_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_4_0_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_4_0_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_4_0_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -4719,182 +4720,182 @@ inline void QOpenGLFunctions_4_0_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } @@ -4903,102 +4904,102 @@ inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttrib1d(GLuint index, G // OpenGL 3.0 deprecated functions inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_0_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_4_0_core.h b/src/gui/opengl/qopenglfunctions_4_0_core.h index bd6093d7b0..c3e1e9ce5a 100644 --- a/src/gui/opengl/qopenglfunctions_4_0_core.h +++ b/src/gui/opengl/qopenglfunctions_4_0_core.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -483,242 +484,242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_0_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_0_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_0_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_0_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_0_Core::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_0_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_0_Core::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_0_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_0_Core::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_0_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_0_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_0_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_0_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_0_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_0_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_0_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_0_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_0_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_0_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_0_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_0_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_0_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_0_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_0_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_0_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_0_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_0_Core::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_0_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_0_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_0_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_0_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_0_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_0_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_0_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_0_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_0_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_0_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_0_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } @@ -737,57 +738,57 @@ inline void QOpenGLFunctions_4_0_Core::glIndexub(GLubyte c) inline GLboolean QOpenGLFunctions_4_0_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_0_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_0_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_0_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_0_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_0_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_0_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_0_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_0_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_0_Core::glGetPointerv(GLenum pname, GLvoid* *params) @@ -799,1067 +800,1067 @@ inline void QOpenGLFunctions_4_0_Core::glGetPointerv(GLenum pname, GLvoid* *para inline void QOpenGLFunctions_4_0_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_0_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_0_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_0_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_0_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_0_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_0_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_0_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_0_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_0_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_0_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_0_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_0_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_0_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_0_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_0_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_0_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_0_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_0_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_0_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_0_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_0_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_0_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_0_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_0_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_0_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_0_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_0_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_0_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_0_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_0_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_0_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_0_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_0_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_0_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_0_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_0_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_0_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_0_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_0_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_0_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_0_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_0_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_0_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_0_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_0_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_0_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_0_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_0_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_0_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_0_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_0_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_0_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_0_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_0_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_0_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_0_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_0_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_0_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_0_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_0_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_0_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_0_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_0_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_0_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_0_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_0_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_0_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_0_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_0_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_0_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_0_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_0_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_0_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_0_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_0_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_0_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_0_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_0_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_0_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_0_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_0_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_0_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_0_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_0_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_0_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_0_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_0_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_0_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_0_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_0_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_0_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_0_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_0_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_0_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_0_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_0_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_0_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_0_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_0_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_0_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_0_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_0_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_0_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_0_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_0_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_0_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_0_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_0_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_0_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_0_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_0_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_0_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_0_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_0_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_0_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_0_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_0_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_0_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_0_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_0_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_0_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_0_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_0_Core::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_0_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_0_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_0_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_0_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_0_Core::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_0_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_0_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_0_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_0_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_0_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_0_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_0_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_0_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_0_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_0_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_0_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_0_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_0_Core::glSecondaryColorP3uiv(GLenum type, const GLuint *color) @@ -2082,334 +2083,334 @@ inline void QOpenGLFunctions_4_0_Core::glVertexP2ui(GLenum type, GLuint value) inline void QOpenGLFunctions_4_0_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_0_Core::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_0_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_0_Core::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_0_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_0_Core::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_0_Core::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_0_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_0_Core::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_0_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_0_Core::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_0_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_0_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_0_Core::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_0_Core::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_0_Core::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_0_Core::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_0_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_0_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_0_Core::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_0_Core::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_0_Core::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_0_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_0_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_0_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_0_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_0_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_0_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_0_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_0_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_0_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_0_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_0_Core::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_0_Core::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_0_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_0_Core::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_0_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_0_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_0_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_0_Core::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_0_Core::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } diff --git a/src/gui/opengl/qopenglfunctions_4_1_compatibility.h b/src/gui/opengl/qopenglfunctions_4_1_compatibility.h index 17d87446c2..e06803f0aa 100644 --- a/src/gui/opengl/qopenglfunctions_4_1_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_4_1_compatibility.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -1044,4208 +1045,4208 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_1_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_1_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_1_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_1_Compatibility::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_1_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_1_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_1_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_1_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_1_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_1_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_1_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_1_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_1_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_1_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_1_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_1_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_1_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_1_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_1_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_1_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_4_1_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_1_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_1_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_1_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_1_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_1_Compatibility::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_1_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_1_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_1_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_1_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_1_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_1_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_1_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_1_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_1_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_1_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_1_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_1_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_1_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_1_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_1_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_1_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_1_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_1_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_1_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_1_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_1_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_1_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_1_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_1_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_1_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_1_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_1_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_1_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_1_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_1_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_1_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_1_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_1_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_1_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_1_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_1_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_1_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_1_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_1_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_1_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_1_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_1_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_1_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_1_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_1_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_1_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_1_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_1_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_1_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_1_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_1_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_1_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_1_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_1_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_1_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_1_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_1_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_1_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_1_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_1_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_1_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_1_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_1_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_1_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_1_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_1_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_1_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_1_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_1_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_1_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_1_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_1_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_1_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_1_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_1_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_1_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_1_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_1_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_1_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_1_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_1_Compatibility::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_1_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_1_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_1_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_1_Compatibility::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_1_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_1_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_1_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_1_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_1_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->SecondaryColorP3uiv(type, color); + d_3_3_Deprecated->f.SecondaryColorP3uiv(type, color); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->SecondaryColorP3ui(type, color); + d_3_3_Deprecated->f.SecondaryColorP3ui(type, color); } inline void QOpenGLFunctions_4_1_Compatibility::glColorP4uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP4uiv(type, color); + d_3_3_Deprecated->f.ColorP4uiv(type, color); } inline void QOpenGLFunctions_4_1_Compatibility::glColorP4ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP4ui(type, color); + d_3_3_Deprecated->f.ColorP4ui(type, color); } inline void QOpenGLFunctions_4_1_Compatibility::glColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP3uiv(type, color); + d_3_3_Deprecated->f.ColorP3uiv(type, color); } inline void QOpenGLFunctions_4_1_Compatibility::glColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP3ui(type, color); + d_3_3_Deprecated->f.ColorP3ui(type, color); } inline void QOpenGLFunctions_4_1_Compatibility::glNormalP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->NormalP3uiv(type, coords); + d_3_3_Deprecated->f.NormalP3uiv(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glNormalP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->NormalP3ui(type, coords); + d_3_3_Deprecated->f.NormalP3ui(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP4uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4uiv(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP4ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4ui(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP3uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3uiv(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP3ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3ui(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP2uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2uiv(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP2ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2ui(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP1uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1uiv(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP1ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1ui(texture, type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP4uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP4uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP4uiv(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP4ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP4ui(type, coords); + d_3_3_Deprecated->f.TexCoordP4ui(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP3uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP3uiv(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP3ui(type, coords); + d_3_3_Deprecated->f.TexCoordP3ui(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP2uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP2uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP2uiv(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP2ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP2ui(type, coords); + d_3_3_Deprecated->f.TexCoordP2ui(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP1uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP1uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP1uiv(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordP1ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP1ui(type, coords); + d_3_3_Deprecated->f.TexCoordP1ui(type, coords); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexP4uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP4uiv(type, value); + d_3_3_Deprecated->f.VertexP4uiv(type, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexP4ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP4ui(type, value); + d_3_3_Deprecated->f.VertexP4ui(type, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexP3uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP3uiv(type, value); + d_3_3_Deprecated->f.VertexP3uiv(type, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexP3ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP3ui(type, value); + d_3_3_Deprecated->f.VertexP3ui(type, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexP2uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP2uiv(type, value); + d_3_3_Deprecated->f.VertexP2uiv(type, value); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexP2ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP2ui(type, value); + d_3_3_Deprecated->f.VertexP2ui(type, value); } inline void QOpenGLFunctions_4_1_Compatibility::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_1_Compatibility::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_1_Compatibility::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_1_Compatibility::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_1_Compatibility::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_1_Compatibility::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_1_Compatibility::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_1_Compatibility::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_1_Compatibility::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_1_Compatibility::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_1_Compatibility::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_1_Compatibility::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_1_Compatibility::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_1_Compatibility::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_1_Compatibility::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_1_Compatibility::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_1_Compatibility::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_1_Compatibility::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_1_Compatibility::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_1_Compatibility::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_1_Compatibility::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_1_Compatibility::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_1_Compatibility::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_1_Compatibility::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_1_Compatibility::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_1_Compatibility::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_1_Compatibility::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_1_Compatibility::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_1_Compatibility::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_1_Compatibility::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_1_Compatibility::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_1_Compatibility::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_1_Compatibility::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_1_Compatibility::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_1_Compatibility::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_1_Compatibility::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_1_Compatibility::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_1_Compatibility::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_1_Compatibility::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_1_Compatibility::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_1_Compatibility::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_1_Compatibility::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_1_Compatibility::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_4_1_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_4_1_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_4_1_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_4_1_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_4_1_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_4_1_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_4_1_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_4_1_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_4_1_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_4_1_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_4_1_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_4_1_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_4_1_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_4_1_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_4_1_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_4_1_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_4_1_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_4_1_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_4_1_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_1_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_1_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_1_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_1_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_4_1_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_4_1_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_4_1_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_4_1_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_4_1_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_4_1_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_4_1_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_4_1_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_4_1_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_4_1_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_4_1_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_4_1_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_4_1_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_4_1_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_4_1_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_4_1_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_1_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_1_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_1_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_4_1_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_4_1_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_4_1_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_4_1_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_4_1_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_4_1_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_4_1_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_4_1_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_4_1_Compatibility::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_4_1_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_4_1_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_4_1_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_4_1_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_4_1_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_4_1_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_4_1_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_4_1_Compatibility::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_4_1_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_4_1_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_4_1_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_4_1_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_4_1_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_4_1_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_4_1_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_4_1_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_4_1_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_1_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_4_1_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_4_1_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_4_1_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_4_1_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_1_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_4_1_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_4_1_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_4_1_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_4_1_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_4_1_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_4_1_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_4_1_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_4_1_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_1_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_4_1_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_4_1_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_4_1_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -5254,182 +5255,182 @@ inline void QOpenGLFunctions_4_1_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } @@ -5438,102 +5439,102 @@ inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttrib1d(GLuint index, G // OpenGL 3.0 deprecated functions inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_1_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_4_1_core.h b/src/gui/opengl/qopenglfunctions_4_1_core.h index 919b44c20b..17d922e261 100644 --- a/src/gui/opengl/qopenglfunctions_4_1_core.h +++ b/src/gui/opengl/qopenglfunctions_4_1_core.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -574,242 +575,242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_1_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_1_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_1_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_1_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_1_Core::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_1_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_1_Core::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_1_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_1_Core::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_1_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_1_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_1_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_1_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_1_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_1_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_1_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_1_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_1_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_1_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_1_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_1_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_1_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_1_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_1_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_1_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_1_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_1_Core::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_1_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_1_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_1_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_1_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_1_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_1_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_1_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_1_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_1_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_1_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_1_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } @@ -828,57 +829,57 @@ inline void QOpenGLFunctions_4_1_Core::glIndexub(GLubyte c) inline GLboolean QOpenGLFunctions_4_1_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_1_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_1_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_1_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_1_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_1_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_1_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_1_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_1_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_1_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_1_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_1_Core::glGetPointerv(GLenum pname, GLvoid* *params) @@ -890,1067 +891,1067 @@ inline void QOpenGLFunctions_4_1_Core::glGetPointerv(GLenum pname, GLvoid* *para inline void QOpenGLFunctions_4_1_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_1_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_1_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_1_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_1_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_1_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_1_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_1_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_1_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_1_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_1_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_1_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_1_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_1_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_1_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_1_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_1_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_1_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_1_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_1_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_1_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_1_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_1_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_1_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_1_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_1_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_1_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_1_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_1_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_1_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_1_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_1_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_1_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_1_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_1_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_1_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_1_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_1_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_1_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_1_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_1_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_1_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_1_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_1_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_1_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_1_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_1_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_1_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_1_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_1_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_1_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_1_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_1_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_1_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_1_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_1_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_1_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_1_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_1_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_1_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_1_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_1_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_1_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_1_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_1_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_1_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_1_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_1_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_1_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_1_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_1_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_1_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_1_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_1_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_1_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_1_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_1_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_1_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_1_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_1_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_1_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_1_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_1_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_1_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_1_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_1_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_1_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_1_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_1_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_1_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_1_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_1_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_1_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_1_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_1_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_1_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_1_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_1_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_1_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_1_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_1_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_1_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_1_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_1_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_1_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_1_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_1_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_1_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_1_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_1_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_1_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_1_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_1_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_1_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_1_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_1_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_1_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_1_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_1_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_1_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_1_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_1_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_1_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_1_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_1_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_1_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_1_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_1_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_1_Core::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_1_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_1_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_1_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_1_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_1_Core::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_1_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_1_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_1_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_1_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_1_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_1_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_1_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_1_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_1_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_1_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_1_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_1_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_1_Core::glSecondaryColorP3uiv(GLenum type, const GLuint *color) @@ -2173,776 +2174,776 @@ inline void QOpenGLFunctions_4_1_Core::glVertexP2ui(GLenum type, GLuint value) inline void QOpenGLFunctions_4_1_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_1_Core::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_1_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_1_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_1_Core::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_1_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_1_Core::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_1_Core::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_1_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_1_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_1_Core::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_1_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_1_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_1_Core::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_1_Core::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_1_Core::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_1_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_1_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_1_Core::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_1_Core::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_1_Core::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_1_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_1_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_1_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_1_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_1_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_1_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_1_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_1_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_1_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_1_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_1_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_1_Core::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_1_Core::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_1_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_1_Core::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_1_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_1_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_1_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_1_Core::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_1_Core::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_1_Core::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_1_Core::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_1_Core::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_1_Core::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_1_Core::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_1_Core::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_1_Core::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_1_Core::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_1_Core::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_1_Core::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_1_Core::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_1_Core::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_1_Core::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_1_Core::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_1_Core::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_1_Core::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_1_Core::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_1_Core::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_1_Core::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_1_Core::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_1_Core::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_1_Core::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_1_Core::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_1_Core::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_1_Core::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_1_Core::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_1_Core::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_1_Core::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_1_Core::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_1_Core::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_1_Core::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } diff --git a/src/gui/opengl/qopenglfunctions_4_2_compatibility.h b/src/gui/opengl/qopenglfunctions_4_2_compatibility.h index b357d9fb22..cb95c39936 100644 --- a/src/gui/opengl/qopenglfunctions_4_2_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_4_2_compatibility.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -1061,4270 +1062,4270 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_2_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_2_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_2_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_2_Compatibility::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_2_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_2_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_2_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_2_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_2_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_2_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_2_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_2_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_2_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_2_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_2_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_2_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_2_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_2_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_2_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_2_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_4_2_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_2_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_2_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_2_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_2_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_2_Compatibility::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_2_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_2_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_2_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_2_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_2_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_2_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_2_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_2_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_2_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_2_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_2_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_2_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_2_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_2_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_2_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_2_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_2_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_2_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_2_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_2_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_2_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_2_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_2_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_2_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_2_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_2_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_2_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_2_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_2_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_2_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_2_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_2_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_2_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_2_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_2_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_2_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_2_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_2_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_2_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_2_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_2_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_2_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_2_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_2_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_2_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_2_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_2_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_2_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_2_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_2_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_2_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_2_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_2_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_2_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_2_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_2_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_2_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_2_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_2_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_2_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_2_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_2_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_2_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_2_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_2_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_2_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_2_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_2_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_2_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_2_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_2_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_2_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_2_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_2_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_2_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_2_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_2_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_2_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_2_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_2_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_2_Compatibility::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_2_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_2_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_2_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_2_Compatibility::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_2_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_2_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_2_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_2_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_2_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->SecondaryColorP3uiv(type, color); + d_3_3_Deprecated->f.SecondaryColorP3uiv(type, color); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->SecondaryColorP3ui(type, color); + d_3_3_Deprecated->f.SecondaryColorP3ui(type, color); } inline void QOpenGLFunctions_4_2_Compatibility::glColorP4uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP4uiv(type, color); + d_3_3_Deprecated->f.ColorP4uiv(type, color); } inline void QOpenGLFunctions_4_2_Compatibility::glColorP4ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP4ui(type, color); + d_3_3_Deprecated->f.ColorP4ui(type, color); } inline void QOpenGLFunctions_4_2_Compatibility::glColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP3uiv(type, color); + d_3_3_Deprecated->f.ColorP3uiv(type, color); } inline void QOpenGLFunctions_4_2_Compatibility::glColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP3ui(type, color); + d_3_3_Deprecated->f.ColorP3ui(type, color); } inline void QOpenGLFunctions_4_2_Compatibility::glNormalP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->NormalP3uiv(type, coords); + d_3_3_Deprecated->f.NormalP3uiv(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glNormalP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->NormalP3ui(type, coords); + d_3_3_Deprecated->f.NormalP3ui(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP4uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4uiv(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP4ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4ui(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP3uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3uiv(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP3ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3ui(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP2uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2uiv(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP2ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2ui(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP1uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1uiv(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP1ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1ui(texture, type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP4uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP4uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP4uiv(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP4ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP4ui(type, coords); + d_3_3_Deprecated->f.TexCoordP4ui(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP3uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP3uiv(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP3ui(type, coords); + d_3_3_Deprecated->f.TexCoordP3ui(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP2uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP2uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP2uiv(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP2ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP2ui(type, coords); + d_3_3_Deprecated->f.TexCoordP2ui(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP1uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP1uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP1uiv(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordP1ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP1ui(type, coords); + d_3_3_Deprecated->f.TexCoordP1ui(type, coords); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexP4uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP4uiv(type, value); + d_3_3_Deprecated->f.VertexP4uiv(type, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexP4ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP4ui(type, value); + d_3_3_Deprecated->f.VertexP4ui(type, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexP3uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP3uiv(type, value); + d_3_3_Deprecated->f.VertexP3uiv(type, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexP3ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP3ui(type, value); + d_3_3_Deprecated->f.VertexP3ui(type, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexP2uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP2uiv(type, value); + d_3_3_Deprecated->f.VertexP2uiv(type, value); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexP2ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP2ui(type, value); + d_3_3_Deprecated->f.VertexP2ui(type, value); } inline void QOpenGLFunctions_4_2_Compatibility::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_2_Compatibility::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_2_Compatibility::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_2_Compatibility::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_2_Compatibility::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_2_Compatibility::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_2_Compatibility::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_2_Compatibility::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_2_Compatibility::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_2_Compatibility::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_2_Compatibility::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_2_Compatibility::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_2_Compatibility::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_2_Compatibility::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_2_Compatibility::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_2_Compatibility::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_2_Compatibility::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_2_Compatibility::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_2_Compatibility::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_2_Compatibility::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_2_Compatibility::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_2_Compatibility::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_2_Compatibility::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_2_Compatibility::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_2_Compatibility::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_2_Compatibility::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_2_Compatibility::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_2_Compatibility::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_2_Compatibility::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_2_Compatibility::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_2_Compatibility::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_2_Compatibility::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_2_Compatibility::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_2_Compatibility::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_2_Compatibility::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_2_Compatibility::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_2_Compatibility::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_2_Compatibility::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_2_Compatibility::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_2_Compatibility::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_2_Compatibility::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_2_Compatibility::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_2_Compatibility::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_2_Compatibility::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_2_Compatibility::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_2_Compatibility::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_2_Compatibility::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_2_Compatibility::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_4_2_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_4_2_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_4_2_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_4_2_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_4_2_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_4_2_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_4_2_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_4_2_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_4_2_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_4_2_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_4_2_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_4_2_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_4_2_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_4_2_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_4_2_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_4_2_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_4_2_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_4_2_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_4_2_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_2_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_2_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_2_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_2_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_4_2_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_4_2_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_4_2_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_4_2_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_4_2_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_4_2_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_4_2_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_4_2_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_4_2_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_4_2_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_4_2_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_4_2_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_4_2_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_4_2_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_4_2_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_4_2_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_2_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_2_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_2_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_4_2_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_4_2_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_4_2_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_4_2_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_4_2_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_4_2_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_4_2_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_4_2_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_4_2_Compatibility::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_4_2_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_4_2_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_4_2_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_4_2_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_4_2_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_4_2_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_4_2_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_4_2_Compatibility::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_4_2_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_4_2_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_4_2_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_4_2_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_4_2_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_4_2_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_4_2_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_4_2_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_4_2_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_2_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_4_2_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_4_2_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_4_2_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_4_2_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_2_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_4_2_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_4_2_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_4_2_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_4_2_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_4_2_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_4_2_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_4_2_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_4_2_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_2_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_4_2_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_4_2_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_4_2_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -5333,182 +5334,182 @@ inline void QOpenGLFunctions_4_2_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } @@ -5517,102 +5518,102 @@ inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttrib1d(GLuint index, G // OpenGL 3.0 deprecated functions inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_2_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_4_2_core.h b/src/gui/opengl/qopenglfunctions_4_2_core.h index 173eb9e9ec..14b748b3f5 100644 --- a/src/gui/opengl/qopenglfunctions_4_2_core.h +++ b/src/gui/opengl/qopenglfunctions_4_2_core.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -589,242 +590,242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_2_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_2_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_2_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_2_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_2_Core::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_2_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_2_Core::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_2_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_2_Core::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_2_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_2_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_2_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_2_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_2_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_2_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_2_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_2_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_2_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_2_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_2_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_2_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_2_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_2_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_2_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_2_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_2_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_2_Core::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_2_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_2_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_2_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_2_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_2_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_2_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_2_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_2_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_2_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_2_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_2_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } @@ -843,57 +844,57 @@ inline void QOpenGLFunctions_4_2_Core::glIndexub(GLubyte c) inline GLboolean QOpenGLFunctions_4_2_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_2_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_2_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_2_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_2_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_2_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_2_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_2_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_2_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_2_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_2_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_2_Core::glGetPointerv(GLenum pname, GLvoid* *params) @@ -905,1067 +906,1067 @@ inline void QOpenGLFunctions_4_2_Core::glGetPointerv(GLenum pname, GLvoid* *para inline void QOpenGLFunctions_4_2_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_2_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_2_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_2_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_2_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_2_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_2_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_2_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_2_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_2_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_2_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_2_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_2_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_2_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_2_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_2_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_2_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_2_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_2_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_2_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_2_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_2_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_2_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_2_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_2_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_2_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_2_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_2_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_2_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_2_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_2_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_2_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_2_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_2_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_2_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_2_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_2_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_2_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_2_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_2_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_2_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_2_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_2_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_2_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_2_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_2_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_2_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_2_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_2_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_2_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_2_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_2_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_2_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_2_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_2_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_2_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_2_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_2_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_2_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_2_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_2_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_2_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_2_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_2_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_2_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_2_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_2_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_2_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_2_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_2_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_2_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_2_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_2_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_2_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_2_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_2_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_2_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_2_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_2_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_2_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_2_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_2_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_2_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_2_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_2_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_2_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_2_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_2_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_2_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_2_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_2_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_2_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_2_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_2_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_2_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_2_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_2_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_2_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_2_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_2_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_2_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_2_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_2_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_2_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_2_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_2_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_2_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_2_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_2_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_2_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_2_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_2_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_2_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_2_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_2_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_2_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_2_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_2_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_2_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_2_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_2_Core::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_2_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_2_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_2_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_2_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_2_Core::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_2_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_2_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_2_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_2_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_2_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_2_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_2_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_2_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_2_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_2_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_2_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_2_Core::glSecondaryColorP3uiv(GLenum type, const GLuint *color) @@ -2188,838 +2189,838 @@ inline void QOpenGLFunctions_4_2_Core::glVertexP2ui(GLenum type, GLuint value) inline void QOpenGLFunctions_4_2_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_2_Core::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_2_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_2_Core::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_2_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_2_Core::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_2_Core::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_2_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_2_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_2_Core::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_2_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_2_Core::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_2_Core::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_2_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_2_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_2_Core::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_2_Core::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_2_Core::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_2_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_2_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_2_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_2_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_2_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_2_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_2_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_2_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_2_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_2_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_2_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_2_Core::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_2_Core::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_2_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_2_Core::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_2_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_2_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_2_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_2_Core::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_2_Core::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_2_Core::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_2_Core::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_2_Core::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_2_Core::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_2_Core::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_2_Core::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_2_Core::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_2_Core::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_2_Core::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_2_Core::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_2_Core::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_2_Core::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_2_Core::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_2_Core::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_2_Core::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_2_Core::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_2_Core::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_2_Core::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_2_Core::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_2_Core::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_2_Core::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_2_Core::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_2_Core::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_2_Core::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_2_Core::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_2_Core::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_2_Core::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_2_Core::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_2_Core::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_2_Core::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_2_Core::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_2_Core::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_2_Core::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_2_Core::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_2_Core::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_2_Core::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_2_Core::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_2_Core::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_2_Core::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_2_Core::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_2_Core::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } diff --git a/src/gui/opengl/qopenglfunctions_4_3_compatibility.h b/src/gui/opengl/qopenglfunctions_4_3_compatibility.h index 366da302ed..33d3065500 100644 --- a/src/gui/opengl/qopenglfunctions_4_3_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_4_3_compatibility.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -1099,4437 +1100,4437 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_3_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_3_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_3_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_3_Compatibility::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_3_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_3_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_3_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_3_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_3_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_3_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_3_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_3_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_3_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_3_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_3_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_3_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_3_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_3_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_3_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_3_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline void QOpenGLFunctions_4_3_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_3_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_3_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_3_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_3_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_3_Compatibility::glGetPointerv(GLenum pname, GLvoid* *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_3_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_3_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_3_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_3_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_3_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_3_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_3_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_3_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_3_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_3_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_3_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_3_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_3_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_3_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_3_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_3_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_3_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_3_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_3_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_3_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_3_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_3_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_3_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_3_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_3_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_3_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_3_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_3_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_3_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_3_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_3_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_3_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_3_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_3_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_3_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_3_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_3_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_3_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_3_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_3_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_3_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_3_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_3_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_3_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_3_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_3_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_3_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_3_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_3_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_3_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_3_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_3_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_3_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_3_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_3_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_3_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_3_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_3_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_3_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_3_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_3_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_3_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_3_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_3_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_3_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_3_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_3_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_3_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_3_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_3_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_3_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_3_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_3_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_3_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_3_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_3_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_3_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_3_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_3_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_3_Compatibility::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_3_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_3_Compatibility::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_3_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_3_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_3_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_3_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_3_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->SecondaryColorP3uiv(type, color); + d_3_3_Deprecated->f.SecondaryColorP3uiv(type, color); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->SecondaryColorP3ui(type, color); + d_3_3_Deprecated->f.SecondaryColorP3ui(type, color); } inline void QOpenGLFunctions_4_3_Compatibility::glColorP4uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP4uiv(type, color); + d_3_3_Deprecated->f.ColorP4uiv(type, color); } inline void QOpenGLFunctions_4_3_Compatibility::glColorP4ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP4ui(type, color); + d_3_3_Deprecated->f.ColorP4ui(type, color); } inline void QOpenGLFunctions_4_3_Compatibility::glColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP3uiv(type, color); + d_3_3_Deprecated->f.ColorP3uiv(type, color); } inline void QOpenGLFunctions_4_3_Compatibility::glColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP3ui(type, color); + d_3_3_Deprecated->f.ColorP3ui(type, color); } inline void QOpenGLFunctions_4_3_Compatibility::glNormalP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->NormalP3uiv(type, coords); + d_3_3_Deprecated->f.NormalP3uiv(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glNormalP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->NormalP3ui(type, coords); + d_3_3_Deprecated->f.NormalP3ui(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP4uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4uiv(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP4ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4ui(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP3uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3uiv(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP3ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3ui(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP2uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2uiv(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP2ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2ui(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP1uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1uiv(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP1ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1ui(texture, type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP4uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP4uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP4uiv(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP4ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP4ui(type, coords); + d_3_3_Deprecated->f.TexCoordP4ui(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP3uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP3uiv(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP3ui(type, coords); + d_3_3_Deprecated->f.TexCoordP3ui(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP2uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP2uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP2uiv(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP2ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP2ui(type, coords); + d_3_3_Deprecated->f.TexCoordP2ui(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP1uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP1uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP1uiv(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordP1ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP1ui(type, coords); + d_3_3_Deprecated->f.TexCoordP1ui(type, coords); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexP4uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP4uiv(type, value); + d_3_3_Deprecated->f.VertexP4uiv(type, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexP4ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP4ui(type, value); + d_3_3_Deprecated->f.VertexP4ui(type, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexP3uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP3uiv(type, value); + d_3_3_Deprecated->f.VertexP3uiv(type, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexP3ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP3ui(type, value); + d_3_3_Deprecated->f.VertexP3ui(type, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexP2uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP2uiv(type, value); + d_3_3_Deprecated->f.VertexP2uiv(type, value); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexP2ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP2ui(type, value); + d_3_3_Deprecated->f.VertexP2ui(type, value); } inline void QOpenGLFunctions_4_3_Compatibility::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_3_Compatibility::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_3_Compatibility::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_3_Compatibility::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_3_Compatibility::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_3_Compatibility::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_3_Compatibility::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_3_Compatibility::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_3_Compatibility::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_3_Compatibility::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_3_Compatibility::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_3_Compatibility::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_3_Compatibility::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_3_Compatibility::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_3_Compatibility::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_3_Compatibility::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_3_Compatibility::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_3_Compatibility::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_3_Compatibility::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_3_Compatibility::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_3_Compatibility::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_3_Compatibility::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_3_Compatibility::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_3_Compatibility::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_3_Compatibility::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_3_Compatibility::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_3_Compatibility::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_3_Compatibility::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_3_Compatibility::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_3_Compatibility::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_3_Compatibility::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_3_Compatibility::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_3_Compatibility::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_3_Compatibility::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_3_Compatibility::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_3_Compatibility::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_3_Compatibility::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_3_Compatibility::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_3_Compatibility::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_3_Compatibility::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_3_Compatibility::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_3_Compatibility::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_3_Compatibility::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } // OpenGL 4.3 core functions inline void QOpenGLFunctions_4_3_Compatibility::glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_3_Core->f.TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Compatibility::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_4_3_Core->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Compatibility::glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_4_3_Core->TexBufferRange(target, internalformat, buffer, offset, size); + d_4_3_Core->f.TexBufferRange(target, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_3_Compatibility::glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { - d_4_3_Core->ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); + d_4_3_Core->f.ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); } inline GLint QOpenGLFunctions_4_3_Compatibility::glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocationIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocationIndex(program, programInterface, name); } inline GLint QOpenGLFunctions_4_3_Compatibility::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocation(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocation(program, programInterface, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params) { - d_4_3_Core->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + d_4_3_Core->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) { - d_4_3_Core->GetProgramResourceName(program, programInterface, index, bufSize, length, name); + d_4_3_Core->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name); } inline GLuint QOpenGLFunctions_4_3_Compatibility::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceIndex(program, programInterface, name); } inline void QOpenGLFunctions_4_3_Compatibility::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params) { - d_4_3_Core->GetProgramInterfaceiv(program, programInterface, pname, params); + d_4_3_Core->f.GetProgramInterfaceiv(program, programInterface, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawArraysIndirect(mode, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawArraysIndirect(mode, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_3_Compatibility::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_3_Core->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + d_4_3_Core->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) { - d_4_3_Core->InvalidateFramebuffer(target, numAttachments, attachments); + d_4_3_Core->f.InvalidateFramebuffer(target, numAttachments, attachments); } inline void QOpenGLFunctions_4_3_Compatibility::glInvalidateBufferData(GLuint buffer) { - d_4_3_Core->InvalidateBufferData(buffer); + d_4_3_Core->f.InvalidateBufferData(buffer); } inline void QOpenGLFunctions_4_3_Compatibility::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { - d_4_3_Core->InvalidateBufferSubData(buffer, offset, length); + d_4_3_Core->f.InvalidateBufferSubData(buffer, offset, length); } inline void QOpenGLFunctions_4_3_Compatibility::glInvalidateTexImage(GLuint texture, GLint level) { - d_4_3_Core->InvalidateTexImage(texture, level); + d_4_3_Core->f.InvalidateTexImage(texture, level); } inline void QOpenGLFunctions_4_3_Compatibility::glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { - d_4_3_Core->InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); + d_4_3_Core->f.InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); } inline void QOpenGLFunctions_4_3_Compatibility::glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params) { - d_4_3_Core->GetInternalformati64v(target, internalformat, pname, bufSize, params); + d_4_3_Core->f.GetInternalformati64v(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_4_3_Core->GetFramebufferParameteriv(target, pname, params); + d_4_3_Core->f.GetFramebufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { - d_4_3_Core->FramebufferParameteri(target, pname, param); + d_4_3_Core->f.FramebufferParameteri(target, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { - d_4_3_Core->VertexBindingDivisor(bindingindex, divisor); + d_4_3_Core->f.VertexBindingDivisor(bindingindex, divisor); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { - d_4_3_Core->VertexAttribBinding(attribindex, bindingindex); + d_4_3_Core->f.VertexAttribBinding(attribindex, bindingindex); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribLFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribLFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribIFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribIFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_3_Core->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + d_4_3_Core->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_3_Compatibility::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_3_Core->BindVertexBuffer(bindingindex, buffer, offset, stride); + d_4_3_Core->f.BindVertexBuffer(bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_3_Compatibility::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { - d_4_3_Core->TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + d_4_3_Core->f.TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { - d_4_3_Core->CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + d_4_3_Core->f.CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } inline void QOpenGLFunctions_4_3_Compatibility::glDispatchComputeIndirect(GLintptr indirect) { - d_4_3_Core->DispatchComputeIndirect(indirect); + d_4_3_Core->f.DispatchComputeIndirect(indirect); } inline void QOpenGLFunctions_4_3_Compatibility::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { - d_4_3_Core->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); + d_4_3_Core->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z); } inline void QOpenGLFunctions_4_3_Compatibility::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferSubData(target, internalformat, offset, size, format, type, data); + d_4_3_Core->f.ClearBufferSubData(target, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_3_Compatibility::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferData(target, internalformat, format, type, data); + d_4_3_Core->f.ClearBufferData(target, internalformat, format, type, data); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_4_3_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_4_3_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_4_3_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_4_3_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_4_3_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_4_3_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_4_3_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_4_3_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_4_3_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_4_3_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_4_3_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_4_3_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_4_3_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_4_3_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelMapusv(GLenum map, GLint mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelMapuiv(GLenum map, GLint mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelMapfv(GLenum map, GLint mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_4_3_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_4_3_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_4_3_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_4_3_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_4_3_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_3_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_3_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_3_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_3_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_4_3_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_4_3_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_4_3_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_4_3_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_4_3_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_4_3_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_4_3_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_4_3_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_4_3_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_4_3_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_4_3_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_4_3_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_4_3_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_4_3_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_4_3_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_4_3_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_3_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_3_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_3_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_4_3_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_4_3_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_4_3_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_4_3_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_4_3_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_4_3_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_4_3_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_4_3_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_4_3_Compatibility::glCallLists(GLsizei n, GLenum type, const GLvoid *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_4_3_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_4_3_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_4_3_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_4_3_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_4_3_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_4_3_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_4_3_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_4_3_Compatibility::glEdgeFlagPointer(GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_4_3_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_4_3_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } inline void QOpenGLFunctions_4_3_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_4_3_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_4_3_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_4_3_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_4_3_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_4_3_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_4_3_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_3_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_4_3_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_4_3_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_4_3_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, GLvoid *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_4_3_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_3_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_4_3_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_4_3_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_4_3_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_4_3_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_4_3_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_4_3_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_4_3_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_4_3_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_3_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_4_3_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_4_3_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_4_3_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -5538,182 +5539,182 @@ inline void QOpenGLFunctions_4_3_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 2.0 deprecated functions inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } @@ -5722,102 +5723,102 @@ inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttrib1d(GLuint index, G // OpenGL 3.0 deprecated functions inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_3_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } diff --git a/src/gui/opengl/qopenglfunctions_4_3_core.h b/src/gui/opengl/qopenglfunctions_4_3_core.h index fab5fcd9f2..7e18292bb0 100644 --- a/src/gui/opengl/qopenglfunctions_4_3_core.h +++ b/src/gui/opengl/qopenglfunctions_4_3_core.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -625,242 +626,242 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_3_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_3_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_3_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_3_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_3_Core::glGetIntegerv(GLenum pname, GLint *params) { - d_1_0_Core->GetIntegerv(pname, params); + d_1_0_Core->f.GetIntegerv(pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetFloatv(GLenum pname, GLfloat *params) { - d_1_0_Core->GetFloatv(pname, params); + d_1_0_Core->f.GetFloatv(pname, params); } inline GLenum QOpenGLFunctions_4_3_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_3_Core::glGetDoublev(GLenum pname, GLdouble *params) { - d_1_0_Core->GetDoublev(pname, params); + d_1_0_Core->f.GetDoublev(pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetBooleanv(GLenum pname, GLboolean *params) { - d_1_0_Core->GetBooleanv(pname, params); + d_1_0_Core->f.GetBooleanv(pname, params); } inline void QOpenGLFunctions_4_3_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_3_Core::glReadBuffer(GLenum mode) { - d_1_0_Core->ReadBuffer(mode); + d_1_0_Core->f.ReadBuffer(mode); } inline void QOpenGLFunctions_4_3_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_3_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_3_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_3_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_3_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_3_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_3_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_3_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_3_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_3_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_3_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_3_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_3_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_3_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_3_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_3_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_3_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_3_Core::glDrawBuffer(GLenum mode) { - d_1_0_Core->DrawBuffer(mode); + d_1_0_Core->f.DrawBuffer(mode); } inline void QOpenGLFunctions_4_3_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_3_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_3_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_3_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_3_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_3_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_3_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_3_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_3_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_3_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_3_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } @@ -879,57 +880,57 @@ inline void QOpenGLFunctions_4_3_Core::glIndexub(GLubyte c) inline GLboolean QOpenGLFunctions_4_3_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_3_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_3_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_3_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_3_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_3_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_3_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_3_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_3_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_3_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_3_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_3_Core::glGetPointerv(GLenum pname, GLvoid* *params) @@ -941,1067 +942,1067 @@ inline void QOpenGLFunctions_4_3_Core::glGetPointerv(GLenum pname, GLvoid* *para inline void QOpenGLFunctions_4_3_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_3_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_3_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_3_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_3_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_3_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } inline void QOpenGLFunctions_4_3_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_3_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_3_Core::glGetCompressedTexImage(GLenum target, GLint level, GLvoid *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_3_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_3_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_3_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_3_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_3_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_3_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_3_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_3_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_3_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_3_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_3_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_3_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_3_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_3_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_3_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_3_Core::glGetBufferPointerv(GLenum target, GLenum pname, GLvoid* *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_3_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline GLvoid* QOpenGLFunctions_4_3_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_3_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_3_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_3_Core::glBufferData(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_3_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_3_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_3_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_3_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_3_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_3_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_3_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_3_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_3_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_3_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_3_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_3_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_3_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_3_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_3_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_3_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid* *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_3_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_3_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_3_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_3_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_3_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_3_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_3_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_3_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_3_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, obj); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, obj); } inline void QOpenGLFunctions_4_3_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_3_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_3_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_3_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_3_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_3_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_3_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_3_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_3_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_3_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_3_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_3_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_3_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_3_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_3_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_3_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_3_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_3_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_3_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_3_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_3_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_3_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_3_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline GLvoid* QOpenGLFunctions_4_3_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_3_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_3_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_3_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_3_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_3_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_3_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_3_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_3_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_3_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_3_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_3_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_3_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_3_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_3_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_3_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_3_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_3_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_3_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_3_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_3_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_3_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_3_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_3_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_3_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_3_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_3_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_3_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_3_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_3_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_3_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_3_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_3_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_3_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_3_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_3_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_3_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_3_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_3_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_3_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_3_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_3_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_3_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_3_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_3_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_3_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_3_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_3_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_3_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_3_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_3_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_3_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_3_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_3_Core::glSampleMaski(GLuint index, GLbitfield mask) { - d_3_2_Core->SampleMaski(index, mask); + d_3_2_Core->f.SampleMaski(index, mask); } inline void QOpenGLFunctions_4_3_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_3_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLint internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_3_Core::glGetInteger64v(GLenum pname, GLint64 *params) { - d_3_2_Core->GetInteger64v(pname, params); + d_3_2_Core->f.GetInteger64v(pname, params); } inline void QOpenGLFunctions_4_3_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_3_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_3_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_3_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_3_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_3_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_3_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_3_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_3_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_3_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_3_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_3_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_3_Core::glSecondaryColorP3uiv(GLenum type, const GLuint *color) @@ -2224,1005 +2225,1005 @@ inline void QOpenGLFunctions_4_3_Core::glVertexP2ui(GLenum type, GLuint value) inline void QOpenGLFunctions_4_3_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_3_Core::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_3_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_3_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_3_Core::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_3_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_3_Core::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_3_Core::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_3_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_3_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_3_Core::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_3_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_3_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_3_Core::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_3_Core::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_3_Core::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_3_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_3_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_3_Core::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_3_Core::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_3_Core::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_3_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_3_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_3_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_3_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_3_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_3_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_3_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_3_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_3_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_3_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_3_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_3_Core::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_3_Core::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_3_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_3_Core::glDrawArraysIndirect(GLenum mode, const GLvoid *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_3_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_3_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_3_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_3_Core::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_3_Core::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_3_Core::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_3_Core::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_3_Core::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_3_Core::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_3_Core::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_3_Core::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_3_Core::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_3_Core::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_3_Core::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_3_Core::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_3_Core::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_3_Core::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_3_Core::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_3_Core::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_3_Core::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_3_Core::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_3_Core::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_3_Core::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_3_Core::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_3_Core::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar* const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_3_Core::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_3_Core::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_3_Core::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_3_Core::glProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_3_Core::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_3_Core::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_3_Core::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_3_Core::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_3_Core::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_3_Core::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_3_Core::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_3_Core::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_3_Core::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_3_Core::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_3_Core::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_3_Core::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_3_Core::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_3_Core::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_3_Core::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_3_Core::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_3_Core::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_3_Core::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } // OpenGL 4.3 core functions inline void QOpenGLFunctions_4_3_Core::glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_3_Core->f.TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Core::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_4_3_Core->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_3_Core::glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_4_3_Core->TexBufferRange(target, internalformat, buffer, offset, size); + d_4_3_Core->f.TexBufferRange(target, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_3_Core::glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { - d_4_3_Core->ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); + d_4_3_Core->f.ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); } inline GLint QOpenGLFunctions_4_3_Core::glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocationIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocationIndex(program, programInterface, name); } inline GLint QOpenGLFunctions_4_3_Core::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocation(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocation(program, programInterface, name); } inline void QOpenGLFunctions_4_3_Core::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params) { - d_4_3_Core->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + d_4_3_Core->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); } inline void QOpenGLFunctions_4_3_Core::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) { - d_4_3_Core->GetProgramResourceName(program, programInterface, index, bufSize, length, name); + d_4_3_Core->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name); } inline GLuint QOpenGLFunctions_4_3_Core::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceIndex(program, programInterface, name); } inline void QOpenGLFunctions_4_3_Core::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params) { - d_4_3_Core->GetProgramInterfaceiv(program, programInterface, pname, params); + d_4_3_Core->f.GetProgramInterfaceiv(program, programInterface, pname, params); } inline void QOpenGLFunctions_4_3_Core::glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_3_Core::glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawArraysIndirect(mode, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawArraysIndirect(mode, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_3_Core::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_3_Core->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + d_4_3_Core->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_3_Core::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) { - d_4_3_Core->InvalidateFramebuffer(target, numAttachments, attachments); + d_4_3_Core->f.InvalidateFramebuffer(target, numAttachments, attachments); } inline void QOpenGLFunctions_4_3_Core::glInvalidateBufferData(GLuint buffer) { - d_4_3_Core->InvalidateBufferData(buffer); + d_4_3_Core->f.InvalidateBufferData(buffer); } inline void QOpenGLFunctions_4_3_Core::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { - d_4_3_Core->InvalidateBufferSubData(buffer, offset, length); + d_4_3_Core->f.InvalidateBufferSubData(buffer, offset, length); } inline void QOpenGLFunctions_4_3_Core::glInvalidateTexImage(GLuint texture, GLint level) { - d_4_3_Core->InvalidateTexImage(texture, level); + d_4_3_Core->f.InvalidateTexImage(texture, level); } inline void QOpenGLFunctions_4_3_Core::glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { - d_4_3_Core->InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); + d_4_3_Core->f.InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); } inline void QOpenGLFunctions_4_3_Core::glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params) { - d_4_3_Core->GetInternalformati64v(target, internalformat, pname, bufSize, params); + d_4_3_Core->f.GetInternalformati64v(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_3_Core::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_4_3_Core->GetFramebufferParameteriv(target, pname, params); + d_4_3_Core->f.GetFramebufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_3_Core::glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { - d_4_3_Core->FramebufferParameteri(target, pname, param); + d_4_3_Core->f.FramebufferParameteri(target, pname, param); } inline void QOpenGLFunctions_4_3_Core::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { - d_4_3_Core->VertexBindingDivisor(bindingindex, divisor); + d_4_3_Core->f.VertexBindingDivisor(bindingindex, divisor); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { - d_4_3_Core->VertexAttribBinding(attribindex, bindingindex); + d_4_3_Core->f.VertexAttribBinding(attribindex, bindingindex); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribLFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribLFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribIFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribIFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_3_Core::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_3_Core->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + d_4_3_Core->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_3_Core::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_3_Core->BindVertexBuffer(bindingindex, buffer, offset, stride); + d_4_3_Core->f.BindVertexBuffer(bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_3_Core::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { - d_4_3_Core->TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + d_4_3_Core->f.TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } inline void QOpenGLFunctions_4_3_Core::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { - d_4_3_Core->CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + d_4_3_Core->f.CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } inline void QOpenGLFunctions_4_3_Core::glDispatchComputeIndirect(GLintptr indirect) { - d_4_3_Core->DispatchComputeIndirect(indirect); + d_4_3_Core->f.DispatchComputeIndirect(indirect); } inline void QOpenGLFunctions_4_3_Core::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { - d_4_3_Core->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); + d_4_3_Core->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z); } inline void QOpenGLFunctions_4_3_Core::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferSubData(target, internalformat, offset, size, format, type, data); + d_4_3_Core->f.ClearBufferSubData(target, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_3_Core::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferData(target, internalformat, format, type, data); + d_4_3_Core->f.ClearBufferData(target, internalformat, format, type, data); } diff --git a/src/gui/opengl/qopenglfunctions_4_4_compatibility.h b/src/gui/opengl/qopenglfunctions_4_4_compatibility.h index 37fcbf5c2f..d369ff27ff 100644 --- a/src/gui/opengl/qopenglfunctions_4_4_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_4_4_compatibility.h @@ -1,9 +1,10 @@ /**************************************************************************** ** ** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of the QtWidgets module of the Qt Toolkit. +** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -1122,4664 +1123,4664 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_4_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_4_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetIntegerv(GLenum pname, GLint *data) { - d_1_0_Core->GetIntegerv(pname, data); + d_1_0_Core->f.GetIntegerv(pname, data); } inline void QOpenGLFunctions_4_4_Compatibility::glGetFloatv(GLenum pname, GLfloat *data) { - d_1_0_Core->GetFloatv(pname, data); + d_1_0_Core->f.GetFloatv(pname, data); } inline GLenum QOpenGLFunctions_4_4_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_4_Compatibility::glGetDoublev(GLenum pname, GLdouble *data) { - d_1_0_Core->GetDoublev(pname, data); + d_1_0_Core->f.GetDoublev(pname, data); } inline void QOpenGLFunctions_4_4_Compatibility::glGetBooleanv(GLenum pname, GLboolean *data) { - d_1_0_Core->GetBooleanv(pname, data); + d_1_0_Core->f.GetBooleanv(pname, data); } inline void QOpenGLFunctions_4_4_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glReadBuffer(GLenum src) { - d_1_0_Core->ReadBuffer(src); + d_1_0_Core->f.ReadBuffer(src); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_4_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_4_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_4_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_4_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_4_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_4_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_4_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_4_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_4_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_4_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_4_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_4_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawBuffer(GLenum buf) { - d_1_0_Core->DrawBuffer(buf); + d_1_0_Core->f.DrawBuffer(buf); } inline void QOpenGLFunctions_4_4_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_4_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_4_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_4_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_4_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_4_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_4_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_4_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_4_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_4_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_4_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_4_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, void *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_4_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_4_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_4_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_4_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_4_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_4_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_4_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_4_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_4_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_4_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, void * *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline void * QOpenGLFunctions_4_4_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_4_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_4_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_4_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_4_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_4_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_4_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_4_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_4_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } inline void QOpenGLFunctions_4_4_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_4_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_4_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_4_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_4_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, void * *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_4_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_4_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_4_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_4_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, shaders); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, shaders); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_4_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_4_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_4_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_4_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_4_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_4_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_4_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_4_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_4_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_4_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_4_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_4_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline void * QOpenGLFunctions_4_4_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_4_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_4_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_4_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_4_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_4_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_4_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_4_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_4_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_4_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_4_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_4_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_4_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_4_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_4_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_4_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_4_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_4_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_4_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_4_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } inline void QOpenGLFunctions_4_4_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_4_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_4_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_4_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_4_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_4_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_4_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_4_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_4_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_4_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_4_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_4_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_4_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_4_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_4_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_4_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_4_Compatibility::glSampleMaski(GLuint maskNumber, GLbitfield mask) { - d_3_2_Core->SampleMaski(maskNumber, mask); + d_3_2_Core->f.SampleMaski(maskNumber, mask); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_4_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_4_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } inline void QOpenGLFunctions_4_4_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_4_Compatibility::glGetInteger64v(GLenum pname, GLint64 *data) { - d_3_2_Core->GetInteger64v(pname, data); + d_3_2_Core->f.GetInteger64v(pname, data); } inline void QOpenGLFunctions_4_4_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_4_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_4_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_4_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } inline void QOpenGLFunctions_4_4_Compatibility::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_4_Compatibility::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_4_Compatibility::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_4_Compatibility::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_4_Compatibility::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_4_Compatibility::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_4_Compatibility::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_4_Compatibility::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_4_Compatibility::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_4_Compatibility::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_4_Compatibility::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_4_Compatibility::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_4_Compatibility::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_4_Compatibility::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_4_Compatibility::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawArraysIndirect(GLenum mode, const void *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_4_Compatibility::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_4_Compatibility::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_4_Compatibility::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_4_Compatibility::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_4_Compatibility::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_4_Compatibility::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_4_Compatibility::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_4_Compatibility::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_4_Compatibility::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_4_Compatibility::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_4_Compatibility::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_4_Compatibility::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_4_Compatibility::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_4_Compatibility::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_4_Compatibility::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_4_Compatibility::glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_4_Compatibility::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_4_Compatibility::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_4_Compatibility::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_4_Compatibility::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_4_Compatibility::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_4_Compatibility::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_4_Compatibility::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_4_Compatibility::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_4_Compatibility::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_4_Compatibility::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_4_Compatibility::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } // OpenGL 4.3 core functions inline void QOpenGLFunctions_4_4_Compatibility::glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectPtrLabel(ptr, bufSize, length, label); + d_4_3_Core->f.GetObjectPtrLabel(ptr, bufSize, length, label); } inline void QOpenGLFunctions_4_4_Compatibility::glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectPtrLabel(ptr, length, label); + d_4_3_Core->f.ObjectPtrLabel(ptr, length, label); } inline void QOpenGLFunctions_4_4_Compatibility::glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectLabel(identifier, name, bufSize, length, label); + d_4_3_Core->f.GetObjectLabel(identifier, name, bufSize, length, label); } inline void QOpenGLFunctions_4_4_Compatibility::glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectLabel(identifier, name, length, label); + d_4_3_Core->f.ObjectLabel(identifier, name, length, label); } inline void QOpenGLFunctions_4_4_Compatibility::glPopDebugGroup() { - d_4_3_Core->PopDebugGroup(); + d_4_3_Core->f.PopDebugGroup(); } inline void QOpenGLFunctions_4_4_Compatibility::glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message) { - d_4_3_Core->PushDebugGroup(source, id, length, message); + d_4_3_Core->f.PushDebugGroup(source, id, length, message); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog) { - return d_4_3_Core->GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); + return d_4_3_Core->f.GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); } inline void QOpenGLFunctions_4_4_Compatibility::glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam) { - d_4_3_Core->DebugMessageCallback(callback, userParam); + d_4_3_Core->f.DebugMessageCallback(callback, userParam); } inline void QOpenGLFunctions_4_4_Compatibility::glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf) { - d_4_3_Core->DebugMessageInsert(source, type, id, severity, length, buf); + d_4_3_Core->f.DebugMessageInsert(source, type, id, severity, length, buf); } inline void QOpenGLFunctions_4_4_Compatibility::glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled) { - d_4_3_Core->DebugMessageControl(source, type, severity, count, ids, enabled); + d_4_3_Core->f.DebugMessageControl(source, type, severity, count, ids, enabled); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { - d_4_3_Core->VertexBindingDivisor(bindingindex, divisor); + d_4_3_Core->f.VertexBindingDivisor(bindingindex, divisor); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { - d_4_3_Core->VertexAttribBinding(attribindex, bindingindex); + d_4_3_Core->f.VertexAttribBinding(attribindex, bindingindex); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribLFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribLFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribIFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribIFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_3_Core->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + d_4_3_Core->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_4_Compatibility::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_3_Core->BindVertexBuffer(bindingindex, buffer, offset, stride); + d_4_3_Core->f.BindVertexBuffer(bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_4_Compatibility::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { - d_4_3_Core->TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + d_4_3_Core->f.TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } inline void QOpenGLFunctions_4_4_Compatibility::glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_3_Core->f.TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Compatibility::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_4_3_Core->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Compatibility::glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_4_3_Core->TexBufferRange(target, internalformat, buffer, offset, size); + d_4_3_Core->f.TexBufferRange(target, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_4_Compatibility::glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { - d_4_3_Core->ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); + d_4_3_Core->f.ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); } inline GLint QOpenGLFunctions_4_4_Compatibility::glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocationIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocationIndex(program, programInterface, name); } inline GLint QOpenGLFunctions_4_4_Compatibility::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocation(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocation(program, programInterface, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params) { - d_4_3_Core->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + d_4_3_Core->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) { - d_4_3_Core->GetProgramResourceName(program, programInterface, index, bufSize, length, name); + d_4_3_Core->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceIndex(program, programInterface, name); } inline void QOpenGLFunctions_4_4_Compatibility::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params) { - d_4_3_Core->GetProgramInterfaceiv(program, programInterface, pname, params); + d_4_3_Core->f.GetProgramInterfaceiv(program, programInterface, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawArraysIndirect(mode, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawArraysIndirect(mode, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_4_Compatibility::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_3_Core->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + d_4_3_Core->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) { - d_4_3_Core->InvalidateFramebuffer(target, numAttachments, attachments); + d_4_3_Core->f.InvalidateFramebuffer(target, numAttachments, attachments); } inline void QOpenGLFunctions_4_4_Compatibility::glInvalidateBufferData(GLuint buffer) { - d_4_3_Core->InvalidateBufferData(buffer); + d_4_3_Core->f.InvalidateBufferData(buffer); } inline void QOpenGLFunctions_4_4_Compatibility::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { - d_4_3_Core->InvalidateBufferSubData(buffer, offset, length); + d_4_3_Core->f.InvalidateBufferSubData(buffer, offset, length); } inline void QOpenGLFunctions_4_4_Compatibility::glInvalidateTexImage(GLuint texture, GLint level) { - d_4_3_Core->InvalidateTexImage(texture, level); + d_4_3_Core->f.InvalidateTexImage(texture, level); } inline void QOpenGLFunctions_4_4_Compatibility::glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { - d_4_3_Core->InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); + d_4_3_Core->f.InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); } inline void QOpenGLFunctions_4_4_Compatibility::glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params) { - d_4_3_Core->GetInternalformati64v(target, internalformat, pname, bufSize, params); + d_4_3_Core->f.GetInternalformati64v(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_4_3_Core->GetFramebufferParameteriv(target, pname, params); + d_4_3_Core->f.GetFramebufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { - d_4_3_Core->FramebufferParameteri(target, pname, param); + d_4_3_Core->f.FramebufferParameteri(target, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { - d_4_3_Core->CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + d_4_3_Core->f.CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } inline void QOpenGLFunctions_4_4_Compatibility::glDispatchComputeIndirect(GLintptr indirect) { - d_4_3_Core->DispatchComputeIndirect(indirect); + d_4_3_Core->f.DispatchComputeIndirect(indirect); } inline void QOpenGLFunctions_4_4_Compatibility::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { - d_4_3_Core->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); + d_4_3_Core->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z); } inline void QOpenGLFunctions_4_4_Compatibility::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferSubData(target, internalformat, offset, size, format, type, data); + d_4_3_Core->f.ClearBufferSubData(target, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_4_Compatibility::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferData(target, internalformat, format, type, data); + d_4_3_Core->f.ClearBufferData(target, internalformat, format, type, data); } // OpenGL 4.4 core functions inline void QOpenGLFunctions_4_4_Compatibility::glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) { - d_4_4_Core->BindVertexBuffers(first, count, buffers, offsets, strides); + d_4_4_Core->f.BindVertexBuffers(first, count, buffers, offsets, strides); } inline void QOpenGLFunctions_4_4_Compatibility::glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindImageTextures(first, count, textures); + d_4_4_Core->f.BindImageTextures(first, count, textures); } inline void QOpenGLFunctions_4_4_Compatibility::glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers) { - d_4_4_Core->BindSamplers(first, count, samplers); + d_4_4_Core->f.BindSamplers(first, count, samplers); } inline void QOpenGLFunctions_4_4_Compatibility::glBindTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindTextures(first, count, textures); + d_4_4_Core->f.BindTextures(first, count, textures); } inline void QOpenGLFunctions_4_4_Compatibility::glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes) { - d_4_4_Core->BindBuffersRange(target, first, count, buffers, offsets, sizes); + d_4_4_Core->f.BindBuffersRange(target, first, count, buffers, offsets, sizes); } inline void QOpenGLFunctions_4_4_Compatibility::glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers) { - d_4_4_Core->BindBuffersBase(target, first, count, buffers); + d_4_4_Core->f.BindBuffersBase(target, first, count, buffers); } inline void QOpenGLFunctions_4_4_Compatibility::glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + d_4_4_Core->f.ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); } inline void QOpenGLFunctions_4_4_Compatibility::glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexImage(texture, level, format, type, data); + d_4_4_Core->f.ClearTexImage(texture, level, format, type, data); } inline void QOpenGLFunctions_4_4_Compatibility::glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags) { - d_4_4_Core->BufferStorage(target, size, data, flags); + d_4_4_Core->f.BufferStorage(target, size, data, flags); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_4_4_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_4_4_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_4_4_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_4_4_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_4_4_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_4_4_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_4_4_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_4_4_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_4_4_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_4_4_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_4_4_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_4_4_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_4_4_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_4_4_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_4_4_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_4_4_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_4_4_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_4_4_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_4_4_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_4_4_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_4_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_4_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_4_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_4_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_4_4_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_4_4_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_4_4_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_4_4_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_4_4_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_4_4_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_4_4_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_4_4_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_4_4_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_4_4_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_4_4_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_4_4_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_4_4_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_4_4_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_4_4_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_4_4_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_4_4_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_4_4_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_4_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_4_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_4_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_4_4_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_4_4_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_4_4_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_4_4_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_4_4_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_4_4_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_4_4_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_4_4_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_4_4_Compatibility::glCallLists(GLsizei n, GLenum type, const void *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_4_4_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_4_4_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_4_4_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_4_4_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_4_4_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline void QOpenGLFunctions_4_4_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_4_4_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glGetPointerv(GLenum pname, void * *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_4_4_Compatibility::glEdgeFlagPointer(GLsizei stride, const void *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_4_4_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_4_4_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } inline void QOpenGLFunctions_4_4_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_4_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, void *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_4_4_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_4_4_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_4_4_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_4_4_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_4_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_4_4_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, void *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_4_4_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_4_4_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_4_4_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_4_4_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_4_4_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_4_4_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_4_4_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_4_4_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_4_4_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_4_4_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_4_4_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_4_4_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_4_4_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const void *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_4_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_4_4_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_4_4_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_4_4_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -5798,152 +5799,152 @@ inline void QOpenGLFunctions_4_4_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 3.3 deprecated functions inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->SecondaryColorP3uiv(type, color); + d_3_3_Deprecated->f.SecondaryColorP3uiv(type, color); } inline void QOpenGLFunctions_4_4_Compatibility::glSecondaryColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->SecondaryColorP3ui(type, color); + d_3_3_Deprecated->f.SecondaryColorP3ui(type, color); } inline void QOpenGLFunctions_4_4_Compatibility::glColorP4uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP4uiv(type, color); + d_3_3_Deprecated->f.ColorP4uiv(type, color); } inline void QOpenGLFunctions_4_4_Compatibility::glColorP4ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP4ui(type, color); + d_3_3_Deprecated->f.ColorP4ui(type, color); } inline void QOpenGLFunctions_4_4_Compatibility::glColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP3uiv(type, color); + d_3_3_Deprecated->f.ColorP3uiv(type, color); } inline void QOpenGLFunctions_4_4_Compatibility::glColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP3ui(type, color); + d_3_3_Deprecated->f.ColorP3ui(type, color); } inline void QOpenGLFunctions_4_4_Compatibility::glNormalP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->NormalP3uiv(type, coords); + d_3_3_Deprecated->f.NormalP3uiv(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glNormalP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->NormalP3ui(type, coords); + d_3_3_Deprecated->f.NormalP3ui(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP4uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4uiv(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP4ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4ui(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP3uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3uiv(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP3ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3ui(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP2uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2uiv(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP2ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2ui(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP1uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1uiv(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP1ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1ui(texture, type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP4uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP4uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP4uiv(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP4ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP4ui(type, coords); + d_3_3_Deprecated->f.TexCoordP4ui(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP3uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP3uiv(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP3ui(type, coords); + d_3_3_Deprecated->f.TexCoordP3ui(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP2uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP2uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP2uiv(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP2ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP2ui(type, coords); + d_3_3_Deprecated->f.TexCoordP2ui(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP1uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP1uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP1uiv(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glTexCoordP1ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP1ui(type, coords); + d_3_3_Deprecated->f.TexCoordP1ui(type, coords); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexP4uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP4uiv(type, value); + d_3_3_Deprecated->f.VertexP4uiv(type, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexP4ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP4ui(type, value); + d_3_3_Deprecated->f.VertexP4ui(type, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexP3uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP3uiv(type, value); + d_3_3_Deprecated->f.VertexP3uiv(type, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexP3ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP3ui(type, value); + d_3_3_Deprecated->f.VertexP3ui(type, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexP2uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP2uiv(type, value); + d_3_3_Deprecated->f.VertexP2uiv(type, value); } inline void QOpenGLFunctions_4_4_Compatibility::glVertexP2ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP2ui(type, value); + d_3_3_Deprecated->f.VertexP2ui(type, value); } diff --git a/src/gui/opengl/qopenglfunctions_4_4_core.h b/src/gui/opengl/qopenglfunctions_4_4_core.h index 250352e8d0..e508478c50 100644 --- a/src/gui/opengl/qopenglfunctions_4_4_core.h +++ b/src/gui/opengl/qopenglfunctions_4_4_core.h @@ -1,9 +1,10 @@ /**************************************************************************** ** ** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of the QtWidgets module of the Qt Toolkit. +** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -670,2744 +671,2744 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_4_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_4_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_4_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_4_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_4_Core::glGetIntegerv(GLenum pname, GLint *data) { - d_1_0_Core->GetIntegerv(pname, data); + d_1_0_Core->f.GetIntegerv(pname, data); } inline void QOpenGLFunctions_4_4_Core::glGetFloatv(GLenum pname, GLfloat *data) { - d_1_0_Core->GetFloatv(pname, data); + d_1_0_Core->f.GetFloatv(pname, data); } inline GLenum QOpenGLFunctions_4_4_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_4_Core::glGetDoublev(GLenum pname, GLdouble *data) { - d_1_0_Core->GetDoublev(pname, data); + d_1_0_Core->f.GetDoublev(pname, data); } inline void QOpenGLFunctions_4_4_Core::glGetBooleanv(GLenum pname, GLboolean *data) { - d_1_0_Core->GetBooleanv(pname, data); + d_1_0_Core->f.GetBooleanv(pname, data); } inline void QOpenGLFunctions_4_4_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_4_Core::glReadBuffer(GLenum src) { - d_1_0_Core->ReadBuffer(src); + d_1_0_Core->f.ReadBuffer(src); } inline void QOpenGLFunctions_4_4_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_4_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_4_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_4_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_4_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_4_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_4_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_4_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_4_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_4_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_4_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_4_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_4_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_4_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_4_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_4_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_4_Core::glDrawBuffer(GLenum buf) { - d_1_0_Core->DrawBuffer(buf); + d_1_0_Core->f.DrawBuffer(buf); } inline void QOpenGLFunctions_4_4_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_4_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_4_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_4_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_4_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_4_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_4_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_4_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_4_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_4_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_4_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline GLboolean QOpenGLFunctions_4_4_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_4_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_4_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_4_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_4_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_4_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_4_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_4_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_4_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_4_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_4_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_4_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_4_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_4_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_4_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_4_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_4_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_4_Core::glGetCompressedTexImage(GLenum target, GLint level, void *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_4_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_4_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_4_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_4_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_4_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_4_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_4_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_4_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_4_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_4_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_4_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_4_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_4_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_4_Core::glGetBufferPointerv(GLenum target, GLenum pname, void * *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_4_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline void * QOpenGLFunctions_4_4_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_4_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_4_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_4_Core::glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_4_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_4_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_4_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_4_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_4_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_4_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_4_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_4_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } inline void QOpenGLFunctions_4_4_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_4_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_4_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_4_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_4_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_4_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_4_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, void * *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_4_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_4_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_4_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_4_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_4_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_4_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_4_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_4_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, shaders); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, shaders); } inline void QOpenGLFunctions_4_4_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_4_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_4_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_4_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_4_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_4_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_4_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_4_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_4_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_4_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_4_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_4_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_4_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_4_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_4_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_4_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_4_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_4_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_4_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_4_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_4_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_4_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline void * QOpenGLFunctions_4_4_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_4_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_4_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_4_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_4_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_4_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_4_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_4_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_4_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_4_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_4_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_4_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_4_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_4_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_4_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_4_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_4_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_4_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_4_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_4_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_4_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_4_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_4_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_4_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_4_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_4_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_4_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_4_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_4_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_4_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_4_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_4_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_4_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_4_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_4_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_4_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_4_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_4_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_4_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_4_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_4_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_4_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_4_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_4_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_4_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_4_Core::glSampleMaski(GLuint maskNumber, GLbitfield mask) { - d_3_2_Core->SampleMaski(maskNumber, mask); + d_3_2_Core->f.SampleMaski(maskNumber, mask); } inline void QOpenGLFunctions_4_4_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_4_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_4_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } inline void QOpenGLFunctions_4_4_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_4_Core::glGetInteger64v(GLenum pname, GLint64 *data) { - d_3_2_Core->GetInteger64v(pname, data); + d_3_2_Core->f.GetInteger64v(pname, data); } inline void QOpenGLFunctions_4_4_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_4_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_4_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_4_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_4_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_4_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_4_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_4_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_4_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } inline void QOpenGLFunctions_4_4_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_4_Core::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_4_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_4_Core::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_4_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_4_Core::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_4_Core::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_4_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_4_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_4_Core::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_4_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_4_Core::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_4_Core::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_4_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_4_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_4_Core::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_4_Core::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_4_Core::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_4_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_4_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_4_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_4_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_4_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_4_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_4_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_4_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_4_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_4_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_4_Core::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_4_Core::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_4_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_4_Core::glDrawArraysIndirect(GLenum mode, const void *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_4_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_4_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_4_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_4_Core::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_4_Core::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_4_Core::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_4_Core::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_4_Core::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_4_Core::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_4_Core::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_4_Core::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_4_Core::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_4_Core::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_4_Core::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_4_Core::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_4_Core::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_4_Core::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_4_Core::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_4_Core::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_4_Core::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_4_Core::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_4_Core::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_4_Core::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_4_Core::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_4_Core::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_4_Core::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_4_Core::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_4_Core::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_4_Core::glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_4_Core::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_4_Core::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_4_Core::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_4_Core::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_4_Core::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_4_Core::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_4_Core::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_4_Core::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_4_Core::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_4_Core::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_4_Core::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_4_Core::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_4_Core::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_4_Core::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_4_Core::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_4_Core::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } // OpenGL 4.3 core functions inline void QOpenGLFunctions_4_4_Core::glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectPtrLabel(ptr, bufSize, length, label); + d_4_3_Core->f.GetObjectPtrLabel(ptr, bufSize, length, label); } inline void QOpenGLFunctions_4_4_Core::glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectPtrLabel(ptr, length, label); + d_4_3_Core->f.ObjectPtrLabel(ptr, length, label); } inline void QOpenGLFunctions_4_4_Core::glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectLabel(identifier, name, bufSize, length, label); + d_4_3_Core->f.GetObjectLabel(identifier, name, bufSize, length, label); } inline void QOpenGLFunctions_4_4_Core::glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectLabel(identifier, name, length, label); + d_4_3_Core->f.ObjectLabel(identifier, name, length, label); } inline void QOpenGLFunctions_4_4_Core::glPopDebugGroup() { - d_4_3_Core->PopDebugGroup(); + d_4_3_Core->f.PopDebugGroup(); } inline void QOpenGLFunctions_4_4_Core::glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message) { - d_4_3_Core->PushDebugGroup(source, id, length, message); + d_4_3_Core->f.PushDebugGroup(source, id, length, message); } inline GLuint QOpenGLFunctions_4_4_Core::glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog) { - return d_4_3_Core->GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); + return d_4_3_Core->f.GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); } inline void QOpenGLFunctions_4_4_Core::glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam) { - d_4_3_Core->DebugMessageCallback(callback, userParam); + d_4_3_Core->f.DebugMessageCallback(callback, userParam); } inline void QOpenGLFunctions_4_4_Core::glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf) { - d_4_3_Core->DebugMessageInsert(source, type, id, severity, length, buf); + d_4_3_Core->f.DebugMessageInsert(source, type, id, severity, length, buf); } inline void QOpenGLFunctions_4_4_Core::glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled) { - d_4_3_Core->DebugMessageControl(source, type, severity, count, ids, enabled); + d_4_3_Core->f.DebugMessageControl(source, type, severity, count, ids, enabled); } inline void QOpenGLFunctions_4_4_Core::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { - d_4_3_Core->VertexBindingDivisor(bindingindex, divisor); + d_4_3_Core->f.VertexBindingDivisor(bindingindex, divisor); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { - d_4_3_Core->VertexAttribBinding(attribindex, bindingindex); + d_4_3_Core->f.VertexAttribBinding(attribindex, bindingindex); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribLFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribLFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribIFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribIFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_4_Core::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_3_Core->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + d_4_3_Core->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_4_Core::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_3_Core->BindVertexBuffer(bindingindex, buffer, offset, stride); + d_4_3_Core->f.BindVertexBuffer(bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_4_Core::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { - d_4_3_Core->TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + d_4_3_Core->f.TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } inline void QOpenGLFunctions_4_4_Core::glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_3_Core->f.TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Core::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_4_3_Core->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_4_Core::glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_4_3_Core->TexBufferRange(target, internalformat, buffer, offset, size); + d_4_3_Core->f.TexBufferRange(target, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_4_Core::glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { - d_4_3_Core->ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); + d_4_3_Core->f.ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); } inline GLint QOpenGLFunctions_4_4_Core::glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocationIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocationIndex(program, programInterface, name); } inline GLint QOpenGLFunctions_4_4_Core::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocation(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocation(program, programInterface, name); } inline void QOpenGLFunctions_4_4_Core::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params) { - d_4_3_Core->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + d_4_3_Core->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); } inline void QOpenGLFunctions_4_4_Core::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) { - d_4_3_Core->GetProgramResourceName(program, programInterface, index, bufSize, length, name); + d_4_3_Core->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name); } inline GLuint QOpenGLFunctions_4_4_Core::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceIndex(program, programInterface, name); } inline void QOpenGLFunctions_4_4_Core::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params) { - d_4_3_Core->GetProgramInterfaceiv(program, programInterface, pname, params); + d_4_3_Core->f.GetProgramInterfaceiv(program, programInterface, pname, params); } inline void QOpenGLFunctions_4_4_Core::glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_4_Core::glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawArraysIndirect(mode, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawArraysIndirect(mode, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_4_Core::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_3_Core->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + d_4_3_Core->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_4_Core::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) { - d_4_3_Core->InvalidateFramebuffer(target, numAttachments, attachments); + d_4_3_Core->f.InvalidateFramebuffer(target, numAttachments, attachments); } inline void QOpenGLFunctions_4_4_Core::glInvalidateBufferData(GLuint buffer) { - d_4_3_Core->InvalidateBufferData(buffer); + d_4_3_Core->f.InvalidateBufferData(buffer); } inline void QOpenGLFunctions_4_4_Core::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { - d_4_3_Core->InvalidateBufferSubData(buffer, offset, length); + d_4_3_Core->f.InvalidateBufferSubData(buffer, offset, length); } inline void QOpenGLFunctions_4_4_Core::glInvalidateTexImage(GLuint texture, GLint level) { - d_4_3_Core->InvalidateTexImage(texture, level); + d_4_3_Core->f.InvalidateTexImage(texture, level); } inline void QOpenGLFunctions_4_4_Core::glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { - d_4_3_Core->InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); + d_4_3_Core->f.InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); } inline void QOpenGLFunctions_4_4_Core::glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params) { - d_4_3_Core->GetInternalformati64v(target, internalformat, pname, bufSize, params); + d_4_3_Core->f.GetInternalformati64v(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_4_Core::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_4_3_Core->GetFramebufferParameteriv(target, pname, params); + d_4_3_Core->f.GetFramebufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_4_Core::glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { - d_4_3_Core->FramebufferParameteri(target, pname, param); + d_4_3_Core->f.FramebufferParameteri(target, pname, param); } inline void QOpenGLFunctions_4_4_Core::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { - d_4_3_Core->CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + d_4_3_Core->f.CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } inline void QOpenGLFunctions_4_4_Core::glDispatchComputeIndirect(GLintptr indirect) { - d_4_3_Core->DispatchComputeIndirect(indirect); + d_4_3_Core->f.DispatchComputeIndirect(indirect); } inline void QOpenGLFunctions_4_4_Core::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { - d_4_3_Core->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); + d_4_3_Core->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z); } inline void QOpenGLFunctions_4_4_Core::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferSubData(target, internalformat, offset, size, format, type, data); + d_4_3_Core->f.ClearBufferSubData(target, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_4_Core::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferData(target, internalformat, format, type, data); + d_4_3_Core->f.ClearBufferData(target, internalformat, format, type, data); } // OpenGL 4.4 core functions inline void QOpenGLFunctions_4_4_Core::glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) { - d_4_4_Core->BindVertexBuffers(first, count, buffers, offsets, strides); + d_4_4_Core->f.BindVertexBuffers(first, count, buffers, offsets, strides); } inline void QOpenGLFunctions_4_4_Core::glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindImageTextures(first, count, textures); + d_4_4_Core->f.BindImageTextures(first, count, textures); } inline void QOpenGLFunctions_4_4_Core::glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers) { - d_4_4_Core->BindSamplers(first, count, samplers); + d_4_4_Core->f.BindSamplers(first, count, samplers); } inline void QOpenGLFunctions_4_4_Core::glBindTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindTextures(first, count, textures); + d_4_4_Core->f.BindTextures(first, count, textures); } inline void QOpenGLFunctions_4_4_Core::glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes) { - d_4_4_Core->BindBuffersRange(target, first, count, buffers, offsets, sizes); + d_4_4_Core->f.BindBuffersRange(target, first, count, buffers, offsets, sizes); } inline void QOpenGLFunctions_4_4_Core::glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers) { - d_4_4_Core->BindBuffersBase(target, first, count, buffers); + d_4_4_Core->f.BindBuffersBase(target, first, count, buffers); } inline void QOpenGLFunctions_4_4_Core::glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + d_4_4_Core->f.ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); } inline void QOpenGLFunctions_4_4_Core::glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexImage(texture, level, format, type, data); + d_4_4_Core->f.ClearTexImage(texture, level, format, type, data); } inline void QOpenGLFunctions_4_4_Core::glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags) { - d_4_4_Core->BufferStorage(target, size, data, flags); + d_4_4_Core->f.BufferStorage(target, size, data, flags); } diff --git a/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp b/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp index 9960152256..d568d17f56 100644 --- a/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp @@ -3,7 +3,7 @@ ** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB) ** Contact: https://www.qt.io/licensing/ ** -** This file is part of the QtWidgets module of the Qt Toolkit. +** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage diff --git a/src/gui/opengl/qopenglfunctions_4_5_compatibility.h b/src/gui/opengl/qopenglfunctions_4_5_compatibility.h index e7c74d2dd8..1c50dafd65 100644 --- a/src/gui/opengl/qopenglfunctions_4_5_compatibility.h +++ b/src/gui/opengl/qopenglfunctions_4_5_compatibility.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtWidgets module of the Qt Toolkit. @@ -1246,5196 +1247,5196 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_5_Compatibility::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_5_Compatibility::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetIntegerv(GLenum pname, GLint *data) { - d_1_0_Core->GetIntegerv(pname, data); + d_1_0_Core->f.GetIntegerv(pname, data); } inline void QOpenGLFunctions_4_5_Compatibility::glGetFloatv(GLenum pname, GLfloat *data) { - d_1_0_Core->GetFloatv(pname, data); + d_1_0_Core->f.GetFloatv(pname, data); } inline GLenum QOpenGLFunctions_4_5_Compatibility::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_5_Compatibility::glGetDoublev(GLenum pname, GLdouble *data) { - d_1_0_Core->GetDoublev(pname, data); + d_1_0_Core->f.GetDoublev(pname, data); } inline void QOpenGLFunctions_4_5_Compatibility::glGetBooleanv(GLenum pname, GLboolean *data) { - d_1_0_Core->GetBooleanv(pname, data); + d_1_0_Core->f.GetBooleanv(pname, data); } inline void QOpenGLFunctions_4_5_Compatibility::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glReadBuffer(GLenum src) { - d_1_0_Core->ReadBuffer(src); + d_1_0_Core->f.ReadBuffer(src); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_5_Compatibility::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_5_Compatibility::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_5_Compatibility::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_5_Compatibility::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_5_Compatibility::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_5_Compatibility::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_5_Compatibility::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_5_Compatibility::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_5_Compatibility::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_5_Compatibility::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_5_Compatibility::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_5_Compatibility::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawBuffer(GLenum buf) { - d_1_0_Core->DrawBuffer(buf); + d_1_0_Core->f.DrawBuffer(buf); } inline void QOpenGLFunctions_4_5_Compatibility::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_5_Compatibility::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_5_Compatibility::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_5_Compatibility::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_5_Compatibility::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_5_Compatibility::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_5_Compatibility::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_5_Compatibility::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_5_Compatibility::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_5_Compatibility::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_5_Compatibility::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_5_Compatibility::glGetCompressedTexImage(GLenum target, GLint level, void *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_5_Compatibility::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_5_Compatibility::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_5_Compatibility::glGetBufferPointerv(GLenum target, GLenum pname, void * *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline void * QOpenGLFunctions_4_5_Compatibility::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_5_Compatibility::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_5_Compatibility::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_5_Compatibility::glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_5_Compatibility::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_5_Compatibility::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_5_Compatibility::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } inline void QOpenGLFunctions_4_5_Compatibility::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_5_Compatibility::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_5_Compatibility::glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_5_Compatibility::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexAttribPointerv(GLuint index, GLenum pname, void * *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_5_Compatibility::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_5_Compatibility::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_5_Compatibility::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_5_Compatibility::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, shaders); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, shaders); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_5_Compatibility::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_5_Compatibility::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_5_Compatibility::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_5_Compatibility::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_5_Compatibility::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_5_Compatibility::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_5_Compatibility::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_5_Compatibility::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_5_Compatibility::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_5_Compatibility::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_5_Compatibility::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_5_Compatibility::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline void * QOpenGLFunctions_4_5_Compatibility::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_5_Compatibility::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_5_Compatibility::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_5_Compatibility::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_5_Compatibility::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_5_Compatibility::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_5_Compatibility::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_5_Compatibility::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_5_Compatibility::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_5_Compatibility::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_5_Compatibility::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_5_Compatibility::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_5_Compatibility::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_5_Compatibility::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_5_Compatibility::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_5_Compatibility::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Compatibility::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Compatibility::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_5_Compatibility::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_5_Compatibility::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_5_Compatibility::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_5_Compatibility::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_5_Compatibility::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_5_Compatibility::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Compatibility::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_5_Compatibility::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_5_Compatibility::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_5_Compatibility::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_5_Compatibility::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_5_Compatibility::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_5_Compatibility::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_5_Compatibility::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_5_Compatibility::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_5_Compatibility::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_5_Compatibility::glSampleMaski(GLuint maskNumber, GLbitfield mask) { - d_3_2_Core->SampleMaski(maskNumber, mask); + d_3_2_Core->f.SampleMaski(maskNumber, mask); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_5_Compatibility::glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Compatibility::glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Compatibility::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_5_Compatibility::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } inline void QOpenGLFunctions_4_5_Compatibility::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetInteger64v(GLenum pname, GLint64 *data) { - d_3_2_Core->GetInteger64v(pname, data); + d_3_2_Core->f.GetInteger64v(pname, data); } inline void QOpenGLFunctions_4_5_Compatibility::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_5_Compatibility::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_5_Compatibility::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_5_Compatibility::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } inline void QOpenGLFunctions_4_5_Compatibility::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_5_Compatibility::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_5_Compatibility::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_5_Compatibility::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_5_Compatibility::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_5_Compatibility::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_5_Compatibility::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_5_Compatibility::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_5_Compatibility::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_5_Compatibility::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_5_Compatibility::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_5_Compatibility::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_5_Compatibility::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_5_Compatibility::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawArraysIndirect(GLenum mode, const void *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_5_Compatibility::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_5_Compatibility::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_5_Compatibility::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_5_Compatibility::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_5_Compatibility::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_5_Compatibility::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_5_Compatibility::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_5_Compatibility::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_5_Compatibility::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_5_Compatibility::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_5_Compatibility::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_5_Compatibility::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_5_Compatibility::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_5_Compatibility::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_5_Compatibility::glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_5_Compatibility::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_5_Compatibility::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_5_Compatibility::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_5_Compatibility::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_5_Compatibility::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_5_Compatibility::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_5_Compatibility::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_5_Compatibility::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_5_Compatibility::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_5_Compatibility::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_5_Compatibility::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } // OpenGL 4.3 core functions inline void QOpenGLFunctions_4_5_Compatibility::glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectPtrLabel(ptr, bufSize, length, label); + d_4_3_Core->f.GetObjectPtrLabel(ptr, bufSize, length, label); } inline void QOpenGLFunctions_4_5_Compatibility::glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectPtrLabel(ptr, length, label); + d_4_3_Core->f.ObjectPtrLabel(ptr, length, label); } inline void QOpenGLFunctions_4_5_Compatibility::glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectLabel(identifier, name, bufSize, length, label); + d_4_3_Core->f.GetObjectLabel(identifier, name, bufSize, length, label); } inline void QOpenGLFunctions_4_5_Compatibility::glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectLabel(identifier, name, length, label); + d_4_3_Core->f.ObjectLabel(identifier, name, length, label); } inline void QOpenGLFunctions_4_5_Compatibility::glPopDebugGroup() { - d_4_3_Core->PopDebugGroup(); + d_4_3_Core->f.PopDebugGroup(); } inline void QOpenGLFunctions_4_5_Compatibility::glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message) { - d_4_3_Core->PushDebugGroup(source, id, length, message); + d_4_3_Core->f.PushDebugGroup(source, id, length, message); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog) { - return d_4_3_Core->GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); + return d_4_3_Core->f.GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); } inline void QOpenGLFunctions_4_5_Compatibility::glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam) { - d_4_3_Core->DebugMessageCallback(callback, userParam); + d_4_3_Core->f.DebugMessageCallback(callback, userParam); } inline void QOpenGLFunctions_4_5_Compatibility::glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf) { - d_4_3_Core->DebugMessageInsert(source, type, id, severity, length, buf); + d_4_3_Core->f.DebugMessageInsert(source, type, id, severity, length, buf); } inline void QOpenGLFunctions_4_5_Compatibility::glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled) { - d_4_3_Core->DebugMessageControl(source, type, severity, count, ids, enabled); + d_4_3_Core->f.DebugMessageControl(source, type, severity, count, ids, enabled); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { - d_4_3_Core->VertexBindingDivisor(bindingindex, divisor); + d_4_3_Core->f.VertexBindingDivisor(bindingindex, divisor); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { - d_4_3_Core->VertexAttribBinding(attribindex, bindingindex); + d_4_3_Core->f.VertexAttribBinding(attribindex, bindingindex); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribLFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribLFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribIFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribIFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_3_Core->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + d_4_3_Core->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_5_Compatibility::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_3_Core->BindVertexBuffer(bindingindex, buffer, offset, stride); + d_4_3_Core->f.BindVertexBuffer(bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { - d_4_3_Core->TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + d_4_3_Core->f.TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } inline void QOpenGLFunctions_4_5_Compatibility::glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_3_Core->f.TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Compatibility::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_4_3_Core->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Compatibility::glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_4_3_Core->TexBufferRange(target, internalformat, buffer, offset, size); + d_4_3_Core->f.TexBufferRange(target, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Compatibility::glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { - d_4_3_Core->ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); + d_4_3_Core->f.ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); } inline GLint QOpenGLFunctions_4_5_Compatibility::glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocationIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocationIndex(program, programInterface, name); } inline GLint QOpenGLFunctions_4_5_Compatibility::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocation(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocation(program, programInterface, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params) { - d_4_3_Core->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + d_4_3_Core->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) { - d_4_3_Core->GetProgramResourceName(program, programInterface, index, bufSize, length, name); + d_4_3_Core->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceIndex(program, programInterface, name); } inline void QOpenGLFunctions_4_5_Compatibility::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params) { - d_4_3_Core->GetProgramInterfaceiv(program, programInterface, pname, params); + d_4_3_Core->f.GetProgramInterfaceiv(program, programInterface, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawArraysIndirect(mode, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawArraysIndirect(mode, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_3_Core->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + d_4_3_Core->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) { - d_4_3_Core->InvalidateFramebuffer(target, numAttachments, attachments); + d_4_3_Core->f.InvalidateFramebuffer(target, numAttachments, attachments); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateBufferData(GLuint buffer) { - d_4_3_Core->InvalidateBufferData(buffer); + d_4_3_Core->f.InvalidateBufferData(buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { - d_4_3_Core->InvalidateBufferSubData(buffer, offset, length); + d_4_3_Core->f.InvalidateBufferSubData(buffer, offset, length); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateTexImage(GLuint texture, GLint level) { - d_4_3_Core->InvalidateTexImage(texture, level); + d_4_3_Core->f.InvalidateTexImage(texture, level); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { - d_4_3_Core->InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); + d_4_3_Core->f.InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); } inline void QOpenGLFunctions_4_5_Compatibility::glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params) { - d_4_3_Core->GetInternalformati64v(target, internalformat, pname, bufSize, params); + d_4_3_Core->f.GetInternalformati64v(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_4_3_Core->GetFramebufferParameteriv(target, pname, params); + d_4_3_Core->f.GetFramebufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { - d_4_3_Core->FramebufferParameteri(target, pname, param); + d_4_3_Core->f.FramebufferParameteri(target, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { - d_4_3_Core->CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + d_4_3_Core->f.CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } inline void QOpenGLFunctions_4_5_Compatibility::glDispatchComputeIndirect(GLintptr indirect) { - d_4_3_Core->DispatchComputeIndirect(indirect); + d_4_3_Core->f.DispatchComputeIndirect(indirect); } inline void QOpenGLFunctions_4_5_Compatibility::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { - d_4_3_Core->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); + d_4_3_Core->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z); } inline void QOpenGLFunctions_4_5_Compatibility::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferSubData(target, internalformat, offset, size, format, type, data); + d_4_3_Core->f.ClearBufferSubData(target, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_5_Compatibility::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferData(target, internalformat, format, type, data); + d_4_3_Core->f.ClearBufferData(target, internalformat, format, type, data); } // OpenGL 4.4 core functions inline void QOpenGLFunctions_4_5_Compatibility::glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) { - d_4_4_Core->BindVertexBuffers(first, count, buffers, offsets, strides); + d_4_4_Core->f.BindVertexBuffers(first, count, buffers, offsets, strides); } inline void QOpenGLFunctions_4_5_Compatibility::glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindImageTextures(first, count, textures); + d_4_4_Core->f.BindImageTextures(first, count, textures); } inline void QOpenGLFunctions_4_5_Compatibility::glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers) { - d_4_4_Core->BindSamplers(first, count, samplers); + d_4_4_Core->f.BindSamplers(first, count, samplers); } inline void QOpenGLFunctions_4_5_Compatibility::glBindTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindTextures(first, count, textures); + d_4_4_Core->f.BindTextures(first, count, textures); } inline void QOpenGLFunctions_4_5_Compatibility::glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes) { - d_4_4_Core->BindBuffersRange(target, first, count, buffers, offsets, sizes); + d_4_4_Core->f.BindBuffersRange(target, first, count, buffers, offsets, sizes); } inline void QOpenGLFunctions_4_5_Compatibility::glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers) { - d_4_4_Core->BindBuffersBase(target, first, count, buffers); + d_4_4_Core->f.BindBuffersBase(target, first, count, buffers); } inline void QOpenGLFunctions_4_5_Compatibility::glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + d_4_4_Core->f.ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); } inline void QOpenGLFunctions_4_5_Compatibility::glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexImage(texture, level, format, type, data); + d_4_4_Core->f.ClearTexImage(texture, level, format, type, data); } inline void QOpenGLFunctions_4_5_Compatibility::glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags) { - d_4_4_Core->BufferStorage(target, size, data, flags); + d_4_4_Core->f.BufferStorage(target, size, data, flags); } // OpenGL 4.5 core functions inline void QOpenGLFunctions_4_5_Compatibility::glTextureBarrier() { - d_4_5_Core->TextureBarrier(); + d_4_5_Core->f.TextureBarrier(); } inline void QOpenGLFunctions_4_5_Compatibility::glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data) { - d_4_5_Core->ReadnPixels(x, y, width, height, format, type, bufSize, data); + d_4_5_Core->f.ReadnPixels(x, y, width, height, format, type, bufSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params) { - d_4_5_Core->GetnUniformuiv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformuiv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params) { - d_4_5_Core->GetnUniformiv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformiv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params) { - d_4_5_Core->GetnUniformfv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformfv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnUniformdv(GLuint program, GLint location, GLsizei bufSize, GLdouble *params) { - d_4_5_Core->GetnUniformdv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformdv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetnTexImage(target, level, format, type, bufSize, pixels); + d_4_5_Core->f.GetnTexImage(target, level, format, type, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetnCompressedTexImage(target, lod, bufSize, pixels); + d_4_5_Core->f.GetnCompressedTexImage(target, lod, bufSize, pixels); } inline GLenum QOpenGLFunctions_4_5_Compatibility::glGetGraphicsResetStatus() { - return d_4_5_Core->GetGraphicsResetStatus(); + return d_4_5_Core->f.GetGraphicsResetStatus(); } inline void QOpenGLFunctions_4_5_Compatibility::glGetCompressedTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); + d_4_5_Core->f.GetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); + d_4_5_Core->f.GetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glMemoryBarrierByRegion(GLbitfield barriers) { - d_4_5_Core->MemoryBarrierByRegion(barriers); + d_4_5_Core->f.MemoryBarrierByRegion(barriers); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateQueries(GLenum target, GLsizei n, GLuint *ids) { - d_4_5_Core->CreateQueries(target, n, ids); + d_4_5_Core->f.CreateQueries(target, n, ids); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_5_Core->CreateProgramPipelines(n, pipelines); + d_4_5_Core->f.CreateProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateSamplers(GLsizei n, GLuint *samplers) { - d_4_5_Core->CreateSamplers(n, samplers); + d_4_5_Core->f.CreateSamplers(n, samplers); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexArrayIndexed64iv(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param) { - d_4_5_Core->GetVertexArrayIndexed64iv(vaobj, index, pname, param); + d_4_5_Core->f.GetVertexArrayIndexed64iv(vaobj, index, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexArrayIndexediv(GLuint vaobj, GLuint index, GLenum pname, GLint *param) { - d_4_5_Core->GetVertexArrayIndexediv(vaobj, index, pname, param); + d_4_5_Core->f.GetVertexArrayIndexediv(vaobj, index, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glGetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param) { - d_4_5_Core->GetVertexArrayiv(vaobj, pname, param); + d_4_5_Core->f.GetVertexArrayiv(vaobj, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayBindingDivisor(GLuint vaobj, GLuint bindingindex, GLuint divisor) { - d_4_5_Core->VertexArrayBindingDivisor(vaobj, bindingindex, divisor); + d_4_5_Core->f.VertexArrayBindingDivisor(vaobj, bindingindex, divisor); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayAttribLFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_5_Core->VertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); + d_4_5_Core->f.VertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayAttribIFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_5_Core->VertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); + d_4_5_Core->f.VertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayAttribFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_5_Core->VertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); + d_4_5_Core->f.VertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayAttribBinding(GLuint vaobj, GLuint attribindex, GLuint bindingindex) { - d_4_5_Core->VertexArrayAttribBinding(vaobj, attribindex, bindingindex); + d_4_5_Core->f.VertexArrayAttribBinding(vaobj, attribindex, bindingindex); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayVertexBuffers(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) { - d_4_5_Core->VertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); + d_4_5_Core->f.VertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayVertexBuffer(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_5_Core->VertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); + d_4_5_Core->f.VertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexArrayElementBuffer(GLuint vaobj, GLuint buffer) { - d_4_5_Core->VertexArrayElementBuffer(vaobj, buffer); + d_4_5_Core->f.VertexArrayElementBuffer(vaobj, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glEnableVertexArrayAttrib(GLuint vaobj, GLuint index) { - d_4_5_Core->EnableVertexArrayAttrib(vaobj, index); + d_4_5_Core->f.EnableVertexArrayAttrib(vaobj, index); } inline void QOpenGLFunctions_4_5_Compatibility::glDisableVertexArrayAttrib(GLuint vaobj, GLuint index) { - d_4_5_Core->DisableVertexArrayAttrib(vaobj, index); + d_4_5_Core->f.DisableVertexArrayAttrib(vaobj, index); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateVertexArrays(GLsizei n, GLuint *arrays) { - d_4_5_Core->CreateVertexArrays(n, arrays); + d_4_5_Core->f.CreateVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureParameteriv(GLuint texture, GLenum pname, GLint *params) { - d_4_5_Core->GetTextureParameteriv(texture, pname, params); + d_4_5_Core->f.GetTextureParameteriv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params) { - d_4_5_Core->GetTextureParameterIuiv(texture, pname, params); + d_4_5_Core->f.GetTextureParameterIuiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params) { - d_4_5_Core->GetTextureParameterIiv(texture, pname, params); + d_4_5_Core->f.GetTextureParameterIiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params) { - d_4_5_Core->GetTextureParameterfv(texture, pname, params); + d_4_5_Core->f.GetTextureParameterfv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureLevelParameteriv(GLuint texture, GLint level, GLenum pname, GLint *params) { - d_4_5_Core->GetTextureLevelParameteriv(texture, level, pname, params); + d_4_5_Core->f.GetTextureLevelParameteriv(texture, level, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureLevelParameterfv(GLuint texture, GLint level, GLenum pname, GLfloat *params) { - d_4_5_Core->GetTextureLevelParameterfv(texture, level, pname, params); + d_4_5_Core->f.GetTextureLevelParameterfv(texture, level, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetCompressedTextureImage(texture, level, bufSize, pixels); + d_4_5_Core->f.GetCompressedTextureImage(texture, level, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetTextureImage(texture, level, format, type, bufSize, pixels); + d_4_5_Core->f.GetTextureImage(texture, level, format, type, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glBindTextureUnit(GLuint unit, GLuint texture) { - d_4_5_Core->BindTextureUnit(unit, texture); + d_4_5_Core->f.BindTextureUnit(unit, texture); } inline void QOpenGLFunctions_4_5_Compatibility::glGenerateTextureMipmap(GLuint texture) { - d_4_5_Core->GenerateTextureMipmap(texture); + d_4_5_Core->f.GenerateTextureMipmap(texture); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureParameteriv(GLuint texture, GLenum pname, const GLint *param) { - d_4_5_Core->TextureParameteriv(texture, pname, param); + d_4_5_Core->f.TextureParameteriv(texture, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureParameterIuiv(GLuint texture, GLenum pname, const GLuint *params) { - d_4_5_Core->TextureParameterIuiv(texture, pname, params); + d_4_5_Core->f.TextureParameterIuiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureParameterIiv(GLuint texture, GLenum pname, const GLint *params) { - d_4_5_Core->TextureParameterIiv(texture, pname, params); + d_4_5_Core->f.TextureParameterIiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureParameteri(GLuint texture, GLenum pname, GLint param) { - d_4_5_Core->TextureParameteri(texture, pname, param); + d_4_5_Core->f.TextureParameteri(texture, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureParameterfv(GLuint texture, GLenum pname, const GLfloat *param) { - d_4_5_Core->TextureParameterfv(texture, pname, param); + d_4_5_Core->f.TextureParameterfv(texture, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureParameterf(GLuint texture, GLenum pname, GLfloat param) { - d_4_5_Core->TextureParameterf(texture, pname, param); + d_4_5_Core->f.TextureParameterf(texture, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_5_Core->CopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); + d_4_5_Core->f.CopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_5_Core->CopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); + d_4_5_Core->f.CopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_4_5_Core->CopyTextureSubImage1D(texture, level, xoffset, x, y, width); + d_4_5_Core->f.CopyTextureSubImage1D(texture, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { - d_4_5_Core->CompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_4_5_Core->f.CompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { - d_4_5_Core->CompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); + d_4_5_Core->f.CompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCompressedTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { - d_4_5_Core->CompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); + d_4_5_Core->f.CompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { - d_4_5_Core->TextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_4_5_Core->f.TextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_4_5_Core->TextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels); + d_4_5_Core->f.TextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) { - d_4_5_Core->TextureSubImage1D(texture, level, xoffset, width, format, type, pixels); + d_4_5_Core->f.TextureSubImage1D(texture, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureStorage3DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_5_Core->TextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_5_Core->f.TextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureStorage2DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_5_Core->TextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); + d_4_5_Core->f.TextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureStorage3D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_5_Core->TextureStorage3D(texture, levels, internalformat, width, height, depth); + d_4_5_Core->f.TextureStorage3D(texture, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureStorage2D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_5_Core->TextureStorage2D(texture, levels, internalformat, width, height); + d_4_5_Core->f.TextureStorage2D(texture, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureStorage1D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_5_Core->TextureStorage1D(texture, levels, internalformat, width); + d_4_5_Core->f.TextureStorage1D(texture, levels, internalformat, width); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureBufferRange(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size) { - d_4_5_Core->TextureBufferRange(texture, internalformat, buffer, offset, size); + d_4_5_Core->f.TextureBufferRange(texture, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Compatibility::glTextureBuffer(GLuint texture, GLenum internalformat, GLuint buffer) { - d_4_5_Core->TextureBuffer(texture, internalformat, buffer); + d_4_5_Core->f.TextureBuffer(texture, internalformat, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateTextures(GLenum target, GLsizei n, GLuint *textures) { - d_4_5_Core->CreateTextures(target, n, textures); + d_4_5_Core->f.CreateTextures(target, n, textures); } inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedRenderbufferParameteriv(GLuint renderbuffer, GLenum pname, GLint *params) { - d_4_5_Core->GetNamedRenderbufferParameteriv(renderbuffer, pname, params); + d_4_5_Core->f.GetNamedRenderbufferParameteriv(renderbuffer, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedRenderbufferStorageMultisample(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_5_Core->NamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); + d_4_5_Core->f.NamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedRenderbufferStorage(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_5_Core->NamedRenderbufferStorage(renderbuffer, internalformat, width, height); + d_4_5_Core->f.NamedRenderbufferStorage(renderbuffer, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_4_5_Core->CreateRenderbuffers(n, renderbuffers); + d_4_5_Core->f.CreateRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedFramebufferAttachmentParameteriv(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params) { - d_4_5_Core->GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params); + d_4_5_Core->f.GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedFramebufferParameteriv(GLuint framebuffer, GLenum pname, GLint *param) { - d_4_5_Core->GetNamedFramebufferParameteriv(framebuffer, pname, param); + d_4_5_Core->f.GetNamedFramebufferParameteriv(framebuffer, pname, param); } inline GLenum QOpenGLFunctions_4_5_Compatibility::glCheckNamedFramebufferStatus(GLuint framebuffer, GLenum target) { - return d_4_5_Core->CheckNamedFramebufferStatus(framebuffer, target); + return d_4_5_Core->f.CheckNamedFramebufferStatus(framebuffer, target); } inline void QOpenGLFunctions_4_5_Compatibility::glBlitNamedFramebuffer(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_4_5_Core->BlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_4_5_Core->f.BlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer, GLfloat depth, GLint stencil) { - d_4_5_Core->ClearNamedFramebufferfi(framebuffer, buffer, depth, stencil); + d_4_5_Core->f.ClearNamedFramebufferfi(framebuffer, buffer, depth, stencil); } inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedFramebufferfv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_4_5_Core->ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); + d_4_5_Core->f.ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedFramebufferuiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_4_5_Core->ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); + d_4_5_Core->f.ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedFramebufferiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value) { - d_4_5_Core->ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); + d_4_5_Core->f.ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateNamedFramebufferSubData(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_5_Core->InvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); + d_4_5_Core->f.InvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glInvalidateNamedFramebufferData(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments) { - d_4_5_Core->InvalidateNamedFramebufferData(framebuffer, numAttachments, attachments); + d_4_5_Core->f.InvalidateNamedFramebufferData(framebuffer, numAttachments, attachments); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedFramebufferReadBuffer(GLuint framebuffer, GLenum src) { - d_4_5_Core->NamedFramebufferReadBuffer(framebuffer, src); + d_4_5_Core->f.NamedFramebufferReadBuffer(framebuffer, src); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedFramebufferDrawBuffers(GLuint framebuffer, GLsizei n, const GLenum *bufs) { - d_4_5_Core->NamedFramebufferDrawBuffers(framebuffer, n, bufs); + d_4_5_Core->f.NamedFramebufferDrawBuffers(framebuffer, n, bufs); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf) { - d_4_5_Core->NamedFramebufferDrawBuffer(framebuffer, buf); + d_4_5_Core->f.NamedFramebufferDrawBuffer(framebuffer, buf); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedFramebufferTextureLayer(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_4_5_Core->NamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); + d_4_5_Core->f.NamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedFramebufferTexture(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) { - d_4_5_Core->NamedFramebufferTexture(framebuffer, attachment, texture, level); + d_4_5_Core->f.NamedFramebufferTexture(framebuffer, attachment, texture, level); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedFramebufferParameteri(GLuint framebuffer, GLenum pname, GLint param) { - d_4_5_Core->NamedFramebufferParameteri(framebuffer, pname, param); + d_4_5_Core->f.NamedFramebufferParameteri(framebuffer, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_4_5_Core->NamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); + d_4_5_Core->f.NamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateFramebuffers(GLsizei n, GLuint *framebuffers) { - d_4_5_Core->CreateFramebuffers(n, framebuffers); + d_4_5_Core->f.CreateFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data) { - d_4_5_Core->GetNamedBufferSubData(buffer, offset, size, data); + d_4_5_Core->f.GetNamedBufferSubData(buffer, offset, size, data); } inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedBufferPointerv(GLuint buffer, GLenum pname, void * *params) { - d_4_5_Core->GetNamedBufferPointerv(buffer, pname, params); + d_4_5_Core->f.GetNamedBufferPointerv(buffer, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64 *params) { - d_4_5_Core->GetNamedBufferParameteri64v(buffer, pname, params); + d_4_5_Core->f.GetNamedBufferParameteri64v(buffer, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint *params) { - d_4_5_Core->GetNamedBufferParameteriv(buffer, pname, params); + d_4_5_Core->f.GetNamedBufferParameteriv(buffer, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) { - d_4_5_Core->FlushMappedNamedBufferRange(buffer, offset, length); + d_4_5_Core->f.FlushMappedNamedBufferRange(buffer, offset, length); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glUnmapNamedBuffer(GLuint buffer) { - return d_4_5_Core->UnmapNamedBuffer(buffer); + return d_4_5_Core->f.UnmapNamedBuffer(buffer); } inline void * QOpenGLFunctions_4_5_Compatibility::glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) { - return d_4_5_Core->MapNamedBufferRange(buffer, offset, length, access); + return d_4_5_Core->f.MapNamedBufferRange(buffer, offset, length, access); } inline void * QOpenGLFunctions_4_5_Compatibility::glMapNamedBuffer(GLuint buffer, GLenum access) { - return d_4_5_Core->MapNamedBuffer(buffer, access); + return d_4_5_Core->f.MapNamedBuffer(buffer, access); } inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data) { - d_4_5_Core->ClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); + d_4_5_Core->f.ClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_5_Compatibility::glClearNamedBufferData(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_5_Core->ClearNamedBufferData(buffer, internalformat, format, type, data); + d_4_5_Core->f.ClearNamedBufferData(buffer, internalformat, format, type, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) { - d_4_5_Core->CopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); + d_4_5_Core->f.CopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data) { - d_4_5_Core->NamedBufferSubData(buffer, offset, size, data); + d_4_5_Core->f.NamedBufferSubData(buffer, offset, size, data); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage) { - d_4_5_Core->NamedBufferData(buffer, size, data, usage); + d_4_5_Core->f.NamedBufferData(buffer, size, data, usage); } inline void QOpenGLFunctions_4_5_Compatibility::glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags) { - d_4_5_Core->NamedBufferStorage(buffer, size, data, flags); + d_4_5_Core->f.NamedBufferStorage(buffer, size, data, flags); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateBuffers(GLsizei n, GLuint *buffers) { - d_4_5_Core->CreateBuffers(n, buffers); + d_4_5_Core->f.CreateBuffers(n, buffers); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 *param) { - d_4_5_Core->GetTransformFeedbacki64_v(xfb, pname, index, param); + d_4_5_Core->f.GetTransformFeedbacki64_v(xfb, pname, index, param); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint *param) { - d_4_5_Core->GetTransformFeedbacki_v(xfb, pname, index, param); + d_4_5_Core->f.GetTransformFeedbacki_v(xfb, pname, index, param); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) { - d_4_5_Core->GetTransformFeedbackiv(xfb, pname, param); + d_4_5_Core->f.GetTransformFeedbackiv(xfb, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) { - d_4_5_Core->TransformFeedbackBufferRange(xfb, index, buffer, offset, size); + d_4_5_Core->f.TransformFeedbackBufferRange(xfb, index, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Compatibility::glTransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer) { - d_4_5_Core->TransformFeedbackBufferBase(xfb, index, buffer); + d_4_5_Core->f.TransformFeedbackBufferBase(xfb, index, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glCreateTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_5_Core->CreateTransformFeedbacks(n, ids); + d_4_5_Core->f.CreateTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_5_Compatibility::glClipControl(GLenum origin, GLenum depth) { - d_4_5_Core->ClipControl(origin, depth); + d_4_5_Core->f.ClipControl(origin, depth); } // OpenGL 1.0 deprecated functions inline void QOpenGLFunctions_4_5_Compatibility::glTranslatef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Translatef(x, y, z); + d_1_0_Deprecated->f.Translatef(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glTranslated(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Translated(x, y, z); + d_1_0_Deprecated->f.Translated(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glScalef(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Scalef(x, y, z); + d_1_0_Deprecated->f.Scalef(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glScaled(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Scaled(x, y, z); + d_1_0_Deprecated->f.Scaled(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Rotatef(angle, x, y, z); + d_1_0_Deprecated->f.Rotatef(angle, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Rotated(angle, x, y, z); + d_1_0_Deprecated->f.Rotated(angle, x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glPushMatrix() { - d_1_0_Deprecated->PushMatrix(); + d_1_0_Deprecated->f.PushMatrix(); } inline void QOpenGLFunctions_4_5_Compatibility::glPopMatrix() { - d_1_0_Deprecated->PopMatrix(); + d_1_0_Deprecated->f.PopMatrix(); } inline void QOpenGLFunctions_4_5_Compatibility::glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Ortho(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Ortho(left, right, bottom, top, zNear, zFar); } inline void QOpenGLFunctions_4_5_Compatibility::glMultMatrixd(const GLdouble *m) { - d_1_0_Deprecated->MultMatrixd(m); + d_1_0_Deprecated->f.MultMatrixd(m); } inline void QOpenGLFunctions_4_5_Compatibility::glMultMatrixf(const GLfloat *m) { - d_1_0_Deprecated->MultMatrixf(m); + d_1_0_Deprecated->f.MultMatrixf(m); } inline void QOpenGLFunctions_4_5_Compatibility::glMatrixMode(GLenum mode) { - d_1_0_Deprecated->MatrixMode(mode); + d_1_0_Deprecated->f.MatrixMode(mode); } inline void QOpenGLFunctions_4_5_Compatibility::glLoadMatrixd(const GLdouble *m) { - d_1_0_Deprecated->LoadMatrixd(m); + d_1_0_Deprecated->f.LoadMatrixd(m); } inline void QOpenGLFunctions_4_5_Compatibility::glLoadMatrixf(const GLfloat *m) { - d_1_0_Deprecated->LoadMatrixf(m); + d_1_0_Deprecated->f.LoadMatrixf(m); } inline void QOpenGLFunctions_4_5_Compatibility::glLoadIdentity() { - d_1_0_Deprecated->LoadIdentity(); + d_1_0_Deprecated->f.LoadIdentity(); } inline void QOpenGLFunctions_4_5_Compatibility::glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) { - d_1_0_Deprecated->Frustum(left, right, bottom, top, zNear, zFar); + d_1_0_Deprecated->f.Frustum(left, right, bottom, top, zNear, zFar); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glIsList(GLuint list) { - return d_1_0_Deprecated->IsList(list); + return d_1_0_Deprecated->f.IsList(list); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexGeniv(GLenum coord, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexGeniv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexGenfv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexGendv(GLenum coord, GLenum pname, GLdouble *params) { - d_1_0_Deprecated->GetTexGendv(coord, pname, params); + d_1_0_Deprecated->f.GetTexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexEnviv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetTexEnviv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetTexEnvfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetTexEnvfv(target, pname, params); + d_1_0_Deprecated->f.GetTexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetPolygonStipple(GLubyte *mask) { - d_1_0_Deprecated->GetPolygonStipple(mask); + d_1_0_Deprecated->f.GetPolygonStipple(mask); } inline void QOpenGLFunctions_4_5_Compatibility::glGetPixelMapusv(GLenum map, GLushort *values) { - d_1_0_Deprecated->GetPixelMapusv(map, values); + d_1_0_Deprecated->f.GetPixelMapusv(map, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetPixelMapuiv(GLenum map, GLuint *values) { - d_1_0_Deprecated->GetPixelMapuiv(map, values); + d_1_0_Deprecated->f.GetPixelMapuiv(map, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetPixelMapfv(GLenum map, GLfloat *values) { - d_1_0_Deprecated->GetPixelMapfv(map, values); + d_1_0_Deprecated->f.GetPixelMapfv(map, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMaterialiv(GLenum face, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetMaterialiv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialiv(face, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetMaterialfv(face, pname, params); + d_1_0_Deprecated->f.GetMaterialfv(face, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMapiv(GLenum target, GLenum query, GLint *v) { - d_1_0_Deprecated->GetMapiv(target, query, v); + d_1_0_Deprecated->f.GetMapiv(target, query, v); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMapfv(GLenum target, GLenum query, GLfloat *v) { - d_1_0_Deprecated->GetMapfv(target, query, v); + d_1_0_Deprecated->f.GetMapfv(target, query, v); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMapdv(GLenum target, GLenum query, GLdouble *v) { - d_1_0_Deprecated->GetMapdv(target, query, v); + d_1_0_Deprecated->f.GetMapdv(target, query, v); } inline void QOpenGLFunctions_4_5_Compatibility::glGetLightiv(GLenum light, GLenum pname, GLint *params) { - d_1_0_Deprecated->GetLightiv(light, pname, params); + d_1_0_Deprecated->f.GetLightiv(light, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetLightfv(GLenum light, GLenum pname, GLfloat *params) { - d_1_0_Deprecated->GetLightfv(light, pname, params); + d_1_0_Deprecated->f.GetLightfv(light, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetClipPlane(GLenum plane, GLdouble *equation) { - d_1_0_Deprecated->GetClipPlane(plane, equation); + d_1_0_Deprecated->f.GetClipPlane(plane, equation); } inline void QOpenGLFunctions_4_5_Compatibility::glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_1_0_Deprecated->DrawPixels(width, height, format, type, pixels); + d_1_0_Deprecated->f.DrawPixels(width, height, format, type, pixels); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) { - d_1_0_Deprecated->CopyPixels(x, y, width, height, type); + d_1_0_Deprecated->f.CopyPixels(x, y, width, height, type); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values) { - d_1_0_Deprecated->PixelMapusv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapusv(map, mapsize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values) { - d_1_0_Deprecated->PixelMapuiv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapuiv(map, mapsize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelMapfv(GLenum map, GLsizei mapsize, const GLfloat *values) { - d_1_0_Deprecated->PixelMapfv(map, mapsize, values); + d_1_0_Deprecated->f.PixelMapfv(map, mapsize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelTransferi(GLenum pname, GLint param) { - d_1_0_Deprecated->PixelTransferi(pname, param); + d_1_0_Deprecated->f.PixelTransferi(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelTransferf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->PixelTransferf(pname, param); + d_1_0_Deprecated->f.PixelTransferf(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glPixelZoom(GLfloat xfactor, GLfloat yfactor) { - d_1_0_Deprecated->PixelZoom(xfactor, yfactor); + d_1_0_Deprecated->f.PixelZoom(xfactor, yfactor); } inline void QOpenGLFunctions_4_5_Compatibility::glAlphaFunc(GLenum func, GLfloat ref) { - d_1_0_Deprecated->AlphaFunc(func, ref); + d_1_0_Deprecated->f.AlphaFunc(func, ref); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalPoint2(GLint i, GLint j) { - d_1_0_Deprecated->EvalPoint2(i, j); + d_1_0_Deprecated->f.EvalPoint2(i, j); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) { - d_1_0_Deprecated->EvalMesh2(mode, i1, i2, j1, j2); + d_1_0_Deprecated->f.EvalMesh2(mode, i1, i2, j1, j2); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalPoint1(GLint i) { - d_1_0_Deprecated->EvalPoint1(i); + d_1_0_Deprecated->f.EvalPoint1(i); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalMesh1(GLenum mode, GLint i1, GLint i2) { - d_1_0_Deprecated->EvalMesh1(mode, i1, i2); + d_1_0_Deprecated->f.EvalMesh1(mode, i1, i2); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord2fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord2fv(u); + d_1_0_Deprecated->f.EvalCoord2fv(u); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord2f(GLfloat u, GLfloat v) { - d_1_0_Deprecated->EvalCoord2f(u, v); + d_1_0_Deprecated->f.EvalCoord2f(u, v); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord2dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord2dv(u); + d_1_0_Deprecated->f.EvalCoord2dv(u); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord2d(GLdouble u, GLdouble v) { - d_1_0_Deprecated->EvalCoord2d(u, v); + d_1_0_Deprecated->f.EvalCoord2d(u, v); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord1fv(const GLfloat *u) { - d_1_0_Deprecated->EvalCoord1fv(u); + d_1_0_Deprecated->f.EvalCoord1fv(u); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord1f(GLfloat u) { - d_1_0_Deprecated->EvalCoord1f(u); + d_1_0_Deprecated->f.EvalCoord1f(u); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord1dv(const GLdouble *u) { - d_1_0_Deprecated->EvalCoord1dv(u); + d_1_0_Deprecated->f.EvalCoord1dv(u); } inline void QOpenGLFunctions_4_5_Compatibility::glEvalCoord1d(GLdouble u) { - d_1_0_Deprecated->EvalCoord1d(u); + d_1_0_Deprecated->f.EvalCoord1d(u); } inline void QOpenGLFunctions_4_5_Compatibility::glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) { - d_1_0_Deprecated->MapGrid2f(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2f(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) { - d_1_0_Deprecated->MapGrid2d(un, u1, u2, vn, v1, v2); + d_1_0_Deprecated->f.MapGrid2d(un, u1, u2, vn, v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glMapGrid1f(GLint un, GLfloat u1, GLfloat u2) { - d_1_0_Deprecated->MapGrid1f(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1f(un, u1, u2); } inline void QOpenGLFunctions_4_5_Compatibility::glMapGrid1d(GLint un, GLdouble u1, GLdouble u2) { - d_1_0_Deprecated->MapGrid1d(un, u1, u2); + d_1_0_Deprecated->f.MapGrid1d(un, u1, u2); } inline void QOpenGLFunctions_4_5_Compatibility::glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) { - d_1_0_Deprecated->Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2f(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_5_Compatibility::glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) { - d_1_0_Deprecated->Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); + d_1_0_Deprecated->f.Map2d(target, u1, u2, ustride, uorder, v1, v2, vstride, vorder, points); } inline void QOpenGLFunctions_4_5_Compatibility::glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) { - d_1_0_Deprecated->Map1f(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1f(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_5_Compatibility::glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) { - d_1_0_Deprecated->Map1d(target, u1, u2, stride, order, points); + d_1_0_Deprecated->f.Map1d(target, u1, u2, stride, order, points); } inline void QOpenGLFunctions_4_5_Compatibility::glPushAttrib(GLbitfield mask) { - d_1_0_Deprecated->PushAttrib(mask); + d_1_0_Deprecated->f.PushAttrib(mask); } inline void QOpenGLFunctions_4_5_Compatibility::glPopAttrib() { - d_1_0_Deprecated->PopAttrib(); + d_1_0_Deprecated->f.PopAttrib(); } inline void QOpenGLFunctions_4_5_Compatibility::glAccum(GLenum op, GLfloat value) { - d_1_0_Deprecated->Accum(op, value); + d_1_0_Deprecated->f.Accum(op, value); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexMask(GLuint mask) { - d_1_0_Deprecated->IndexMask(mask); + d_1_0_Deprecated->f.IndexMask(mask); } inline void QOpenGLFunctions_4_5_Compatibility::glClearIndex(GLfloat c) { - d_1_0_Deprecated->ClearIndex(c); + d_1_0_Deprecated->f.ClearIndex(c); } inline void QOpenGLFunctions_4_5_Compatibility::glClearAccum(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->ClearAccum(red, green, blue, alpha); + d_1_0_Deprecated->f.ClearAccum(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glPushName(GLuint name) { - d_1_0_Deprecated->PushName(name); + d_1_0_Deprecated->f.PushName(name); } inline void QOpenGLFunctions_4_5_Compatibility::glPopName() { - d_1_0_Deprecated->PopName(); + d_1_0_Deprecated->f.PopName(); } inline void QOpenGLFunctions_4_5_Compatibility::glPassThrough(GLfloat token) { - d_1_0_Deprecated->PassThrough(token); + d_1_0_Deprecated->f.PassThrough(token); } inline void QOpenGLFunctions_4_5_Compatibility::glLoadName(GLuint name) { - d_1_0_Deprecated->LoadName(name); + d_1_0_Deprecated->f.LoadName(name); } inline void QOpenGLFunctions_4_5_Compatibility::glInitNames() { - d_1_0_Deprecated->InitNames(); + d_1_0_Deprecated->f.InitNames(); } inline GLint QOpenGLFunctions_4_5_Compatibility::glRenderMode(GLenum mode) { - return d_1_0_Deprecated->RenderMode(mode); + return d_1_0_Deprecated->f.RenderMode(mode); } inline void QOpenGLFunctions_4_5_Compatibility::glSelectBuffer(GLsizei size, GLuint *buffer) { - d_1_0_Deprecated->SelectBuffer(size, buffer); + d_1_0_Deprecated->f.SelectBuffer(size, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glFeedbackBuffer(GLsizei size, GLenum type, GLfloat *buffer) { - d_1_0_Deprecated->FeedbackBuffer(size, type, buffer); + d_1_0_Deprecated->f.FeedbackBuffer(size, type, buffer); } inline void QOpenGLFunctions_4_5_Compatibility::glTexGeniv(GLenum coord, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexGeniv(coord, pname, params); + d_1_0_Deprecated->f.TexGeniv(coord, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexGeni(GLenum coord, GLenum pname, GLint param) { - d_1_0_Deprecated->TexGeni(coord, pname, param); + d_1_0_Deprecated->f.TexGeni(coord, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTexGenfv(GLenum coord, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexGenfv(coord, pname, params); + d_1_0_Deprecated->f.TexGenfv(coord, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexGenf(GLenum coord, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexGenf(coord, pname, param); + d_1_0_Deprecated->f.TexGenf(coord, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTexGendv(GLenum coord, GLenum pname, const GLdouble *params) { - d_1_0_Deprecated->TexGendv(coord, pname, params); + d_1_0_Deprecated->f.TexGendv(coord, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexGend(GLenum coord, GLenum pname, GLdouble param) { - d_1_0_Deprecated->TexGend(coord, pname, param); + d_1_0_Deprecated->f.TexGend(coord, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTexEnviv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Deprecated->TexEnviv(target, pname, params); + d_1_0_Deprecated->f.TexEnviv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexEnvi(GLenum target, GLenum pname, GLint param) { - d_1_0_Deprecated->TexEnvi(target, pname, param); + d_1_0_Deprecated->f.TexEnvi(target, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->TexEnvfv(target, pname, params); + d_1_0_Deprecated->f.TexEnvfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glTexEnvf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Deprecated->TexEnvf(target, pname, param); + d_1_0_Deprecated->f.TexEnvf(target, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glShadeModel(GLenum mode) { - d_1_0_Deprecated->ShadeModel(mode); + d_1_0_Deprecated->f.ShadeModel(mode); } inline void QOpenGLFunctions_4_5_Compatibility::glPolygonStipple(const GLubyte *mask) { - d_1_0_Deprecated->PolygonStipple(mask); + d_1_0_Deprecated->f.PolygonStipple(mask); } inline void QOpenGLFunctions_4_5_Compatibility::glMaterialiv(GLenum face, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Materialiv(face, pname, params); + d_1_0_Deprecated->f.Materialiv(face, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glMateriali(GLenum face, GLenum pname, GLint param) { - d_1_0_Deprecated->Materiali(face, pname, param); + d_1_0_Deprecated->f.Materiali(face, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Materialfv(face, pname, params); + d_1_0_Deprecated->f.Materialfv(face, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glMaterialf(GLenum face, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Materialf(face, pname, param); + d_1_0_Deprecated->f.Materialf(face, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glLineStipple(GLint factor, GLushort pattern) { - d_1_0_Deprecated->LineStipple(factor, pattern); + d_1_0_Deprecated->f.LineStipple(factor, pattern); } inline void QOpenGLFunctions_4_5_Compatibility::glLightModeliv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->LightModeliv(pname, params); + d_1_0_Deprecated->f.LightModeliv(pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glLightModeli(GLenum pname, GLint param) { - d_1_0_Deprecated->LightModeli(pname, param); + d_1_0_Deprecated->f.LightModeli(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glLightModelfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->LightModelfv(pname, params); + d_1_0_Deprecated->f.LightModelfv(pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glLightModelf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->LightModelf(pname, param); + d_1_0_Deprecated->f.LightModelf(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glLightiv(GLenum light, GLenum pname, const GLint *params) { - d_1_0_Deprecated->Lightiv(light, pname, params); + d_1_0_Deprecated->f.Lightiv(light, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glLighti(GLenum light, GLenum pname, GLint param) { - d_1_0_Deprecated->Lighti(light, pname, param); + d_1_0_Deprecated->f.Lighti(light, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glLightfv(GLenum light, GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Lightfv(light, pname, params); + d_1_0_Deprecated->f.Lightfv(light, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glLightf(GLenum light, GLenum pname, GLfloat param) { - d_1_0_Deprecated->Lightf(light, pname, param); + d_1_0_Deprecated->f.Lightf(light, pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glFogiv(GLenum pname, const GLint *params) { - d_1_0_Deprecated->Fogiv(pname, params); + d_1_0_Deprecated->f.Fogiv(pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glFogi(GLenum pname, GLint param) { - d_1_0_Deprecated->Fogi(pname, param); + d_1_0_Deprecated->f.Fogi(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glFogfv(GLenum pname, const GLfloat *params) { - d_1_0_Deprecated->Fogfv(pname, params); + d_1_0_Deprecated->f.Fogfv(pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glFogf(GLenum pname, GLfloat param) { - d_1_0_Deprecated->Fogf(pname, param); + d_1_0_Deprecated->f.Fogf(pname, param); } inline void QOpenGLFunctions_4_5_Compatibility::glColorMaterial(GLenum face, GLenum mode) { - d_1_0_Deprecated->ColorMaterial(face, mode); + d_1_0_Deprecated->f.ColorMaterial(face, mode); } inline void QOpenGLFunctions_4_5_Compatibility::glClipPlane(GLenum plane, const GLdouble *equation) { - d_1_0_Deprecated->ClipPlane(plane, equation); + d_1_0_Deprecated->f.ClipPlane(plane, equation); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4sv(const GLshort *v) { - d_1_0_Deprecated->Vertex4sv(v); + d_1_0_Deprecated->f.Vertex4sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->Vertex4s(x, y, z, w); + d_1_0_Deprecated->f.Vertex4s(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4iv(const GLint *v) { - d_1_0_Deprecated->Vertex4iv(v); + d_1_0_Deprecated->f.Vertex4iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->Vertex4i(x, y, z, w); + d_1_0_Deprecated->f.Vertex4i(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex4fv(v); + d_1_0_Deprecated->f.Vertex4fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->Vertex4f(x, y, z, w); + d_1_0_Deprecated->f.Vertex4f(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex4dv(v); + d_1_0_Deprecated->f.Vertex4dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->Vertex4d(x, y, z, w); + d_1_0_Deprecated->f.Vertex4d(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3sv(const GLshort *v) { - d_1_0_Deprecated->Vertex3sv(v); + d_1_0_Deprecated->f.Vertex3sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->Vertex3s(x, y, z); + d_1_0_Deprecated->f.Vertex3s(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3iv(const GLint *v) { - d_1_0_Deprecated->Vertex3iv(v); + d_1_0_Deprecated->f.Vertex3iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->Vertex3i(x, y, z); + d_1_0_Deprecated->f.Vertex3i(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex3fv(v); + d_1_0_Deprecated->f.Vertex3fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->Vertex3f(x, y, z); + d_1_0_Deprecated->f.Vertex3f(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex3dv(v); + d_1_0_Deprecated->f.Vertex3dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->Vertex3d(x, y, z); + d_1_0_Deprecated->f.Vertex3d(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2sv(const GLshort *v) { - d_1_0_Deprecated->Vertex2sv(v); + d_1_0_Deprecated->f.Vertex2sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2s(GLshort x, GLshort y) { - d_1_0_Deprecated->Vertex2s(x, y); + d_1_0_Deprecated->f.Vertex2s(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2iv(const GLint *v) { - d_1_0_Deprecated->Vertex2iv(v); + d_1_0_Deprecated->f.Vertex2iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2i(GLint x, GLint y) { - d_1_0_Deprecated->Vertex2i(x, y); + d_1_0_Deprecated->f.Vertex2i(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2fv(const GLfloat *v) { - d_1_0_Deprecated->Vertex2fv(v); + d_1_0_Deprecated->f.Vertex2fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->Vertex2f(x, y); + d_1_0_Deprecated->f.Vertex2f(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2dv(const GLdouble *v) { - d_1_0_Deprecated->Vertex2dv(v); + d_1_0_Deprecated->f.Vertex2dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glVertex2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->Vertex2d(x, y); + d_1_0_Deprecated->f.Vertex2d(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord4sv(v); + d_1_0_Deprecated->f.TexCoord4sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_0_Deprecated->TexCoord4s(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4s(s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4iv(const GLint *v) { - d_1_0_Deprecated->TexCoord4iv(v); + d_1_0_Deprecated->f.TexCoord4iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4i(GLint s, GLint t, GLint r, GLint q) { - d_1_0_Deprecated->TexCoord4i(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4i(s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord4fv(v); + d_1_0_Deprecated->f.TexCoord4fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_0_Deprecated->TexCoord4f(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4f(s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord4dv(v); + d_1_0_Deprecated->f.TexCoord4dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_0_Deprecated->TexCoord4d(s, t, r, q); + d_1_0_Deprecated->f.TexCoord4d(s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord3sv(v); + d_1_0_Deprecated->f.TexCoord3sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3s(GLshort s, GLshort t, GLshort r) { - d_1_0_Deprecated->TexCoord3s(s, t, r); + d_1_0_Deprecated->f.TexCoord3s(s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3iv(const GLint *v) { - d_1_0_Deprecated->TexCoord3iv(v); + d_1_0_Deprecated->f.TexCoord3iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3i(GLint s, GLint t, GLint r) { - d_1_0_Deprecated->TexCoord3i(s, t, r); + d_1_0_Deprecated->f.TexCoord3i(s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord3fv(v); + d_1_0_Deprecated->f.TexCoord3fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3f(GLfloat s, GLfloat t, GLfloat r) { - d_1_0_Deprecated->TexCoord3f(s, t, r); + d_1_0_Deprecated->f.TexCoord3f(s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord3dv(v); + d_1_0_Deprecated->f.TexCoord3dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord3d(GLdouble s, GLdouble t, GLdouble r) { - d_1_0_Deprecated->TexCoord3d(s, t, r); + d_1_0_Deprecated->f.TexCoord3d(s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord2sv(v); + d_1_0_Deprecated->f.TexCoord2sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2s(GLshort s, GLshort t) { - d_1_0_Deprecated->TexCoord2s(s, t); + d_1_0_Deprecated->f.TexCoord2s(s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2iv(const GLint *v) { - d_1_0_Deprecated->TexCoord2iv(v); + d_1_0_Deprecated->f.TexCoord2iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2i(GLint s, GLint t) { - d_1_0_Deprecated->TexCoord2i(s, t); + d_1_0_Deprecated->f.TexCoord2i(s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord2fv(v); + d_1_0_Deprecated->f.TexCoord2fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2f(GLfloat s, GLfloat t) { - d_1_0_Deprecated->TexCoord2f(s, t); + d_1_0_Deprecated->f.TexCoord2f(s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord2dv(v); + d_1_0_Deprecated->f.TexCoord2dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord2d(GLdouble s, GLdouble t) { - d_1_0_Deprecated->TexCoord2d(s, t); + d_1_0_Deprecated->f.TexCoord2d(s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1sv(const GLshort *v) { - d_1_0_Deprecated->TexCoord1sv(v); + d_1_0_Deprecated->f.TexCoord1sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1s(GLshort s) { - d_1_0_Deprecated->TexCoord1s(s); + d_1_0_Deprecated->f.TexCoord1s(s); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1iv(const GLint *v) { - d_1_0_Deprecated->TexCoord1iv(v); + d_1_0_Deprecated->f.TexCoord1iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1i(GLint s) { - d_1_0_Deprecated->TexCoord1i(s); + d_1_0_Deprecated->f.TexCoord1i(s); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1fv(const GLfloat *v) { - d_1_0_Deprecated->TexCoord1fv(v); + d_1_0_Deprecated->f.TexCoord1fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1f(GLfloat s) { - d_1_0_Deprecated->TexCoord1f(s); + d_1_0_Deprecated->f.TexCoord1f(s); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1dv(const GLdouble *v) { - d_1_0_Deprecated->TexCoord1dv(v); + d_1_0_Deprecated->f.TexCoord1dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoord1d(GLdouble s) { - d_1_0_Deprecated->TexCoord1d(s); + d_1_0_Deprecated->f.TexCoord1d(s); } inline void QOpenGLFunctions_4_5_Compatibility::glRectsv(const GLshort *v1, const GLshort *v2) { - d_1_0_Deprecated->Rectsv(v1, v2); + d_1_0_Deprecated->f.Rectsv(v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { - d_1_0_Deprecated->Rects(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rects(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_5_Compatibility::glRectiv(const GLint *v1, const GLint *v2) { - d_1_0_Deprecated->Rectiv(v1, v2); + d_1_0_Deprecated->f.Rectiv(v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glRecti(GLint x1, GLint y1, GLint x2, GLint y2) { - d_1_0_Deprecated->Recti(x1, y1, x2, y2); + d_1_0_Deprecated->f.Recti(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_5_Compatibility::glRectfv(const GLfloat *v1, const GLfloat *v2) { - d_1_0_Deprecated->Rectfv(v1, v2); + d_1_0_Deprecated->f.Rectfv(v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) { - d_1_0_Deprecated->Rectf(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectf(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_5_Compatibility::glRectdv(const GLdouble *v1, const GLdouble *v2) { - d_1_0_Deprecated->Rectdv(v1, v2); + d_1_0_Deprecated->f.Rectdv(v1, v2); } inline void QOpenGLFunctions_4_5_Compatibility::glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { - d_1_0_Deprecated->Rectd(x1, y1, x2, y2); + d_1_0_Deprecated->f.Rectd(x1, y1, x2, y2); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos4sv(v); + d_1_0_Deprecated->f.RasterPos4sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { - d_1_0_Deprecated->RasterPos4s(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4s(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4iv(const GLint *v) { - d_1_0_Deprecated->RasterPos4iv(v); + d_1_0_Deprecated->f.RasterPos4iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4i(GLint x, GLint y, GLint z, GLint w) { - d_1_0_Deprecated->RasterPos4i(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4i(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos4fv(v); + d_1_0_Deprecated->f.RasterPos4fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_1_0_Deprecated->RasterPos4f(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4f(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos4dv(v); + d_1_0_Deprecated->f.RasterPos4dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_1_0_Deprecated->RasterPos4d(x, y, z, w); + d_1_0_Deprecated->f.RasterPos4d(x, y, z, w); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos3sv(v); + d_1_0_Deprecated->f.RasterPos3sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3s(GLshort x, GLshort y, GLshort z) { - d_1_0_Deprecated->RasterPos3s(x, y, z); + d_1_0_Deprecated->f.RasterPos3s(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3iv(const GLint *v) { - d_1_0_Deprecated->RasterPos3iv(v); + d_1_0_Deprecated->f.RasterPos3iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3i(GLint x, GLint y, GLint z) { - d_1_0_Deprecated->RasterPos3i(x, y, z); + d_1_0_Deprecated->f.RasterPos3i(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos3fv(v); + d_1_0_Deprecated->f.RasterPos3fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_0_Deprecated->RasterPos3f(x, y, z); + d_1_0_Deprecated->f.RasterPos3f(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos3dv(v); + d_1_0_Deprecated->f.RasterPos3dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_0_Deprecated->RasterPos3d(x, y, z); + d_1_0_Deprecated->f.RasterPos3d(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2sv(const GLshort *v) { - d_1_0_Deprecated->RasterPos2sv(v); + d_1_0_Deprecated->f.RasterPos2sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2s(GLshort x, GLshort y) { - d_1_0_Deprecated->RasterPos2s(x, y); + d_1_0_Deprecated->f.RasterPos2s(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2iv(const GLint *v) { - d_1_0_Deprecated->RasterPos2iv(v); + d_1_0_Deprecated->f.RasterPos2iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2i(GLint x, GLint y) { - d_1_0_Deprecated->RasterPos2i(x, y); + d_1_0_Deprecated->f.RasterPos2i(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2fv(const GLfloat *v) { - d_1_0_Deprecated->RasterPos2fv(v); + d_1_0_Deprecated->f.RasterPos2fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2f(GLfloat x, GLfloat y) { - d_1_0_Deprecated->RasterPos2f(x, y); + d_1_0_Deprecated->f.RasterPos2f(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2dv(const GLdouble *v) { - d_1_0_Deprecated->RasterPos2dv(v); + d_1_0_Deprecated->f.RasterPos2dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glRasterPos2d(GLdouble x, GLdouble y) { - d_1_0_Deprecated->RasterPos2d(x, y); + d_1_0_Deprecated->f.RasterPos2d(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3sv(const GLshort *v) { - d_1_0_Deprecated->Normal3sv(v); + d_1_0_Deprecated->f.Normal3sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3s(GLshort nx, GLshort ny, GLshort nz) { - d_1_0_Deprecated->Normal3s(nx, ny, nz); + d_1_0_Deprecated->f.Normal3s(nx, ny, nz); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3iv(const GLint *v) { - d_1_0_Deprecated->Normal3iv(v); + d_1_0_Deprecated->f.Normal3iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3i(GLint nx, GLint ny, GLint nz) { - d_1_0_Deprecated->Normal3i(nx, ny, nz); + d_1_0_Deprecated->f.Normal3i(nx, ny, nz); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3fv(const GLfloat *v) { - d_1_0_Deprecated->Normal3fv(v); + d_1_0_Deprecated->f.Normal3fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { - d_1_0_Deprecated->Normal3f(nx, ny, nz); + d_1_0_Deprecated->f.Normal3f(nx, ny, nz); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3dv(const GLdouble *v) { - d_1_0_Deprecated->Normal3dv(v); + d_1_0_Deprecated->f.Normal3dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz) { - d_1_0_Deprecated->Normal3d(nx, ny, nz); + d_1_0_Deprecated->f.Normal3d(nx, ny, nz); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3bv(const GLbyte *v) { - d_1_0_Deprecated->Normal3bv(v); + d_1_0_Deprecated->f.Normal3bv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz) { - d_1_0_Deprecated->Normal3b(nx, ny, nz); + d_1_0_Deprecated->f.Normal3b(nx, ny, nz); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexsv(const GLshort *c) { - d_1_0_Deprecated->Indexsv(c); + d_1_0_Deprecated->f.Indexsv(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexs(GLshort c) { - d_1_0_Deprecated->Indexs(c); + d_1_0_Deprecated->f.Indexs(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexiv(const GLint *c) { - d_1_0_Deprecated->Indexiv(c); + d_1_0_Deprecated->f.Indexiv(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexi(GLint c) { - d_1_0_Deprecated->Indexi(c); + d_1_0_Deprecated->f.Indexi(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexfv(const GLfloat *c) { - d_1_0_Deprecated->Indexfv(c); + d_1_0_Deprecated->f.Indexfv(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexf(GLfloat c) { - d_1_0_Deprecated->Indexf(c); + d_1_0_Deprecated->f.Indexf(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexdv(const GLdouble *c) { - d_1_0_Deprecated->Indexdv(c); + d_1_0_Deprecated->f.Indexdv(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexd(GLdouble c) { - d_1_0_Deprecated->Indexd(c); + d_1_0_Deprecated->f.Indexd(c); } inline void QOpenGLFunctions_4_5_Compatibility::glEnd() { - d_1_0_Deprecated->End(); + d_1_0_Deprecated->f.End(); } inline void QOpenGLFunctions_4_5_Compatibility::glEdgeFlagv(const GLboolean *flag) { - d_1_0_Deprecated->EdgeFlagv(flag); + d_1_0_Deprecated->f.EdgeFlagv(flag); } inline void QOpenGLFunctions_4_5_Compatibility::glEdgeFlag(GLboolean flag) { - d_1_0_Deprecated->EdgeFlag(flag); + d_1_0_Deprecated->f.EdgeFlag(flag); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4usv(const GLushort *v) { - d_1_0_Deprecated->Color4usv(v); + d_1_0_Deprecated->f.Color4usv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4us(GLushort red, GLushort green, GLushort blue, GLushort alpha) { - d_1_0_Deprecated->Color4us(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4us(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4uiv(const GLuint *v) { - d_1_0_Deprecated->Color4uiv(v); + d_1_0_Deprecated->f.Color4uiv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4ui(GLuint red, GLuint green, GLuint blue, GLuint alpha) { - d_1_0_Deprecated->Color4ui(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ui(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4ubv(const GLubyte *v) { - d_1_0_Deprecated->Color4ubv(v); + d_1_0_Deprecated->f.Color4ubv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) { - d_1_0_Deprecated->Color4ub(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4ub(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4sv(const GLshort *v) { - d_1_0_Deprecated->Color4sv(v); + d_1_0_Deprecated->f.Color4sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4s(GLshort red, GLshort green, GLshort blue, GLshort alpha) { - d_1_0_Deprecated->Color4s(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4s(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4iv(const GLint *v) { - d_1_0_Deprecated->Color4iv(v); + d_1_0_Deprecated->f.Color4iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4i(GLint red, GLint green, GLint blue, GLint alpha) { - d_1_0_Deprecated->Color4i(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4i(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4fv(const GLfloat *v) { - d_1_0_Deprecated->Color4fv(v); + d_1_0_Deprecated->f.Color4fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Deprecated->Color4f(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4f(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4dv(const GLdouble *v) { - d_1_0_Deprecated->Color4dv(v); + d_1_0_Deprecated->f.Color4dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) { - d_1_0_Deprecated->Color4d(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4d(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4bv(const GLbyte *v) { - d_1_0_Deprecated->Color4bv(v); + d_1_0_Deprecated->f.Color4bv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) { - d_1_0_Deprecated->Color4b(red, green, blue, alpha); + d_1_0_Deprecated->f.Color4b(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3usv(const GLushort *v) { - d_1_0_Deprecated->Color3usv(v); + d_1_0_Deprecated->f.Color3usv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_0_Deprecated->Color3us(red, green, blue); + d_1_0_Deprecated->f.Color3us(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3uiv(const GLuint *v) { - d_1_0_Deprecated->Color3uiv(v); + d_1_0_Deprecated->f.Color3uiv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_0_Deprecated->Color3ui(red, green, blue); + d_1_0_Deprecated->f.Color3ui(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3ubv(const GLubyte *v) { - d_1_0_Deprecated->Color3ubv(v); + d_1_0_Deprecated->f.Color3ubv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_0_Deprecated->Color3ub(red, green, blue); + d_1_0_Deprecated->f.Color3ub(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3sv(const GLshort *v) { - d_1_0_Deprecated->Color3sv(v); + d_1_0_Deprecated->f.Color3sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_0_Deprecated->Color3s(red, green, blue); + d_1_0_Deprecated->f.Color3s(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3iv(const GLint *v) { - d_1_0_Deprecated->Color3iv(v); + d_1_0_Deprecated->f.Color3iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3i(GLint red, GLint green, GLint blue) { - d_1_0_Deprecated->Color3i(red, green, blue); + d_1_0_Deprecated->f.Color3i(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3fv(const GLfloat *v) { - d_1_0_Deprecated->Color3fv(v); + d_1_0_Deprecated->f.Color3fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_0_Deprecated->Color3f(red, green, blue); + d_1_0_Deprecated->f.Color3f(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3dv(const GLdouble *v) { - d_1_0_Deprecated->Color3dv(v); + d_1_0_Deprecated->f.Color3dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_0_Deprecated->Color3d(red, green, blue); + d_1_0_Deprecated->f.Color3d(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3bv(const GLbyte *v) { - d_1_0_Deprecated->Color3bv(v); + d_1_0_Deprecated->f.Color3bv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_0_Deprecated->Color3b(red, green, blue); + d_1_0_Deprecated->f.Color3b(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glBitmap(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) { - d_1_0_Deprecated->Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); + d_1_0_Deprecated->f.Bitmap(width, height, xorig, yorig, xmove, ymove, bitmap); } inline void QOpenGLFunctions_4_5_Compatibility::glBegin(GLenum mode) { - d_1_0_Deprecated->Begin(mode); + d_1_0_Deprecated->f.Begin(mode); } inline void QOpenGLFunctions_4_5_Compatibility::glListBase(GLuint base) { - d_1_0_Deprecated->ListBase(base); + d_1_0_Deprecated->f.ListBase(base); } inline GLuint QOpenGLFunctions_4_5_Compatibility::glGenLists(GLsizei range) { - return d_1_0_Deprecated->GenLists(range); + return d_1_0_Deprecated->f.GenLists(range); } inline void QOpenGLFunctions_4_5_Compatibility::glDeleteLists(GLuint list, GLsizei range) { - d_1_0_Deprecated->DeleteLists(list, range); + d_1_0_Deprecated->f.DeleteLists(list, range); } inline void QOpenGLFunctions_4_5_Compatibility::glCallLists(GLsizei n, GLenum type, const void *lists) { - d_1_0_Deprecated->CallLists(n, type, lists); + d_1_0_Deprecated->f.CallLists(n, type, lists); } inline void QOpenGLFunctions_4_5_Compatibility::glCallList(GLuint list) { - d_1_0_Deprecated->CallList(list); + d_1_0_Deprecated->f.CallList(list); } inline void QOpenGLFunctions_4_5_Compatibility::glEndList() { - d_1_0_Deprecated->EndList(); + d_1_0_Deprecated->f.EndList(); } inline void QOpenGLFunctions_4_5_Compatibility::glNewList(GLuint list, GLenum mode) { - d_1_0_Deprecated->NewList(list, mode); + d_1_0_Deprecated->f.NewList(list, mode); } // OpenGL 1.1 deprecated functions inline void QOpenGLFunctions_4_5_Compatibility::glPushClientAttrib(GLbitfield mask) { - d_1_1_Deprecated->PushClientAttrib(mask); + d_1_1_Deprecated->f.PushClientAttrib(mask); } inline void QOpenGLFunctions_4_5_Compatibility::glPopClientAttrib() { - d_1_1_Deprecated->PopClientAttrib(); + d_1_1_Deprecated->f.PopClientAttrib(); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexubv(const GLubyte *c) { - d_1_1_Deprecated->Indexubv(c); + d_1_1_Deprecated->f.Indexubv(c); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexub(GLubyte c) { - d_1_1_Deprecated->Indexub(c); + d_1_1_Deprecated->f.Indexub(c); } inline void QOpenGLFunctions_4_5_Compatibility::glPrioritizeTextures(GLsizei n, const GLuint *textures, const GLfloat *priorities) { - d_1_1_Deprecated->PrioritizeTextures(n, textures, priorities); + d_1_1_Deprecated->f.PrioritizeTextures(n, textures, priorities); } inline GLboolean QOpenGLFunctions_4_5_Compatibility::glAreTexturesResident(GLsizei n, const GLuint *textures, GLboolean *residences) { - return d_1_1_Deprecated->AreTexturesResident(n, textures, residences); + return d_1_1_Deprecated->f.AreTexturesResident(n, textures, residences); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->VertexPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.VertexPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->TexCoordPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.TexCoordPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glNormalPointer(GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->NormalPointer(type, stride, pointer); + d_1_1_Deprecated->f.NormalPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glInterleavedArrays(GLenum format, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->InterleavedArrays(format, stride, pointer); + d_1_1_Deprecated->f.InterleavedArrays(format, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glGetPointerv(GLenum pname, void * *params) { - d_1_1_Deprecated->GetPointerv(pname, params); + d_1_1_Deprecated->f.GetPointerv(pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glIndexPointer(GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->IndexPointer(type, stride, pointer); + d_1_1_Deprecated->f.IndexPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glEnableClientState(GLenum array) { - d_1_1_Deprecated->EnableClientState(array); + d_1_1_Deprecated->f.EnableClientState(array); } inline void QOpenGLFunctions_4_5_Compatibility::glEdgeFlagPointer(GLsizei stride, const void *pointer) { - d_1_1_Deprecated->EdgeFlagPointer(stride, pointer); + d_1_1_Deprecated->f.EdgeFlagPointer(stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glDisableClientState(GLenum array) { - d_1_1_Deprecated->DisableClientState(array); + d_1_1_Deprecated->f.DisableClientState(array); } inline void QOpenGLFunctions_4_5_Compatibility::glColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_1_Deprecated->ColorPointer(size, type, stride, pointer); + d_1_1_Deprecated->f.ColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glArrayElement(GLint i) { - d_1_1_Deprecated->ArrayElement(i); + d_1_1_Deprecated->f.ArrayElement(i); } // OpenGL 1.2 deprecated functions inline void QOpenGLFunctions_4_5_Compatibility::glColorTable(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table) { - d_1_2_Deprecated->ColorTable(target, internalformat, width, format, type, table); + d_1_2_Deprecated->f.ColorTable(target, internalformat, width, format, type, table); } inline void QOpenGLFunctions_4_5_Compatibility::glColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.ColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorTable(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyColorTable(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_5_Compatibility::glGetColorTable(GLenum target, GLenum format, GLenum type, void *table) { - d_1_2_Deprecated->GetColorTable(target, format, type, table); + d_1_2_Deprecated->f.GetColorTable(target, format, type, table); } inline void QOpenGLFunctions_4_5_Compatibility::glGetColorTableParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetColorTableParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetColorTableParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetColorTableParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetColorTableParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glColorSubTable(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data) { - d_1_2_Deprecated->ColorSubTable(target, start, count, format, type, data); + d_1_2_Deprecated->f.ColorSubTable(target, start, count, format, type, data); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyColorSubTable(target, start, x, y, width); + d_1_2_Deprecated->f.CopyColorSubTable(target, start, x, y, width); } inline void QOpenGLFunctions_4_5_Compatibility::glConvolutionFilter1D(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image) { - d_1_2_Deprecated->ConvolutionFilter1D(target, internalformat, width, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter1D(target, internalformat, width, format, type, image); } inline void QOpenGLFunctions_4_5_Compatibility::glConvolutionFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image) { - d_1_2_Deprecated->ConvolutionFilter2D(target, internalformat, width, height, format, type, image); + d_1_2_Deprecated->f.ConvolutionFilter2D(target, internalformat, width, height, format, type, image); } inline void QOpenGLFunctions_4_5_Compatibility::glConvolutionParameterf(GLenum target, GLenum pname, GLfloat params) { - d_1_2_Deprecated->ConvolutionParameterf(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterf(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_2_Deprecated->ConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glConvolutionParameteri(GLenum target, GLenum pname, GLint params) { - d_1_2_Deprecated->ConvolutionParameteri(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteri(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_2_Deprecated->ConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.ConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyConvolutionFilter1D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { - d_1_2_Deprecated->CopyConvolutionFilter1D(target, internalformat, x, y, width); + d_1_2_Deprecated->f.CopyConvolutionFilter1D(target, internalformat, x, y, width); } inline void QOpenGLFunctions_4_5_Compatibility::glCopyConvolutionFilter2D(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Deprecated->CopyConvolutionFilter2D(target, internalformat, x, y, width, height); + d_1_2_Deprecated->f.CopyConvolutionFilter2D(target, internalformat, x, y, width, height); } inline void QOpenGLFunctions_4_5_Compatibility::glGetConvolutionFilter(GLenum target, GLenum format, GLenum type, void *image) { - d_1_2_Deprecated->GetConvolutionFilter(target, format, type, image); + d_1_2_Deprecated->f.GetConvolutionFilter(target, format, type, image); } inline void QOpenGLFunctions_4_5_Compatibility::glGetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetConvolutionParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetConvolutionParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetConvolutionParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetSeparableFilter(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span) { - d_1_2_Deprecated->GetSeparableFilter(target, format, type, row, column, span); + d_1_2_Deprecated->f.GetSeparableFilter(target, format, type, row, column, span); } inline void QOpenGLFunctions_4_5_Compatibility::glSeparableFilter2D(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column) { - d_1_2_Deprecated->SeparableFilter2D(target, internalformat, width, height, format, type, row, column); + d_1_2_Deprecated->f.SeparableFilter2D(target, internalformat, width, height, format, type, row, column); } inline void QOpenGLFunctions_4_5_Compatibility::glGetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values) { - d_1_2_Deprecated->GetHistogram(target, reset, format, type, values); + d_1_2_Deprecated->f.GetHistogram(target, reset, format, type, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetHistogramParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetHistogramParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetHistogramParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, void *values) { - d_1_2_Deprecated->GetMinmax(target, reset, format, type, values); + d_1_2_Deprecated->f.GetMinmax(target, reset, format, type, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_2_Deprecated->GetMinmaxParameterfv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glGetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_2_Deprecated->GetMinmaxParameteriv(target, pname, params); + d_1_2_Deprecated->f.GetMinmaxParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Compatibility::glHistogram(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Histogram(target, width, internalformat, sink); + d_1_2_Deprecated->f.Histogram(target, width, internalformat, sink); } inline void QOpenGLFunctions_4_5_Compatibility::glMinmax(GLenum target, GLenum internalformat, GLboolean sink) { - d_1_2_Deprecated->Minmax(target, internalformat, sink); + d_1_2_Deprecated->f.Minmax(target, internalformat, sink); } inline void QOpenGLFunctions_4_5_Compatibility::glResetHistogram(GLenum target) { - d_1_2_Deprecated->ResetHistogram(target); + d_1_2_Deprecated->f.ResetHistogram(target); } inline void QOpenGLFunctions_4_5_Compatibility::glResetMinmax(GLenum target) { - d_1_2_Deprecated->ResetMinmax(target); + d_1_2_Deprecated->f.ResetMinmax(target); } // OpenGL 1.3 deprecated functions inline void QOpenGLFunctions_4_5_Compatibility::glMultTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->MultTransposeMatrixd(m); + d_1_3_Deprecated->f.MultTransposeMatrixd(m); } inline void QOpenGLFunctions_4_5_Compatibility::glMultTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->MultTransposeMatrixf(m); + d_1_3_Deprecated->f.MultTransposeMatrixf(m); } inline void QOpenGLFunctions_4_5_Compatibility::glLoadTransposeMatrixd(const GLdouble *m) { - d_1_3_Deprecated->LoadTransposeMatrixd(m); + d_1_3_Deprecated->f.LoadTransposeMatrixd(m); } inline void QOpenGLFunctions_4_5_Compatibility::glLoadTransposeMatrixf(const GLfloat *m) { - d_1_3_Deprecated->LoadTransposeMatrixf(m); + d_1_3_Deprecated->f.LoadTransposeMatrixf(m); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord4sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4sv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4s(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { - d_1_3_Deprecated->MultiTexCoord4s(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4s(target, s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord4iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4iv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r, GLint q) { - d_1_3_Deprecated->MultiTexCoord4i(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4i(target, s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord4fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4fv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) { - d_1_3_Deprecated->MultiTexCoord4f(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4f(target, s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord4dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord4dv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { - d_1_3_Deprecated->MultiTexCoord4d(target, s, t, r, q); + d_1_3_Deprecated->f.MultiTexCoord4d(target, s, t, r, q); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord3sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3sv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3s(GLenum target, GLshort s, GLshort t, GLshort r) { - d_1_3_Deprecated->MultiTexCoord3s(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3s(target, s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord3iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3iv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r) { - d_1_3_Deprecated->MultiTexCoord3i(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3i(target, s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord3fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3fv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t, GLfloat r) { - d_1_3_Deprecated->MultiTexCoord3f(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3f(target, s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord3dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord3dv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t, GLdouble r) { - d_1_3_Deprecated->MultiTexCoord3d(target, s, t, r); + d_1_3_Deprecated->f.MultiTexCoord3d(target, s, t, r); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord2sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2sv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2s(GLenum target, GLshort s, GLshort t) { - d_1_3_Deprecated->MultiTexCoord2s(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2s(target, s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord2iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2iv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2i(GLenum target, GLint s, GLint t) { - d_1_3_Deprecated->MultiTexCoord2i(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2i(target, s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord2fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2fv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t) { - d_1_3_Deprecated->MultiTexCoord2f(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2f(target, s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord2dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord2dv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t) { - d_1_3_Deprecated->MultiTexCoord2d(target, s, t); + d_1_3_Deprecated->f.MultiTexCoord2d(target, s, t); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1sv(GLenum target, const GLshort *v) { - d_1_3_Deprecated->MultiTexCoord1sv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1sv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1s(GLenum target, GLshort s) { - d_1_3_Deprecated->MultiTexCoord1s(target, s); + d_1_3_Deprecated->f.MultiTexCoord1s(target, s); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1iv(GLenum target, const GLint *v) { - d_1_3_Deprecated->MultiTexCoord1iv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1iv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1i(GLenum target, GLint s) { - d_1_3_Deprecated->MultiTexCoord1i(target, s); + d_1_3_Deprecated->f.MultiTexCoord1i(target, s); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1fv(GLenum target, const GLfloat *v) { - d_1_3_Deprecated->MultiTexCoord1fv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1fv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1f(GLenum target, GLfloat s) { - d_1_3_Deprecated->MultiTexCoord1f(target, s); + d_1_3_Deprecated->f.MultiTexCoord1f(target, s); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1dv(GLenum target, const GLdouble *v) { - d_1_3_Deprecated->MultiTexCoord1dv(target, v); + d_1_3_Deprecated->f.MultiTexCoord1dv(target, v); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoord1d(GLenum target, GLdouble s) { - d_1_3_Deprecated->MultiTexCoord1d(target, s); + d_1_3_Deprecated->f.MultiTexCoord1d(target, s); } inline void QOpenGLFunctions_4_5_Compatibility::glClientActiveTexture(GLenum texture) { - d_1_3_Deprecated->ClientActiveTexture(texture); + d_1_3_Deprecated->f.ClientActiveTexture(texture); } // OpenGL 1.4 deprecated functions inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos3sv(v); + d_1_4_Deprecated->f.WindowPos3sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3s(GLshort x, GLshort y, GLshort z) { - d_1_4_Deprecated->WindowPos3s(x, y, z); + d_1_4_Deprecated->f.WindowPos3s(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3iv(const GLint *v) { - d_1_4_Deprecated->WindowPos3iv(v); + d_1_4_Deprecated->f.WindowPos3iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3i(GLint x, GLint y, GLint z) { - d_1_4_Deprecated->WindowPos3i(x, y, z); + d_1_4_Deprecated->f.WindowPos3i(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos3fv(v); + d_1_4_Deprecated->f.WindowPos3fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3f(GLfloat x, GLfloat y, GLfloat z) { - d_1_4_Deprecated->WindowPos3f(x, y, z); + d_1_4_Deprecated->f.WindowPos3f(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos3dv(v); + d_1_4_Deprecated->f.WindowPos3dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos3d(GLdouble x, GLdouble y, GLdouble z) { - d_1_4_Deprecated->WindowPos3d(x, y, z); + d_1_4_Deprecated->f.WindowPos3d(x, y, z); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2sv(const GLshort *v) { - d_1_4_Deprecated->WindowPos2sv(v); + d_1_4_Deprecated->f.WindowPos2sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2s(GLshort x, GLshort y) { - d_1_4_Deprecated->WindowPos2s(x, y); + d_1_4_Deprecated->f.WindowPos2s(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2iv(const GLint *v) { - d_1_4_Deprecated->WindowPos2iv(v); + d_1_4_Deprecated->f.WindowPos2iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2i(GLint x, GLint y) { - d_1_4_Deprecated->WindowPos2i(x, y); + d_1_4_Deprecated->f.WindowPos2i(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2fv(const GLfloat *v) { - d_1_4_Deprecated->WindowPos2fv(v); + d_1_4_Deprecated->f.WindowPos2fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2f(GLfloat x, GLfloat y) { - d_1_4_Deprecated->WindowPos2f(x, y); + d_1_4_Deprecated->f.WindowPos2f(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2dv(const GLdouble *v) { - d_1_4_Deprecated->WindowPos2dv(v); + d_1_4_Deprecated->f.WindowPos2dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glWindowPos2d(GLdouble x, GLdouble y) { - d_1_4_Deprecated->WindowPos2d(x, y); + d_1_4_Deprecated->f.WindowPos2d(x, y); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColorPointer(GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_1_4_Deprecated->SecondaryColorPointer(size, type, stride, pointer); + d_1_4_Deprecated->f.SecondaryColorPointer(size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3usv(const GLushort *v) { - d_1_4_Deprecated->SecondaryColor3usv(v); + d_1_4_Deprecated->f.SecondaryColor3usv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3us(GLushort red, GLushort green, GLushort blue) { - d_1_4_Deprecated->SecondaryColor3us(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3us(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3uiv(const GLuint *v) { - d_1_4_Deprecated->SecondaryColor3uiv(v); + d_1_4_Deprecated->f.SecondaryColor3uiv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3ui(GLuint red, GLuint green, GLuint blue) { - d_1_4_Deprecated->SecondaryColor3ui(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ui(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3ubv(const GLubyte *v) { - d_1_4_Deprecated->SecondaryColor3ubv(v); + d_1_4_Deprecated->f.SecondaryColor3ubv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3ub(GLubyte red, GLubyte green, GLubyte blue) { - d_1_4_Deprecated->SecondaryColor3ub(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3ub(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3sv(const GLshort *v) { - d_1_4_Deprecated->SecondaryColor3sv(v); + d_1_4_Deprecated->f.SecondaryColor3sv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3s(GLshort red, GLshort green, GLshort blue) { - d_1_4_Deprecated->SecondaryColor3s(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3s(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3iv(const GLint *v) { - d_1_4_Deprecated->SecondaryColor3iv(v); + d_1_4_Deprecated->f.SecondaryColor3iv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3i(GLint red, GLint green, GLint blue) { - d_1_4_Deprecated->SecondaryColor3i(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3i(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3fv(const GLfloat *v) { - d_1_4_Deprecated->SecondaryColor3fv(v); + d_1_4_Deprecated->f.SecondaryColor3fv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3f(GLfloat red, GLfloat green, GLfloat blue) { - d_1_4_Deprecated->SecondaryColor3f(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3f(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3dv(const GLdouble *v) { - d_1_4_Deprecated->SecondaryColor3dv(v); + d_1_4_Deprecated->f.SecondaryColor3dv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3d(GLdouble red, GLdouble green, GLdouble blue) { - d_1_4_Deprecated->SecondaryColor3d(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3d(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3bv(const GLbyte *v) { - d_1_4_Deprecated->SecondaryColor3bv(v); + d_1_4_Deprecated->f.SecondaryColor3bv(v); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColor3b(GLbyte red, GLbyte green, GLbyte blue) { - d_1_4_Deprecated->SecondaryColor3b(red, green, blue); + d_1_4_Deprecated->f.SecondaryColor3b(red, green, blue); } inline void QOpenGLFunctions_4_5_Compatibility::glFogCoordPointer(GLenum type, GLsizei stride, const void *pointer) { - d_1_4_Deprecated->FogCoordPointer(type, stride, pointer); + d_1_4_Deprecated->f.FogCoordPointer(type, stride, pointer); } inline void QOpenGLFunctions_4_5_Compatibility::glFogCoorddv(const GLdouble *coord) { - d_1_4_Deprecated->FogCoorddv(coord); + d_1_4_Deprecated->f.FogCoorddv(coord); } inline void QOpenGLFunctions_4_5_Compatibility::glFogCoordd(GLdouble coord) { - d_1_4_Deprecated->FogCoordd(coord); + d_1_4_Deprecated->f.FogCoordd(coord); } inline void QOpenGLFunctions_4_5_Compatibility::glFogCoordfv(const GLfloat *coord) { - d_1_4_Deprecated->FogCoordfv(coord); + d_1_4_Deprecated->f.FogCoordfv(coord); } inline void QOpenGLFunctions_4_5_Compatibility::glFogCoordf(GLfloat coord) { - d_1_4_Deprecated->FogCoordf(coord); + d_1_4_Deprecated->f.FogCoordf(coord); } @@ -6454,152 +6455,152 @@ inline void QOpenGLFunctions_4_5_Compatibility::glFogCoordf(GLfloat coord) // OpenGL 3.3 deprecated functions inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->SecondaryColorP3uiv(type, color); + d_3_3_Deprecated->f.SecondaryColorP3uiv(type, color); } inline void QOpenGLFunctions_4_5_Compatibility::glSecondaryColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->SecondaryColorP3ui(type, color); + d_3_3_Deprecated->f.SecondaryColorP3ui(type, color); } inline void QOpenGLFunctions_4_5_Compatibility::glColorP4uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP4uiv(type, color); + d_3_3_Deprecated->f.ColorP4uiv(type, color); } inline void QOpenGLFunctions_4_5_Compatibility::glColorP4ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP4ui(type, color); + d_3_3_Deprecated->f.ColorP4ui(type, color); } inline void QOpenGLFunctions_4_5_Compatibility::glColorP3uiv(GLenum type, const GLuint *color) { - d_3_3_Deprecated->ColorP3uiv(type, color); + d_3_3_Deprecated->f.ColorP3uiv(type, color); } inline void QOpenGLFunctions_4_5_Compatibility::glColorP3ui(GLenum type, GLuint color) { - d_3_3_Deprecated->ColorP3ui(type, color); + d_3_3_Deprecated->f.ColorP3ui(type, color); } inline void QOpenGLFunctions_4_5_Compatibility::glNormalP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->NormalP3uiv(type, coords); + d_3_3_Deprecated->f.NormalP3uiv(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glNormalP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->NormalP3ui(type, coords); + d_3_3_Deprecated->f.NormalP3ui(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP4uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP4uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4uiv(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP4ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP4ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP4ui(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP3uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP3uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3uiv(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP3ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP3ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP3ui(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP2uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP2uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2uiv(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP2ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP2ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP2ui(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP1uiv(GLenum texture, GLenum type, const GLuint *coords) { - d_3_3_Deprecated->MultiTexCoordP1uiv(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1uiv(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glMultiTexCoordP1ui(GLenum texture, GLenum type, GLuint coords) { - d_3_3_Deprecated->MultiTexCoordP1ui(texture, type, coords); + d_3_3_Deprecated->f.MultiTexCoordP1ui(texture, type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP4uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP4uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP4uiv(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP4ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP4ui(type, coords); + d_3_3_Deprecated->f.TexCoordP4ui(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP3uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP3uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP3uiv(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP3ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP3ui(type, coords); + d_3_3_Deprecated->f.TexCoordP3ui(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP2uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP2uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP2uiv(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP2ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP2ui(type, coords); + d_3_3_Deprecated->f.TexCoordP2ui(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP1uiv(GLenum type, const GLuint *coords) { - d_3_3_Deprecated->TexCoordP1uiv(type, coords); + d_3_3_Deprecated->f.TexCoordP1uiv(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glTexCoordP1ui(GLenum type, GLuint coords) { - d_3_3_Deprecated->TexCoordP1ui(type, coords); + d_3_3_Deprecated->f.TexCoordP1ui(type, coords); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexP4uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP4uiv(type, value); + d_3_3_Deprecated->f.VertexP4uiv(type, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexP4ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP4ui(type, value); + d_3_3_Deprecated->f.VertexP4ui(type, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexP3uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP3uiv(type, value); + d_3_3_Deprecated->f.VertexP3uiv(type, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexP3ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP3ui(type, value); + d_3_3_Deprecated->f.VertexP3ui(type, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexP2uiv(GLenum type, const GLuint *value) { - d_3_3_Deprecated->VertexP2uiv(type, value); + d_3_3_Deprecated->f.VertexP2uiv(type, value); } inline void QOpenGLFunctions_4_5_Compatibility::glVertexP2ui(GLenum type, GLuint value) { - d_3_3_Deprecated->VertexP2ui(type, value); + d_3_3_Deprecated->f.VertexP2ui(type, value); } @@ -6616,62 +6617,62 @@ inline void QOpenGLFunctions_4_5_Compatibility::glVertexP2ui(GLenum type, GLuint // OpenGL 4.5 deprecated functions inline void QOpenGLFunctions_4_5_Compatibility::glGetnMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values) { - d_4_5_Deprecated->GetnMinmax(target, reset, format, type, bufSize, values); + d_4_5_Deprecated->f.GetnMinmax(target, reset, format, type, bufSize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values) { - d_4_5_Deprecated->GetnHistogram(target, reset, format, type, bufSize, values); + d_4_5_Deprecated->f.GetnHistogram(target, reset, format, type, bufSize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnSeparableFilter(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span) { - d_4_5_Deprecated->GetnSeparableFilter(target, format, type, rowBufSize, row, columnBufSize, column, span); + d_4_5_Deprecated->f.GetnSeparableFilter(target, format, type, rowBufSize, row, columnBufSize, column, span); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnConvolutionFilter(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image) { - d_4_5_Deprecated->GetnConvolutionFilter(target, format, type, bufSize, image); + d_4_5_Deprecated->f.GetnConvolutionFilter(target, format, type, bufSize, image); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnColorTable(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table) { - d_4_5_Deprecated->GetnColorTable(target, format, type, bufSize, table); + d_4_5_Deprecated->f.GetnColorTable(target, format, type, bufSize, table); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnPolygonStipple(GLsizei bufSize, GLubyte *pattern) { - d_4_5_Deprecated->GetnPolygonStipple(bufSize, pattern); + d_4_5_Deprecated->f.GetnPolygonStipple(bufSize, pattern); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnPixelMapusv(GLenum map, GLsizei bufSize, GLushort *values) { - d_4_5_Deprecated->GetnPixelMapusv(map, bufSize, values); + d_4_5_Deprecated->f.GetnPixelMapusv(map, bufSize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnPixelMapuiv(GLenum map, GLsizei bufSize, GLuint *values) { - d_4_5_Deprecated->GetnPixelMapuiv(map, bufSize, values); + d_4_5_Deprecated->f.GetnPixelMapuiv(map, bufSize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnPixelMapfv(GLenum map, GLsizei bufSize, GLfloat *values) { - d_4_5_Deprecated->GetnPixelMapfv(map, bufSize, values); + d_4_5_Deprecated->f.GetnPixelMapfv(map, bufSize, values); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnMapiv(GLenum target, GLenum query, GLsizei bufSize, GLint *v) { - d_4_5_Deprecated->GetnMapiv(target, query, bufSize, v); + d_4_5_Deprecated->f.GetnMapiv(target, query, bufSize, v); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnMapfv(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v) { - d_4_5_Deprecated->GetnMapfv(target, query, bufSize, v); + d_4_5_Deprecated->f.GetnMapfv(target, query, bufSize, v); } inline void QOpenGLFunctions_4_5_Compatibility::glGetnMapdv(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v) { - d_4_5_Deprecated->GetnMapdv(target, query, bufSize, v); + d_4_5_Deprecated->f.GetnMapdv(target, query, bufSize, v); } diff --git a/src/gui/opengl/qopenglfunctions_4_5_core.h b/src/gui/opengl/qopenglfunctions_4_5_core.h index 14614a3a5e..b086e63917 100644 --- a/src/gui/opengl/qopenglfunctions_4_5_core.h +++ b/src/gui/opengl/qopenglfunctions_4_5_core.h @@ -1,9 +1,10 @@ /**************************************************************************** ** ** Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** -** This file is part of the QtWidgets module of the Qt Toolkit. +** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage @@ -779,3276 +780,3276 @@ private: // OpenGL 1.0 core functions inline void QOpenGLFunctions_4_5_Core::glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Viewport(x, y, width, height); + d_1_0_Core->f.Viewport(x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glDepthRange(GLdouble nearVal, GLdouble farVal) { - d_1_0_Core->DepthRange(nearVal, farVal); + d_1_0_Core->f.DepthRange(nearVal, farVal); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsEnabled(GLenum cap) { - return d_1_0_Core->IsEnabled(cap); + return d_1_0_Core->f.IsEnabled(cap); } inline void QOpenGLFunctions_4_5_Core::glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) { - d_1_0_Core->GetTexLevelParameteriv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameteriv(target, level, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexLevelParameterfv(target, level, pname, params); + d_1_0_Core->f.GetTexLevelParameterfv(target, level, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_0_Core->GetTexParameteriv(target, pname, params); + d_1_0_Core->f.GetTexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) { - d_1_0_Core->GetTexParameterfv(target, pname, params); + d_1_0_Core->f.GetTexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->GetTexImage(target, level, format, type, pixels); + d_1_0_Core->f.GetTexImage(target, level, format, type, pixels); } inline const GLubyte * QOpenGLFunctions_4_5_Core::glGetString(GLenum name) { - return d_1_0_Core->GetString(name); + return d_1_0_Core->f.GetString(name); } inline void QOpenGLFunctions_4_5_Core::glGetIntegerv(GLenum pname, GLint *data) { - d_1_0_Core->GetIntegerv(pname, data); + d_1_0_Core->f.GetIntegerv(pname, data); } inline void QOpenGLFunctions_4_5_Core::glGetFloatv(GLenum pname, GLfloat *data) { - d_1_0_Core->GetFloatv(pname, data); + d_1_0_Core->f.GetFloatv(pname, data); } inline GLenum QOpenGLFunctions_4_5_Core::glGetError() { - return d_1_0_Core->GetError(); + return d_1_0_Core->f.GetError(); } inline void QOpenGLFunctions_4_5_Core::glGetDoublev(GLenum pname, GLdouble *data) { - d_1_0_Core->GetDoublev(pname, data); + d_1_0_Core->f.GetDoublev(pname, data); } inline void QOpenGLFunctions_4_5_Core::glGetBooleanv(GLenum pname, GLboolean *data) { - d_1_0_Core->GetBooleanv(pname, data); + d_1_0_Core->f.GetBooleanv(pname, data); } inline void QOpenGLFunctions_4_5_Core::glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels) { - d_1_0_Core->ReadPixels(x, y, width, height, format, type, pixels); + d_1_0_Core->f.ReadPixels(x, y, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glReadBuffer(GLenum src) { - d_1_0_Core->ReadBuffer(src); + d_1_0_Core->f.ReadBuffer(src); } inline void QOpenGLFunctions_4_5_Core::glPixelStorei(GLenum pname, GLint param) { - d_1_0_Core->PixelStorei(pname, param); + d_1_0_Core->f.PixelStorei(pname, param); } inline void QOpenGLFunctions_4_5_Core::glPixelStoref(GLenum pname, GLfloat param) { - d_1_0_Core->PixelStoref(pname, param); + d_1_0_Core->f.PixelStoref(pname, param); } inline void QOpenGLFunctions_4_5_Core::glDepthFunc(GLenum func) { - d_1_0_Core->DepthFunc(func); + d_1_0_Core->f.DepthFunc(func); } inline void QOpenGLFunctions_4_5_Core::glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) { - d_1_0_Core->StencilOp(fail, zfail, zpass); + d_1_0_Core->f.StencilOp(fail, zfail, zpass); } inline void QOpenGLFunctions_4_5_Core::glStencilFunc(GLenum func, GLint ref, GLuint mask) { - d_1_0_Core->StencilFunc(func, ref, mask); + d_1_0_Core->f.StencilFunc(func, ref, mask); } inline void QOpenGLFunctions_4_5_Core::glLogicOp(GLenum opcode) { - d_1_0_Core->LogicOp(opcode); + d_1_0_Core->f.LogicOp(opcode); } inline void QOpenGLFunctions_4_5_Core::glBlendFunc(GLenum sfactor, GLenum dfactor) { - d_1_0_Core->BlendFunc(sfactor, dfactor); + d_1_0_Core->f.BlendFunc(sfactor, dfactor); } inline void QOpenGLFunctions_4_5_Core::glFlush() { - d_1_0_Core->Flush(); + d_1_0_Core->f.Flush(); } inline void QOpenGLFunctions_4_5_Core::glFinish() { - d_1_0_Core->Finish(); + d_1_0_Core->f.Finish(); } inline void QOpenGLFunctions_4_5_Core::glEnable(GLenum cap) { - d_1_0_Core->Enable(cap); + d_1_0_Core->f.Enable(cap); } inline void QOpenGLFunctions_4_5_Core::glDisable(GLenum cap) { - d_1_0_Core->Disable(cap); + d_1_0_Core->f.Disable(cap); } inline void QOpenGLFunctions_4_5_Core::glDepthMask(GLboolean flag) { - d_1_0_Core->DepthMask(flag); + d_1_0_Core->f.DepthMask(flag); } inline void QOpenGLFunctions_4_5_Core::glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { - d_1_0_Core->ColorMask(red, green, blue, alpha); + d_1_0_Core->f.ColorMask(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Core::glStencilMask(GLuint mask) { - d_1_0_Core->StencilMask(mask); + d_1_0_Core->f.StencilMask(mask); } inline void QOpenGLFunctions_4_5_Core::glClearDepth(GLdouble depth) { - d_1_0_Core->ClearDepth(depth); + d_1_0_Core->f.ClearDepth(depth); } inline void QOpenGLFunctions_4_5_Core::glClearStencil(GLint s) { - d_1_0_Core->ClearStencil(s); + d_1_0_Core->f.ClearStencil(s); } inline void QOpenGLFunctions_4_5_Core::glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_0_Core->ClearColor(red, green, blue, alpha); + d_1_0_Core->f.ClearColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Core::glClear(GLbitfield mask) { - d_1_0_Core->Clear(mask); + d_1_0_Core->f.Clear(mask); } inline void QOpenGLFunctions_4_5_Core::glDrawBuffer(GLenum buf) { - d_1_0_Core->DrawBuffer(buf); + d_1_0_Core->f.DrawBuffer(buf); } inline void QOpenGLFunctions_4_5_Core::glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); + d_1_0_Core->f.TexImage2D(target, level, internalformat, width, height, border, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glTexImage1D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_0_Core->TexImage1D(target, level, internalformat, width, border, format, type, pixels); + d_1_0_Core->f.TexImage1D(target, level, internalformat, width, border, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glTexParameteriv(GLenum target, GLenum pname, const GLint *params) { - d_1_0_Core->TexParameteriv(target, pname, params); + d_1_0_Core->f.TexParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glTexParameteri(GLenum target, GLenum pname, GLint param) { - d_1_0_Core->TexParameteri(target, pname, param); + d_1_0_Core->f.TexParameteri(target, pname, param); } inline void QOpenGLFunctions_4_5_Core::glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) { - d_1_0_Core->TexParameterfv(target, pname, params); + d_1_0_Core->f.TexParameterfv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glTexParameterf(GLenum target, GLenum pname, GLfloat param) { - d_1_0_Core->TexParameterf(target, pname, param); + d_1_0_Core->f.TexParameterf(target, pname, param); } inline void QOpenGLFunctions_4_5_Core::glScissor(GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_0_Core->Scissor(x, y, width, height); + d_1_0_Core->f.Scissor(x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glPolygonMode(GLenum face, GLenum mode) { - d_1_0_Core->PolygonMode(face, mode); + d_1_0_Core->f.PolygonMode(face, mode); } inline void QOpenGLFunctions_4_5_Core::glPointSize(GLfloat size) { - d_1_0_Core->PointSize(size); + d_1_0_Core->f.PointSize(size); } inline void QOpenGLFunctions_4_5_Core::glLineWidth(GLfloat width) { - d_1_0_Core->LineWidth(width); + d_1_0_Core->f.LineWidth(width); } inline void QOpenGLFunctions_4_5_Core::glHint(GLenum target, GLenum mode) { - d_1_0_Core->Hint(target, mode); + d_1_0_Core->f.Hint(target, mode); } inline void QOpenGLFunctions_4_5_Core::glFrontFace(GLenum mode) { - d_1_0_Core->FrontFace(mode); + d_1_0_Core->f.FrontFace(mode); } inline void QOpenGLFunctions_4_5_Core::glCullFace(GLenum mode) { - d_1_0_Core->CullFace(mode); + d_1_0_Core->f.CullFace(mode); } // OpenGL 1.1 core functions inline GLboolean QOpenGLFunctions_4_5_Core::glIsTexture(GLuint texture) { - return d_1_1_Core->IsTexture(texture); + return d_1_1_Core->f.IsTexture(texture); } inline void QOpenGLFunctions_4_5_Core::glGenTextures(GLsizei n, GLuint *textures) { - d_1_1_Core->GenTextures(n, textures); + d_1_1_Core->f.GenTextures(n, textures); } inline void QOpenGLFunctions_4_5_Core::glDeleteTextures(GLsizei n, const GLuint *textures) { - d_1_1_Core->DeleteTextures(n, textures); + d_1_1_Core->f.DeleteTextures(n, textures); } inline void QOpenGLFunctions_4_5_Core::glBindTexture(GLenum target, GLuint texture) { - d_1_1_Core->BindTexture(target, texture); + d_1_1_Core->f.BindTexture(target, texture); } inline void QOpenGLFunctions_4_5_Core::glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_1_1_Core->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) { - d_1_1_Core->TexSubImage1D(target, level, xoffset, width, format, type, pixels); + d_1_1_Core->f.TexSubImage1D(target, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_1_Core->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_1_1_Core->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_1_1_Core->CopyTexSubImage1D(target, level, xoffset, x, y, width); + d_1_1_Core->f.CopyTexSubImage1D(target, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_5_Core::glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { - d_1_1_Core->CopyTexImage2D(target, level, internalformat, x, y, width, height, border); + d_1_1_Core->f.CopyTexImage2D(target, level, internalformat, x, y, width, height, border); } inline void QOpenGLFunctions_4_5_Core::glCopyTexImage1D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border) { - d_1_1_Core->CopyTexImage1D(target, level, internalformat, x, y, width, border); + d_1_1_Core->f.CopyTexImage1D(target, level, internalformat, x, y, width, border); } inline void QOpenGLFunctions_4_5_Core::glPolygonOffset(GLfloat factor, GLfloat units) { - d_1_1_Core->PolygonOffset(factor, units); + d_1_1_Core->f.PolygonOffset(factor, units); } inline void QOpenGLFunctions_4_5_Core::glDrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices) { - d_1_1_Core->DrawElements(mode, count, type, indices); + d_1_1_Core->f.DrawElements(mode, count, type, indices); } inline void QOpenGLFunctions_4_5_Core::glDrawArrays(GLenum mode, GLint first, GLsizei count) { - d_1_1_Core->DrawArrays(mode, first, count); + d_1_1_Core->f.DrawArrays(mode, first, count); } // OpenGL 1.2 core functions inline void QOpenGLFunctions_4_5_Core::glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { - d_1_2_Core->BlendColor(red, green, blue, alpha); + d_1_2_Core->f.BlendColor(red, green, blue, alpha); } inline void QOpenGLFunctions_4_5_Core::glBlendEquation(GLenum mode) { - d_1_2_Core->BlendEquation(mode); + d_1_2_Core->f.BlendEquation(mode); } inline void QOpenGLFunctions_4_5_Core::glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_1_2_Core->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d_1_2_Core->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_1_2_Core->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels) { - d_1_2_Core->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d_1_2_Core->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) { - d_1_2_Core->DrawRangeElements(mode, start, end, count, type, indices); + d_1_2_Core->f.DrawRangeElements(mode, start, end, count, type, indices); } // OpenGL 1.3 core functions inline void QOpenGLFunctions_4_5_Core::glGetCompressedTexImage(GLenum target, GLint level, void *img) { - d_1_3_Core->GetCompressedTexImage(target, level, img); + d_1_3_Core->f.GetCompressedTexImage(target, level, img); } inline void QOpenGLFunctions_4_5_Core::glCompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_1_3_Core->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glCompressedTexImage1D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage1D(target, level, internalformat, width, border, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data) { - d_1_3_Core->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d_1_3_Core->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glSampleCoverage(GLfloat value, GLboolean invert) { - d_1_3_Core->SampleCoverage(value, invert); + d_1_3_Core->f.SampleCoverage(value, invert); } inline void QOpenGLFunctions_4_5_Core::glActiveTexture(GLenum texture) { - d_1_3_Core->ActiveTexture(texture); + d_1_3_Core->f.ActiveTexture(texture); } // OpenGL 1.4 core functions inline void QOpenGLFunctions_4_5_Core::glPointParameteriv(GLenum pname, const GLint *params) { - d_1_4_Core->PointParameteriv(pname, params); + d_1_4_Core->f.PointParameteriv(pname, params); } inline void QOpenGLFunctions_4_5_Core::glPointParameteri(GLenum pname, GLint param) { - d_1_4_Core->PointParameteri(pname, param); + d_1_4_Core->f.PointParameteri(pname, param); } inline void QOpenGLFunctions_4_5_Core::glPointParameterfv(GLenum pname, const GLfloat *params) { - d_1_4_Core->PointParameterfv(pname, params); + d_1_4_Core->f.PointParameterfv(pname, params); } inline void QOpenGLFunctions_4_5_Core::glPointParameterf(GLenum pname, GLfloat param) { - d_1_4_Core->PointParameterf(pname, param); + d_1_4_Core->f.PointParameterf(pname, param); } inline void QOpenGLFunctions_4_5_Core::glMultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount) { - d_1_4_Core->MultiDrawElements(mode, count, type, indices, drawcount); + d_1_4_Core->f.MultiDrawElements(mode, count, type, indices, drawcount); } inline void QOpenGLFunctions_4_5_Core::glMultiDrawArrays(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount) { - d_1_4_Core->MultiDrawArrays(mode, first, count, drawcount); + d_1_4_Core->f.MultiDrawArrays(mode, first, count, drawcount); } inline void QOpenGLFunctions_4_5_Core::glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha) { - d_1_4_Core->BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); + d_1_4_Core->f.BlendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha); } // OpenGL 1.5 core functions inline void QOpenGLFunctions_4_5_Core::glGetBufferPointerv(GLenum target, GLenum pname, void * *params) { - d_1_5_Core->GetBufferPointerv(target, pname, params); + d_1_5_Core->f.GetBufferPointerv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetBufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetBufferParameteriv(target, pname, params); + d_1_5_Core->f.GetBufferParameteriv(target, pname, params); } inline GLboolean QOpenGLFunctions_4_5_Core::glUnmapBuffer(GLenum target) { - return d_1_5_Core->UnmapBuffer(target); + return d_1_5_Core->f.UnmapBuffer(target); } inline void * QOpenGLFunctions_4_5_Core::glMapBuffer(GLenum target, GLenum access) { - return d_1_5_Core->MapBuffer(target, access); + return d_1_5_Core->f.MapBuffer(target, access); } inline void QOpenGLFunctions_4_5_Core::glGetBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, void *data) { - d_1_5_Core->GetBufferSubData(target, offset, size, data); + d_1_5_Core->f.GetBufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_5_Core::glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void *data) { - d_1_5_Core->BufferSubData(target, offset, size, data); + d_1_5_Core->f.BufferSubData(target, offset, size, data); } inline void QOpenGLFunctions_4_5_Core::glBufferData(GLenum target, GLsizeiptr size, const void *data, GLenum usage) { - d_1_5_Core->BufferData(target, size, data, usage); + d_1_5_Core->f.BufferData(target, size, data, usage); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsBuffer(GLuint buffer) { - return d_1_5_Core->IsBuffer(buffer); + return d_1_5_Core->f.IsBuffer(buffer); } inline void QOpenGLFunctions_4_5_Core::glGenBuffers(GLsizei n, GLuint *buffers) { - d_1_5_Core->GenBuffers(n, buffers); + d_1_5_Core->f.GenBuffers(n, buffers); } inline void QOpenGLFunctions_4_5_Core::glDeleteBuffers(GLsizei n, const GLuint *buffers) { - d_1_5_Core->DeleteBuffers(n, buffers); + d_1_5_Core->f.DeleteBuffers(n, buffers); } inline void QOpenGLFunctions_4_5_Core::glBindBuffer(GLenum target, GLuint buffer) { - d_1_5_Core->BindBuffer(target, buffer); + d_1_5_Core->f.BindBuffer(target, buffer); } inline void QOpenGLFunctions_4_5_Core::glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) { - d_1_5_Core->GetQueryObjectuiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectuiv(id, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetQueryObjectiv(GLuint id, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryObjectiv(id, pname, params); + d_1_5_Core->f.GetQueryObjectiv(id, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetQueryiv(GLenum target, GLenum pname, GLint *params) { - d_1_5_Core->GetQueryiv(target, pname, params); + d_1_5_Core->f.GetQueryiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glEndQuery(GLenum target) { - d_1_5_Core->EndQuery(target); + d_1_5_Core->f.EndQuery(target); } inline void QOpenGLFunctions_4_5_Core::glBeginQuery(GLenum target, GLuint id) { - d_1_5_Core->BeginQuery(target, id); + d_1_5_Core->f.BeginQuery(target, id); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsQuery(GLuint id) { - return d_1_5_Core->IsQuery(id); + return d_1_5_Core->f.IsQuery(id); } inline void QOpenGLFunctions_4_5_Core::glDeleteQueries(GLsizei n, const GLuint *ids) { - d_1_5_Core->DeleteQueries(n, ids); + d_1_5_Core->f.DeleteQueries(n, ids); } inline void QOpenGLFunctions_4_5_Core::glGenQueries(GLsizei n, GLuint *ids) { - d_1_5_Core->GenQueries(n, ids); + d_1_5_Core->f.GenQueries(n, ids); } // OpenGL 2.0 core functions inline void QOpenGLFunctions_4_5_Core::glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer) { - d_2_0_Core->VertexAttribPointer(index, size, type, normalized, stride, pointer); + d_2_0_Core->f.VertexAttribPointer(index, size, type, normalized, stride, pointer); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4usv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4usv(index, v); + d_2_0_Core->f.VertexAttrib4usv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4uiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4uiv(index, v); + d_2_0_Core->f.VertexAttrib4uiv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4ubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4ubv(index, v); + d_2_0_Core->f.VertexAttrib4ubv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4sv(index, v); + d_2_0_Core->f.VertexAttrib4sv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4s(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { - d_2_0_Core->VertexAttrib4s(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4s(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4iv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4iv(index, v); + d_2_0_Core->f.VertexAttrib4iv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib4fv(index, v); + d_2_0_Core->f.VertexAttrib4fv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { - d_2_0_Core->VertexAttrib4f(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4f(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib4dv(index, v); + d_2_0_Core->f.VertexAttrib4dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_2_0_Core->VertexAttrib4d(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4bv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4bv(index, v); + d_2_0_Core->f.VertexAttrib4bv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4Nusv(GLuint index, const GLushort *v) { - d_2_0_Core->VertexAttrib4Nusv(index, v); + d_2_0_Core->f.VertexAttrib4Nusv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4Nuiv(GLuint index, const GLuint *v) { - d_2_0_Core->VertexAttrib4Nuiv(index, v); + d_2_0_Core->f.VertexAttrib4Nuiv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4Nubv(GLuint index, const GLubyte *v) { - d_2_0_Core->VertexAttrib4Nubv(index, v); + d_2_0_Core->f.VertexAttrib4Nubv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4Nub(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { - d_2_0_Core->VertexAttrib4Nub(index, x, y, z, w); + d_2_0_Core->f.VertexAttrib4Nub(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4Nsv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib4Nsv(index, v); + d_2_0_Core->f.VertexAttrib4Nsv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4Niv(GLuint index, const GLint *v) { - d_2_0_Core->VertexAttrib4Niv(index, v); + d_2_0_Core->f.VertexAttrib4Niv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib4Nbv(GLuint index, const GLbyte *v) { - d_2_0_Core->VertexAttrib4Nbv(index, v); + d_2_0_Core->f.VertexAttrib4Nbv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib3sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib3sv(index, v); + d_2_0_Core->f.VertexAttrib3sv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib3s(GLuint index, GLshort x, GLshort y, GLshort z) { - d_2_0_Core->VertexAttrib3s(index, x, y, z); + d_2_0_Core->f.VertexAttrib3s(index, x, y, z); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib3fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib3fv(index, v); + d_2_0_Core->f.VertexAttrib3fv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z) { - d_2_0_Core->VertexAttrib3f(index, x, y, z); + d_2_0_Core->f.VertexAttrib3f(index, x, y, z); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib3dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib3dv(index, v); + d_2_0_Core->f.VertexAttrib3dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_2_0_Core->VertexAttrib3d(index, x, y, z); + d_2_0_Core->f.VertexAttrib3d(index, x, y, z); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib2sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib2sv(index, v); + d_2_0_Core->f.VertexAttrib2sv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib2s(GLuint index, GLshort x, GLshort y) { - d_2_0_Core->VertexAttrib2s(index, x, y); + d_2_0_Core->f.VertexAttrib2s(index, x, y); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib2fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib2fv(index, v); + d_2_0_Core->f.VertexAttrib2fv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y) { - d_2_0_Core->VertexAttrib2f(index, x, y); + d_2_0_Core->f.VertexAttrib2f(index, x, y); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib2dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib2dv(index, v); + d_2_0_Core->f.VertexAttrib2dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib2d(GLuint index, GLdouble x, GLdouble y) { - d_2_0_Core->VertexAttrib2d(index, x, y); + d_2_0_Core->f.VertexAttrib2d(index, x, y); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib1sv(GLuint index, const GLshort *v) { - d_2_0_Core->VertexAttrib1sv(index, v); + d_2_0_Core->f.VertexAttrib1sv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib1s(GLuint index, GLshort x) { - d_2_0_Core->VertexAttrib1s(index, x); + d_2_0_Core->f.VertexAttrib1s(index, x); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib1fv(GLuint index, const GLfloat *v) { - d_2_0_Core->VertexAttrib1fv(index, v); + d_2_0_Core->f.VertexAttrib1fv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib1f(GLuint index, GLfloat x) { - d_2_0_Core->VertexAttrib1f(index, x); + d_2_0_Core->f.VertexAttrib1f(index, x); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib1dv(GLuint index, const GLdouble *v) { - d_2_0_Core->VertexAttrib1dv(index, v); + d_2_0_Core->f.VertexAttrib1dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttrib1d(GLuint index, GLdouble x) { - d_2_0_Core->VertexAttrib1d(index, x); + d_2_0_Core->f.VertexAttrib1d(index, x); } inline void QOpenGLFunctions_4_5_Core::glValidateProgram(GLuint program) { - d_2_0_Core->ValidateProgram(program); + d_2_0_Core->f.ValidateProgram(program); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix4fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix3fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_0_Core->UniformMatrix2fv(location, count, transpose, value); + d_2_0_Core->f.UniformMatrix2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniform4iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform4iv(location, count, value); + d_2_0_Core->f.Uniform4iv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform3iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform3iv(location, count, value); + d_2_0_Core->f.Uniform3iv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform2iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform2iv(location, count, value); + d_2_0_Core->f.Uniform2iv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform1iv(GLint location, GLsizei count, const GLint *value) { - d_2_0_Core->Uniform1iv(location, count, value); + d_2_0_Core->f.Uniform1iv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform4fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform4fv(location, count, value); + d_2_0_Core->f.Uniform4fv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform3fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform3fv(location, count, value); + d_2_0_Core->f.Uniform3fv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform2fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform2fv(location, count, value); + d_2_0_Core->f.Uniform2fv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform1fv(GLint location, GLsizei count, const GLfloat *value) { - d_2_0_Core->Uniform1fv(location, count, value); + d_2_0_Core->f.Uniform1fv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_2_0_Core->Uniform4i(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4i(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Core::glUniform3i(GLint location, GLint v0, GLint v1, GLint v2) { - d_2_0_Core->Uniform3i(location, v0, v1, v2); + d_2_0_Core->f.Uniform3i(location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Core::glUniform2i(GLint location, GLint v0, GLint v1) { - d_2_0_Core->Uniform2i(location, v0, v1); + d_2_0_Core->f.Uniform2i(location, v0, v1); } inline void QOpenGLFunctions_4_5_Core::glUniform1i(GLint location, GLint v0) { - d_2_0_Core->Uniform1i(location, v0); + d_2_0_Core->f.Uniform1i(location, v0); } inline void QOpenGLFunctions_4_5_Core::glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_2_0_Core->Uniform4f(location, v0, v1, v2, v3); + d_2_0_Core->f.Uniform4f(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Core::glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_2_0_Core->Uniform3f(location, v0, v1, v2); + d_2_0_Core->f.Uniform3f(location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Core::glUniform2f(GLint location, GLfloat v0, GLfloat v1) { - d_2_0_Core->Uniform2f(location, v0, v1); + d_2_0_Core->f.Uniform2f(location, v0, v1); } inline void QOpenGLFunctions_4_5_Core::glUniform1f(GLint location, GLfloat v0) { - d_2_0_Core->Uniform1f(location, v0); + d_2_0_Core->f.Uniform1f(location, v0); } inline void QOpenGLFunctions_4_5_Core::glUseProgram(GLuint program) { - d_2_0_Core->UseProgram(program); + d_2_0_Core->f.UseProgram(program); } inline void QOpenGLFunctions_4_5_Core::glShaderSource(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length) { - d_2_0_Core->ShaderSource(shader, count, string, length); + d_2_0_Core->f.ShaderSource(shader, count, string, length); } inline void QOpenGLFunctions_4_5_Core::glLinkProgram(GLuint program) { - d_2_0_Core->LinkProgram(program); + d_2_0_Core->f.LinkProgram(program); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsShader(GLuint shader) { - return d_2_0_Core->IsShader(shader); + return d_2_0_Core->f.IsShader(shader); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsProgram(GLuint program) { - return d_2_0_Core->IsProgram(program); + return d_2_0_Core->f.IsProgram(program); } inline void QOpenGLFunctions_4_5_Core::glGetVertexAttribPointerv(GLuint index, GLenum pname, void * *pointer) { - d_2_0_Core->GetVertexAttribPointerv(index, pname, pointer); + d_2_0_Core->f.GetVertexAttribPointerv(index, pname, pointer); } inline void QOpenGLFunctions_4_5_Core::glGetVertexAttribiv(GLuint index, GLenum pname, GLint *params) { - d_2_0_Core->GetVertexAttribiv(index, pname, params); + d_2_0_Core->f.GetVertexAttribiv(index, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat *params) { - d_2_0_Core->GetVertexAttribfv(index, pname, params); + d_2_0_Core->f.GetVertexAttribfv(index, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetVertexAttribdv(GLuint index, GLenum pname, GLdouble *params) { - d_2_0_Core->GetVertexAttribdv(index, pname, params); + d_2_0_Core->f.GetVertexAttribdv(index, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetUniformiv(GLuint program, GLint location, GLint *params) { - d_2_0_Core->GetUniformiv(program, location, params); + d_2_0_Core->f.GetUniformiv(program, location, params); } inline void QOpenGLFunctions_4_5_Core::glGetUniformfv(GLuint program, GLint location, GLfloat *params) { - d_2_0_Core->GetUniformfv(program, location, params); + d_2_0_Core->f.GetUniformfv(program, location, params); } inline GLint QOpenGLFunctions_4_5_Core::glGetUniformLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetUniformLocation(program, name); + return d_2_0_Core->f.GetUniformLocation(program, name); } inline void QOpenGLFunctions_4_5_Core::glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source) { - d_2_0_Core->GetShaderSource(shader, bufSize, length, source); + d_2_0_Core->f.GetShaderSource(shader, bufSize, length, source); } inline void QOpenGLFunctions_4_5_Core::glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetShaderInfoLog(shader, bufSize, length, infoLog); + d_2_0_Core->f.GetShaderInfoLog(shader, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_5_Core::glGetShaderiv(GLuint shader, GLenum pname, GLint *params) { - d_2_0_Core->GetShaderiv(shader, pname, params); + d_2_0_Core->f.GetShaderiv(shader, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_2_0_Core->GetProgramInfoLog(program, bufSize, length, infoLog); + d_2_0_Core->f.GetProgramInfoLog(program, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_5_Core::glGetProgramiv(GLuint program, GLenum pname, GLint *params) { - d_2_0_Core->GetProgramiv(program, pname, params); + d_2_0_Core->f.GetProgramiv(program, pname, params); } inline GLint QOpenGLFunctions_4_5_Core::glGetAttribLocation(GLuint program, const GLchar *name) { - return d_2_0_Core->GetAttribLocation(program, name); + return d_2_0_Core->f.GetAttribLocation(program, name); } inline void QOpenGLFunctions_4_5_Core::glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders) { - d_2_0_Core->GetAttachedShaders(program, maxCount, count, shaders); + d_2_0_Core->f.GetAttachedShaders(program, maxCount, count, shaders); } inline void QOpenGLFunctions_4_5_Core::glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveUniform(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveUniform(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_5_Core::glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name) { - d_2_0_Core->GetActiveAttrib(program, index, bufSize, length, size, type, name); + d_2_0_Core->f.GetActiveAttrib(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_5_Core::glEnableVertexAttribArray(GLuint index) { - d_2_0_Core->EnableVertexAttribArray(index); + d_2_0_Core->f.EnableVertexAttribArray(index); } inline void QOpenGLFunctions_4_5_Core::glDisableVertexAttribArray(GLuint index) { - d_2_0_Core->DisableVertexAttribArray(index); + d_2_0_Core->f.DisableVertexAttribArray(index); } inline void QOpenGLFunctions_4_5_Core::glDetachShader(GLuint program, GLuint shader) { - d_2_0_Core->DetachShader(program, shader); + d_2_0_Core->f.DetachShader(program, shader); } inline void QOpenGLFunctions_4_5_Core::glDeleteShader(GLuint shader) { - d_2_0_Core->DeleteShader(shader); + d_2_0_Core->f.DeleteShader(shader); } inline void QOpenGLFunctions_4_5_Core::glDeleteProgram(GLuint program) { - d_2_0_Core->DeleteProgram(program); + d_2_0_Core->f.DeleteProgram(program); } inline GLuint QOpenGLFunctions_4_5_Core::glCreateShader(GLenum type) { - return d_2_0_Core->CreateShader(type); + return d_2_0_Core->f.CreateShader(type); } inline GLuint QOpenGLFunctions_4_5_Core::glCreateProgram() { - return d_2_0_Core->CreateProgram(); + return d_2_0_Core->f.CreateProgram(); } inline void QOpenGLFunctions_4_5_Core::glCompileShader(GLuint shader) { - d_2_0_Core->CompileShader(shader); + d_2_0_Core->f.CompileShader(shader); } inline void QOpenGLFunctions_4_5_Core::glBindAttribLocation(GLuint program, GLuint index, const GLchar *name) { - d_2_0_Core->BindAttribLocation(program, index, name); + d_2_0_Core->f.BindAttribLocation(program, index, name); } inline void QOpenGLFunctions_4_5_Core::glAttachShader(GLuint program, GLuint shader) { - d_2_0_Core->AttachShader(program, shader); + d_2_0_Core->f.AttachShader(program, shader); } inline void QOpenGLFunctions_4_5_Core::glStencilMaskSeparate(GLenum face, GLuint mask) { - d_2_0_Core->StencilMaskSeparate(face, mask); + d_2_0_Core->f.StencilMaskSeparate(face, mask); } inline void QOpenGLFunctions_4_5_Core::glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { - d_2_0_Core->StencilFuncSeparate(face, func, ref, mask); + d_2_0_Core->f.StencilFuncSeparate(face, func, ref, mask); } inline void QOpenGLFunctions_4_5_Core::glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass) { - d_2_0_Core->StencilOpSeparate(face, sfail, dpfail, dppass); + d_2_0_Core->f.StencilOpSeparate(face, sfail, dpfail, dppass); } inline void QOpenGLFunctions_4_5_Core::glDrawBuffers(GLsizei n, const GLenum *bufs) { - d_2_0_Core->DrawBuffers(n, bufs); + d_2_0_Core->f.DrawBuffers(n, bufs); } inline void QOpenGLFunctions_4_5_Core::glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { - d_2_0_Core->BlendEquationSeparate(modeRGB, modeAlpha); + d_2_0_Core->f.BlendEquationSeparate(modeRGB, modeAlpha); } // OpenGL 2.1 core functions inline void QOpenGLFunctions_4_5_Core::glUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x3fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix4x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix4x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x4fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x4fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix3x2fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix3x2fv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_2_1_Core->UniformMatrix2x3fv(location, count, transpose, value); + d_2_1_Core->f.UniformMatrix2x3fv(location, count, transpose, value); } // OpenGL 3.0 core functions inline GLboolean QOpenGLFunctions_4_5_Core::glIsVertexArray(GLuint array) { - return d_3_0_Core->IsVertexArray(array); + return d_3_0_Core->f.IsVertexArray(array); } inline void QOpenGLFunctions_4_5_Core::glGenVertexArrays(GLsizei n, GLuint *arrays) { - d_3_0_Core->GenVertexArrays(n, arrays); + d_3_0_Core->f.GenVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_5_Core::glDeleteVertexArrays(GLsizei n, const GLuint *arrays) { - d_3_0_Core->DeleteVertexArrays(n, arrays); + d_3_0_Core->f.DeleteVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_5_Core::glBindVertexArray(GLuint array) { - d_3_0_Core->BindVertexArray(array); + d_3_0_Core->f.BindVertexArray(array); } inline void QOpenGLFunctions_4_5_Core::glFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) { - d_3_0_Core->FlushMappedBufferRange(target, offset, length); + d_3_0_Core->f.FlushMappedBufferRange(target, offset, length); } inline void * QOpenGLFunctions_4_5_Core::glMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) { - return d_3_0_Core->MapBufferRange(target, offset, length, access); + return d_3_0_Core->f.MapBufferRange(target, offset, length, access); } inline void QOpenGLFunctions_4_5_Core::glFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_3_0_Core->FramebufferTextureLayer(target, attachment, texture, level, layer); + d_3_0_Core->f.FramebufferTextureLayer(target, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_5_Core::glRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Core::glBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_3_0_Core->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_3_0_Core->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_5_Core::glGenerateMipmap(GLenum target) { - d_3_0_Core->GenerateMipmap(target); + d_3_0_Core->f.GenerateMipmap(target); } inline void QOpenGLFunctions_4_5_Core::glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint *params) { - d_3_0_Core->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_3_0_Core->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); } inline void QOpenGLFunctions_4_5_Core::glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_3_0_Core->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_3_0_Core->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_5_Core::glFramebufferTexture3D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) { - d_3_0_Core->FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); + d_3_0_Core->f.FramebufferTexture3D(target, attachment, textarget, texture, level, zoffset); } inline void QOpenGLFunctions_4_5_Core::glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture2D(target, attachment, textarget, texture, level); } inline void QOpenGLFunctions_4_5_Core::glFramebufferTexture1D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) { - d_3_0_Core->FramebufferTexture1D(target, attachment, textarget, texture, level); + d_3_0_Core->f.FramebufferTexture1D(target, attachment, textarget, texture, level); } inline GLenum QOpenGLFunctions_4_5_Core::glCheckFramebufferStatus(GLenum target) { - return d_3_0_Core->CheckFramebufferStatus(target); + return d_3_0_Core->f.CheckFramebufferStatus(target); } inline void QOpenGLFunctions_4_5_Core::glGenFramebuffers(GLsizei n, GLuint *framebuffers) { - d_3_0_Core->GenFramebuffers(n, framebuffers); + d_3_0_Core->f.GenFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_5_Core::glDeleteFramebuffers(GLsizei n, const GLuint *framebuffers) { - d_3_0_Core->DeleteFramebuffers(n, framebuffers); + d_3_0_Core->f.DeleteFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_5_Core::glBindFramebuffer(GLenum target, GLuint framebuffer) { - d_3_0_Core->BindFramebuffer(target, framebuffer); + d_3_0_Core->f.BindFramebuffer(target, framebuffer); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsFramebuffer(GLuint framebuffer) { - return d_3_0_Core->IsFramebuffer(framebuffer); + return d_3_0_Core->f.IsFramebuffer(framebuffer); } inline void QOpenGLFunctions_4_5_Core::glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetRenderbufferParameteriv(target, pname, params); + d_3_0_Core->f.GetRenderbufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { - d_3_0_Core->RenderbufferStorage(target, internalformat, width, height); + d_3_0_Core->f.RenderbufferStorage(target, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Core::glGenRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_3_0_Core->GenRenderbuffers(n, renderbuffers); + d_3_0_Core->f.GenRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_5_Core::glDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers) { - d_3_0_Core->DeleteRenderbuffers(n, renderbuffers); + d_3_0_Core->f.DeleteRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_5_Core::glBindRenderbuffer(GLenum target, GLuint renderbuffer) { - d_3_0_Core->BindRenderbuffer(target, renderbuffer); + d_3_0_Core->f.BindRenderbuffer(target, renderbuffer); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsRenderbuffer(GLuint renderbuffer) { - return d_3_0_Core->IsRenderbuffer(renderbuffer); + return d_3_0_Core->f.IsRenderbuffer(renderbuffer); } inline const GLubyte * QOpenGLFunctions_4_5_Core::glGetStringi(GLenum name, GLuint index) { - return d_3_0_Core->GetStringi(name, index); + return d_3_0_Core->f.GetStringi(name, index); } inline void QOpenGLFunctions_4_5_Core::glClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) { - d_3_0_Core->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d_3_0_Core->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); } inline void QOpenGLFunctions_4_5_Core::glClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_3_0_Core->ClearBufferfv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferfv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Core::glClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_3_0_Core->ClearBufferuiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferuiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Core::glClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint *value) { - d_3_0_Core->ClearBufferiv(buffer, drawbuffer, value); + d_3_0_Core->f.ClearBufferiv(buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Core::glGetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params) { - d_3_0_Core->GetTexParameterIuiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTexParameterIiv(GLenum target, GLenum pname, GLint *params) { - d_3_0_Core->GetTexParameterIiv(target, pname, params); + d_3_0_Core->f.GetTexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glTexParameterIuiv(GLenum target, GLenum pname, const GLuint *params) { - d_3_0_Core->TexParameterIuiv(target, pname, params); + d_3_0_Core->f.TexParameterIuiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glTexParameterIiv(GLenum target, GLenum pname, const GLint *params) { - d_3_0_Core->TexParameterIiv(target, pname, params); + d_3_0_Core->f.TexParameterIiv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glUniform4uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform4uiv(location, count, value); + d_3_0_Core->f.Uniform4uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform3uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform3uiv(location, count, value); + d_3_0_Core->f.Uniform3uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform2uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform2uiv(location, count, value); + d_3_0_Core->f.Uniform2uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform1uiv(GLint location, GLsizei count, const GLuint *value) { - d_3_0_Core->Uniform1uiv(location, count, value); + d_3_0_Core->f.Uniform1uiv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_3_0_Core->Uniform4ui(location, v0, v1, v2, v3); + d_3_0_Core->f.Uniform4ui(location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Core::glUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_3_0_Core->Uniform3ui(location, v0, v1, v2); + d_3_0_Core->f.Uniform3ui(location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Core::glUniform2ui(GLint location, GLuint v0, GLuint v1) { - d_3_0_Core->Uniform2ui(location, v0, v1); + d_3_0_Core->f.Uniform2ui(location, v0, v1); } inline void QOpenGLFunctions_4_5_Core::glUniform1ui(GLint location, GLuint v0) { - d_3_0_Core->Uniform1ui(location, v0); + d_3_0_Core->f.Uniform1ui(location, v0); } inline GLint QOpenGLFunctions_4_5_Core::glGetFragDataLocation(GLuint program, const GLchar *name) { - return d_3_0_Core->GetFragDataLocation(program, name); + return d_3_0_Core->f.GetFragDataLocation(program, name); } inline void QOpenGLFunctions_4_5_Core::glBindFragDataLocation(GLuint program, GLuint color, const GLchar *name) { - d_3_0_Core->BindFragDataLocation(program, color, name); + d_3_0_Core->f.BindFragDataLocation(program, color, name); } inline void QOpenGLFunctions_4_5_Core::glGetUniformuiv(GLuint program, GLint location, GLuint *params) { - d_3_0_Core->GetUniformuiv(program, location, params); + d_3_0_Core->f.GetUniformuiv(program, location, params); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4usv(GLuint index, const GLushort *v) { - d_3_0_Core->VertexAttribI4usv(index, v); + d_3_0_Core->f.VertexAttribI4usv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4ubv(GLuint index, const GLubyte *v) { - d_3_0_Core->VertexAttribI4ubv(index, v); + d_3_0_Core->f.VertexAttribI4ubv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4sv(GLuint index, const GLshort *v) { - d_3_0_Core->VertexAttribI4sv(index, v); + d_3_0_Core->f.VertexAttribI4sv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4bv(GLuint index, const GLbyte *v) { - d_3_0_Core->VertexAttribI4bv(index, v); + d_3_0_Core->f.VertexAttribI4bv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI4uiv(index, v); + d_3_0_Core->f.VertexAttribI4uiv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI3uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI3uiv(index, v); + d_3_0_Core->f.VertexAttribI3uiv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI2uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI2uiv(index, v); + d_3_0_Core->f.VertexAttribI2uiv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI1uiv(GLuint index, const GLuint *v) { - d_3_0_Core->VertexAttribI1uiv(index, v); + d_3_0_Core->f.VertexAttribI1uiv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI4iv(index, v); + d_3_0_Core->f.VertexAttribI4iv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI3iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI3iv(index, v); + d_3_0_Core->f.VertexAttribI3iv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI2iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI2iv(index, v); + d_3_0_Core->f.VertexAttribI2iv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI1iv(GLuint index, const GLint *v) { - d_3_0_Core->VertexAttribI1iv(index, v); + d_3_0_Core->f.VertexAttribI1iv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) { - d_3_0_Core->VertexAttribI4ui(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4ui(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI3ui(GLuint index, GLuint x, GLuint y, GLuint z) { - d_3_0_Core->VertexAttribI3ui(index, x, y, z); + d_3_0_Core->f.VertexAttribI3ui(index, x, y, z); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI2ui(GLuint index, GLuint x, GLuint y) { - d_3_0_Core->VertexAttribI2ui(index, x, y); + d_3_0_Core->f.VertexAttribI2ui(index, x, y); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI1ui(GLuint index, GLuint x) { - d_3_0_Core->VertexAttribI1ui(index, x); + d_3_0_Core->f.VertexAttribI1ui(index, x); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) { - d_3_0_Core->VertexAttribI4i(index, x, y, z, w); + d_3_0_Core->f.VertexAttribI4i(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI3i(GLuint index, GLint x, GLint y, GLint z) { - d_3_0_Core->VertexAttribI3i(index, x, y, z); + d_3_0_Core->f.VertexAttribI3i(index, x, y, z); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI2i(GLuint index, GLint x, GLint y) { - d_3_0_Core->VertexAttribI2i(index, x, y); + d_3_0_Core->f.VertexAttribI2i(index, x, y); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribI1i(GLuint index, GLint x) { - d_3_0_Core->VertexAttribI1i(index, x); + d_3_0_Core->f.VertexAttribI1i(index, x); } inline void QOpenGLFunctions_4_5_Core::glGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint *params) { - d_3_0_Core->GetVertexAttribIuiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIuiv(index, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetVertexAttribIiv(GLuint index, GLenum pname, GLint *params) { - d_3_0_Core->GetVertexAttribIiv(index, pname, params); + d_3_0_Core->f.GetVertexAttribIiv(index, pname, params); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_3_0_Core->VertexAttribIPointer(index, size, type, stride, pointer); + d_3_0_Core->f.VertexAttribIPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Core::glEndConditionalRender() { - d_3_0_Core->EndConditionalRender(); + d_3_0_Core->f.EndConditionalRender(); } inline void QOpenGLFunctions_4_5_Core::glBeginConditionalRender(GLuint id, GLenum mode) { - d_3_0_Core->BeginConditionalRender(id, mode); + d_3_0_Core->f.BeginConditionalRender(id, mode); } inline void QOpenGLFunctions_4_5_Core::glClampColor(GLenum target, GLenum clamp) { - d_3_0_Core->ClampColor(target, clamp); + d_3_0_Core->f.ClampColor(target, clamp); } inline void QOpenGLFunctions_4_5_Core::glGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name) { - d_3_0_Core->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d_3_0_Core->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); } inline void QOpenGLFunctions_4_5_Core::glTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode) { - d_3_0_Core->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d_3_0_Core->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); } inline void QOpenGLFunctions_4_5_Core::glBindBufferBase(GLenum target, GLuint index, GLuint buffer) { - d_3_0_Core->BindBufferBase(target, index, buffer); + d_3_0_Core->f.BindBufferBase(target, index, buffer); } inline void QOpenGLFunctions_4_5_Core::glBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_3_0_Core->BindBufferRange(target, index, buffer, offset, size); + d_3_0_Core->f.BindBufferRange(target, index, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Core::glEndTransformFeedback() { - d_3_0_Core->EndTransformFeedback(); + d_3_0_Core->f.EndTransformFeedback(); } inline void QOpenGLFunctions_4_5_Core::glBeginTransformFeedback(GLenum primitiveMode) { - d_3_0_Core->BeginTransformFeedback(primitiveMode); + d_3_0_Core->f.BeginTransformFeedback(primitiveMode); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsEnabledi(GLenum target, GLuint index) { - return d_3_0_Core->IsEnabledi(target, index); + return d_3_0_Core->f.IsEnabledi(target, index); } inline void QOpenGLFunctions_4_5_Core::glDisablei(GLenum target, GLuint index) { - d_3_0_Core->Disablei(target, index); + d_3_0_Core->f.Disablei(target, index); } inline void QOpenGLFunctions_4_5_Core::glEnablei(GLenum target, GLuint index) { - d_3_0_Core->Enablei(target, index); + d_3_0_Core->f.Enablei(target, index); } inline void QOpenGLFunctions_4_5_Core::glGetIntegeri_v(GLenum target, GLuint index, GLint *data) { - d_3_0_Core->GetIntegeri_v(target, index, data); + d_3_0_Core->f.GetIntegeri_v(target, index, data); } inline void QOpenGLFunctions_4_5_Core::glGetBooleani_v(GLenum target, GLuint index, GLboolean *data) { - d_3_0_Core->GetBooleani_v(target, index, data); + d_3_0_Core->f.GetBooleani_v(target, index, data); } inline void QOpenGLFunctions_4_5_Core::glColorMaski(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) { - d_3_0_Core->ColorMaski(index, r, g, b, a); + d_3_0_Core->f.ColorMaski(index, r, g, b, a); } // OpenGL 3.1 core functions inline void QOpenGLFunctions_4_5_Core::glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - d_3_1_Core->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d_3_1_Core->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); } inline void QOpenGLFunctions_4_5_Core::glGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) { - d_3_1_Core->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d_3_1_Core->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); } inline void QOpenGLFunctions_4_5_Core::glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d_3_1_Core->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); } inline GLuint QOpenGLFunctions_4_5_Core::glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { - return d_3_1_Core->GetUniformBlockIndex(program, uniformBlockName); + return d_3_1_Core->f.GetUniformBlockIndex(program, uniformBlockName); } inline void QOpenGLFunctions_4_5_Core::glGetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) { - d_3_1_Core->GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); + d_3_1_Core->f.GetActiveUniformName(program, uniformIndex, bufSize, length, uniformName); } inline void QOpenGLFunctions_4_5_Core::glGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params) { - d_3_1_Core->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d_3_1_Core->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices) { - d_3_1_Core->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d_3_1_Core->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); } inline void QOpenGLFunctions_4_5_Core::glCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) { - d_3_1_Core->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d_3_1_Core->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_5_Core::glPrimitiveRestartIndex(GLuint index) { - d_3_1_Core->PrimitiveRestartIndex(index); + d_3_1_Core->f.PrimitiveRestartIndex(index); } inline void QOpenGLFunctions_4_5_Core::glTexBuffer(GLenum target, GLenum internalformat, GLuint buffer) { - d_3_1_Core->TexBuffer(target, internalformat, buffer); + d_3_1_Core->f.TexBuffer(target, internalformat, buffer); } inline void QOpenGLFunctions_4_5_Core::glDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount) { - d_3_1_Core->DrawElementsInstanced(mode, count, type, indices, instancecount); + d_3_1_Core->f.DrawElementsInstanced(mode, count, type, indices, instancecount); } inline void QOpenGLFunctions_4_5_Core::glDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) { - d_3_1_Core->DrawArraysInstanced(mode, first, count, instancecount); + d_3_1_Core->f.DrawArraysInstanced(mode, first, count, instancecount); } // OpenGL 3.2 core functions inline void QOpenGLFunctions_4_5_Core::glSampleMaski(GLuint maskNumber, GLbitfield mask) { - d_3_2_Core->SampleMaski(maskNumber, mask); + d_3_2_Core->f.SampleMaski(maskNumber, mask); } inline void QOpenGLFunctions_4_5_Core::glGetMultisamplefv(GLenum pname, GLuint index, GLfloat *val) { - d_3_2_Core->GetMultisamplefv(pname, index, val); + d_3_2_Core->f.GetMultisamplefv(pname, index, val); } inline void QOpenGLFunctions_4_5_Core::glTexImage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_3_2_Core->f.TexImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Core::glTexImage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_3_2_Core->TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_3_2_Core->f.TexImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Core::glFramebufferTexture(GLenum target, GLenum attachment, GLuint texture, GLint level) { - d_3_2_Core->FramebufferTexture(target, attachment, texture, level); + d_3_2_Core->f.FramebufferTexture(target, attachment, texture, level); } inline void QOpenGLFunctions_4_5_Core::glGetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params) { - d_3_2_Core->GetBufferParameteri64v(target, pname, params); + d_3_2_Core->f.GetBufferParameteri64v(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetInteger64i_v(GLenum target, GLuint index, GLint64 *data) { - d_3_2_Core->GetInteger64i_v(target, index, data); + d_3_2_Core->f.GetInteger64i_v(target, index, data); } inline void QOpenGLFunctions_4_5_Core::glGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values) { - d_3_2_Core->GetSynciv(sync, pname, bufSize, length, values); + d_3_2_Core->f.GetSynciv(sync, pname, bufSize, length, values); } inline void QOpenGLFunctions_4_5_Core::glGetInteger64v(GLenum pname, GLint64 *data) { - d_3_2_Core->GetInteger64v(pname, data); + d_3_2_Core->f.GetInteger64v(pname, data); } inline void QOpenGLFunctions_4_5_Core::glWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - d_3_2_Core->WaitSync(sync, flags, timeout); + d_3_2_Core->f.WaitSync(sync, flags, timeout); } inline GLenum QOpenGLFunctions_4_5_Core::glClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) { - return d_3_2_Core->ClientWaitSync(sync, flags, timeout); + return d_3_2_Core->f.ClientWaitSync(sync, flags, timeout); } inline void QOpenGLFunctions_4_5_Core::glDeleteSync(GLsync sync) { - d_3_2_Core->DeleteSync(sync); + d_3_2_Core->f.DeleteSync(sync); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsSync(GLsync sync) { - return d_3_2_Core->IsSync(sync); + return d_3_2_Core->f.IsSync(sync); } inline GLsync QOpenGLFunctions_4_5_Core::glFenceSync(GLenum condition, GLbitfield flags) { - return d_3_2_Core->FenceSync(condition, flags); + return d_3_2_Core->f.FenceSync(condition, flags); } inline void QOpenGLFunctions_4_5_Core::glProvokingVertex(GLenum mode) { - d_3_2_Core->ProvokingVertex(mode); + d_3_2_Core->f.ProvokingVertex(mode); } inline void QOpenGLFunctions_4_5_Core::glMultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex) { - d_3_2_Core->MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); + d_3_2_Core->f.MultiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex); } inline void QOpenGLFunctions_4_5_Core::glDrawElementsInstancedBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) { - d_3_2_Core->DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); + d_3_2_Core->f.DrawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex); } inline void QOpenGLFunctions_4_5_Core::glDrawRangeElementsBaseVertex(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); + d_3_2_Core->f.DrawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex); } inline void QOpenGLFunctions_4_5_Core::glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) { - d_3_2_Core->DrawElementsBaseVertex(mode, count, type, indices, basevertex); + d_3_2_Core->f.DrawElementsBaseVertex(mode, count, type, indices, basevertex); } // OpenGL 3.3 core functions inline void QOpenGLFunctions_4_5_Core::glVertexAttribP4uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP4uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribP4ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP4ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP4ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribP3uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP3uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribP3ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP3ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP3ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribP2uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP2uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribP2ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP2ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP2ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribP1uiv(GLuint index, GLenum type, GLboolean normalized, const GLuint *value) { - d_3_3_Core->VertexAttribP1uiv(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1uiv(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribP1ui(GLuint index, GLenum type, GLboolean normalized, GLuint value) { - d_3_3_Core->VertexAttribP1ui(index, type, normalized, value); + d_3_3_Core->f.VertexAttribP1ui(index, type, normalized, value); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribDivisor(GLuint index, GLuint divisor) { - d_3_3_Core->VertexAttribDivisor(index, divisor); + d_3_3_Core->f.VertexAttribDivisor(index, divisor); } inline void QOpenGLFunctions_4_5_Core::glGetQueryObjectui64v(GLuint id, GLenum pname, GLuint64 *params) { - d_3_3_Core->GetQueryObjectui64v(id, pname, params); + d_3_3_Core->f.GetQueryObjectui64v(id, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetQueryObjecti64v(GLuint id, GLenum pname, GLint64 *params) { - d_3_3_Core->GetQueryObjecti64v(id, pname, params); + d_3_3_Core->f.GetQueryObjecti64v(id, pname, params); } inline void QOpenGLFunctions_4_5_Core::glQueryCounter(GLuint id, GLenum target) { - d_3_3_Core->QueryCounter(id, target); + d_3_3_Core->f.QueryCounter(id, target); } inline void QOpenGLFunctions_4_5_Core::glGetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { - d_3_3_Core->GetSamplerParameterIuiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIuiv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { - d_3_3_Core->GetSamplerParameterfv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterfv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameterIiv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameterIiv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { - d_3_3_Core->GetSamplerParameteriv(sampler, pname, params); + d_3_3_Core->f.GetSamplerParameteriv(sampler, pname, params); } inline void QOpenGLFunctions_4_5_Core::glSamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *param) { - d_3_3_Core->SamplerParameterIuiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIuiv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Core::glSamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameterIiv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterIiv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Core::glSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *param) { - d_3_3_Core->SamplerParameterfv(sampler, pname, param); + d_3_3_Core->f.SamplerParameterfv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Core::glSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { - d_3_3_Core->SamplerParameterf(sampler, pname, param); + d_3_3_Core->f.SamplerParameterf(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Core::glSamplerParameteriv(GLuint sampler, GLenum pname, const GLint *param) { - d_3_3_Core->SamplerParameteriv(sampler, pname, param); + d_3_3_Core->f.SamplerParameteriv(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Core::glSamplerParameteri(GLuint sampler, GLenum pname, GLint param) { - d_3_3_Core->SamplerParameteri(sampler, pname, param); + d_3_3_Core->f.SamplerParameteri(sampler, pname, param); } inline void QOpenGLFunctions_4_5_Core::glBindSampler(GLuint unit, GLuint sampler) { - d_3_3_Core->BindSampler(unit, sampler); + d_3_3_Core->f.BindSampler(unit, sampler); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsSampler(GLuint sampler) { - return d_3_3_Core->IsSampler(sampler); + return d_3_3_Core->f.IsSampler(sampler); } inline void QOpenGLFunctions_4_5_Core::glDeleteSamplers(GLsizei count, const GLuint *samplers) { - d_3_3_Core->DeleteSamplers(count, samplers); + d_3_3_Core->f.DeleteSamplers(count, samplers); } inline void QOpenGLFunctions_4_5_Core::glGenSamplers(GLsizei count, GLuint *samplers) { - d_3_3_Core->GenSamplers(count, samplers); + d_3_3_Core->f.GenSamplers(count, samplers); } inline GLint QOpenGLFunctions_4_5_Core::glGetFragDataIndex(GLuint program, const GLchar *name) { - return d_3_3_Core->GetFragDataIndex(program, name); + return d_3_3_Core->f.GetFragDataIndex(program, name); } inline void QOpenGLFunctions_4_5_Core::glBindFragDataLocationIndexed(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name) { - d_3_3_Core->BindFragDataLocationIndexed(program, colorNumber, index, name); + d_3_3_Core->f.BindFragDataLocationIndexed(program, colorNumber, index, name); } // OpenGL 4.0 core functions inline void QOpenGLFunctions_4_5_Core::glGetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { - d_4_0_Core->GetQueryIndexediv(target, index, pname, params); + d_4_0_Core->f.GetQueryIndexediv(target, index, pname, params); } inline void QOpenGLFunctions_4_5_Core::glEndQueryIndexed(GLenum target, GLuint index) { - d_4_0_Core->EndQueryIndexed(target, index); + d_4_0_Core->f.EndQueryIndexed(target, index); } inline void QOpenGLFunctions_4_5_Core::glBeginQueryIndexed(GLenum target, GLuint index, GLuint id) { - d_4_0_Core->BeginQueryIndexed(target, index, id); + d_4_0_Core->f.BeginQueryIndexed(target, index, id); } inline void QOpenGLFunctions_4_5_Core::glDrawTransformFeedbackStream(GLenum mode, GLuint id, GLuint stream) { - d_4_0_Core->DrawTransformFeedbackStream(mode, id, stream); + d_4_0_Core->f.DrawTransformFeedbackStream(mode, id, stream); } inline void QOpenGLFunctions_4_5_Core::glDrawTransformFeedback(GLenum mode, GLuint id) { - d_4_0_Core->DrawTransformFeedback(mode, id); + d_4_0_Core->f.DrawTransformFeedback(mode, id); } inline void QOpenGLFunctions_4_5_Core::glResumeTransformFeedback() { - d_4_0_Core->ResumeTransformFeedback(); + d_4_0_Core->f.ResumeTransformFeedback(); } inline void QOpenGLFunctions_4_5_Core::glPauseTransformFeedback() { - d_4_0_Core->PauseTransformFeedback(); + d_4_0_Core->f.PauseTransformFeedback(); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsTransformFeedback(GLuint id) { - return d_4_0_Core->IsTransformFeedback(id); + return d_4_0_Core->f.IsTransformFeedback(id); } inline void QOpenGLFunctions_4_5_Core::glGenTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_0_Core->GenTransformFeedbacks(n, ids); + d_4_0_Core->f.GenTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_5_Core::glDeleteTransformFeedbacks(GLsizei n, const GLuint *ids) { - d_4_0_Core->DeleteTransformFeedbacks(n, ids); + d_4_0_Core->f.DeleteTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_5_Core::glBindTransformFeedback(GLenum target, GLuint id) { - d_4_0_Core->BindTransformFeedback(target, id); + d_4_0_Core->f.BindTransformFeedback(target, id); } inline void QOpenGLFunctions_4_5_Core::glPatchParameterfv(GLenum pname, const GLfloat *values) { - d_4_0_Core->PatchParameterfv(pname, values); + d_4_0_Core->f.PatchParameterfv(pname, values); } inline void QOpenGLFunctions_4_5_Core::glPatchParameteri(GLenum pname, GLint value) { - d_4_0_Core->PatchParameteri(pname, value); + d_4_0_Core->f.PatchParameteri(pname, value); } inline void QOpenGLFunctions_4_5_Core::glGetProgramStageiv(GLuint program, GLenum shadertype, GLenum pname, GLint *values) { - d_4_0_Core->GetProgramStageiv(program, shadertype, pname, values); + d_4_0_Core->f.GetProgramStageiv(program, shadertype, pname, values); } inline void QOpenGLFunctions_4_5_Core::glGetUniformSubroutineuiv(GLenum shadertype, GLint location, GLuint *params) { - d_4_0_Core->GetUniformSubroutineuiv(shadertype, location, params); + d_4_0_Core->f.GetUniformSubroutineuiv(shadertype, location, params); } inline void QOpenGLFunctions_4_5_Core::glUniformSubroutinesuiv(GLenum shadertype, GLsizei count, const GLuint *indices) { - d_4_0_Core->UniformSubroutinesuiv(shadertype, count, indices); + d_4_0_Core->f.UniformSubroutinesuiv(shadertype, count, indices); } inline void QOpenGLFunctions_4_5_Core::glGetActiveSubroutineName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_5_Core::glGetActiveSubroutineUniformName(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name) { - d_4_0_Core->GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); + d_4_0_Core->f.GetActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name); } inline void QOpenGLFunctions_4_5_Core::glGetActiveSubroutineUniformiv(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values) { - d_4_0_Core->GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); + d_4_0_Core->f.GetActiveSubroutineUniformiv(program, shadertype, index, pname, values); } inline GLuint QOpenGLFunctions_4_5_Core::glGetSubroutineIndex(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineIndex(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineIndex(program, shadertype, name); } inline GLint QOpenGLFunctions_4_5_Core::glGetSubroutineUniformLocation(GLuint program, GLenum shadertype, const GLchar *name) { - return d_4_0_Core->GetSubroutineUniformLocation(program, shadertype, name); + return d_4_0_Core->f.GetSubroutineUniformLocation(program, shadertype, name); } inline void QOpenGLFunctions_4_5_Core::glGetUniformdv(GLuint program, GLint location, GLdouble *params) { - d_4_0_Core->GetUniformdv(program, location, params); + d_4_0_Core->f.GetUniformdv(program, location, params); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix4x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix4x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix3x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix3x2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3x2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3x2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix2x4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix2x3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2x3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2x3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix4dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix4dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix4dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix3dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix3dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix3dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniformMatrix2dv(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_0_Core->UniformMatrix2dv(location, count, transpose, value); + d_4_0_Core->f.UniformMatrix2dv(location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glUniform4dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform4dv(location, count, value); + d_4_0_Core->f.Uniform4dv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform3dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform3dv(location, count, value); + d_4_0_Core->f.Uniform3dv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform2dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform2dv(location, count, value); + d_4_0_Core->f.Uniform2dv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform1dv(GLint location, GLsizei count, const GLdouble *value) { - d_4_0_Core->Uniform1dv(location, count, value); + d_4_0_Core->f.Uniform1dv(location, count, value); } inline void QOpenGLFunctions_4_5_Core::glUniform4d(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_0_Core->Uniform4d(location, x, y, z, w); + d_4_0_Core->f.Uniform4d(location, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glUniform3d(GLint location, GLdouble x, GLdouble y, GLdouble z) { - d_4_0_Core->Uniform3d(location, x, y, z); + d_4_0_Core->f.Uniform3d(location, x, y, z); } inline void QOpenGLFunctions_4_5_Core::glUniform2d(GLint location, GLdouble x, GLdouble y) { - d_4_0_Core->Uniform2d(location, x, y); + d_4_0_Core->f.Uniform2d(location, x, y); } inline void QOpenGLFunctions_4_5_Core::glUniform1d(GLint location, GLdouble x) { - d_4_0_Core->Uniform1d(location, x); + d_4_0_Core->f.Uniform1d(location, x); } inline void QOpenGLFunctions_4_5_Core::glDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect) { - d_4_0_Core->DrawElementsIndirect(mode, type, indirect); + d_4_0_Core->f.DrawElementsIndirect(mode, type, indirect); } inline void QOpenGLFunctions_4_5_Core::glDrawArraysIndirect(GLenum mode, const void *indirect) { - d_4_0_Core->DrawArraysIndirect(mode, indirect); + d_4_0_Core->f.DrawArraysIndirect(mode, indirect); } inline void QOpenGLFunctions_4_5_Core::glBlendFuncSeparatei(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { - d_4_0_Core->BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); + d_4_0_Core->f.BlendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha); } inline void QOpenGLFunctions_4_5_Core::glBlendFunci(GLuint buf, GLenum src, GLenum dst) { - d_4_0_Core->BlendFunci(buf, src, dst); + d_4_0_Core->f.BlendFunci(buf, src, dst); } inline void QOpenGLFunctions_4_5_Core::glBlendEquationSeparatei(GLuint buf, GLenum modeRGB, GLenum modeAlpha) { - d_4_0_Core->BlendEquationSeparatei(buf, modeRGB, modeAlpha); + d_4_0_Core->f.BlendEquationSeparatei(buf, modeRGB, modeAlpha); } inline void QOpenGLFunctions_4_5_Core::glBlendEquationi(GLuint buf, GLenum mode) { - d_4_0_Core->BlendEquationi(buf, mode); + d_4_0_Core->f.BlendEquationi(buf, mode); } inline void QOpenGLFunctions_4_5_Core::glMinSampleShading(GLfloat value) { - d_4_0_Core->MinSampleShading(value); + d_4_0_Core->f.MinSampleShading(value); } // OpenGL 4.1 core functions inline void QOpenGLFunctions_4_5_Core::glGetDoublei_v(GLenum target, GLuint index, GLdouble *data) { - d_4_1_Core->GetDoublei_v(target, index, data); + d_4_1_Core->f.GetDoublei_v(target, index, data); } inline void QOpenGLFunctions_4_5_Core::glGetFloati_v(GLenum target, GLuint index, GLfloat *data) { - d_4_1_Core->GetFloati_v(target, index, data); + d_4_1_Core->f.GetFloati_v(target, index, data); } inline void QOpenGLFunctions_4_5_Core::glDepthRangeIndexed(GLuint index, GLdouble n, GLdouble f) { - d_4_1_Core->DepthRangeIndexed(index, n, f); + d_4_1_Core->f.DepthRangeIndexed(index, n, f); } inline void QOpenGLFunctions_4_5_Core::glDepthRangeArrayv(GLuint first, GLsizei count, const GLdouble *v) { - d_4_1_Core->DepthRangeArrayv(first, count, v); + d_4_1_Core->f.DepthRangeArrayv(first, count, v); } inline void QOpenGLFunctions_4_5_Core::glScissorIndexedv(GLuint index, const GLint *v) { - d_4_1_Core->ScissorIndexedv(index, v); + d_4_1_Core->f.ScissorIndexedv(index, v); } inline void QOpenGLFunctions_4_5_Core::glScissorIndexed(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height) { - d_4_1_Core->ScissorIndexed(index, left, bottom, width, height); + d_4_1_Core->f.ScissorIndexed(index, left, bottom, width, height); } inline void QOpenGLFunctions_4_5_Core::glScissorArrayv(GLuint first, GLsizei count, const GLint *v) { - d_4_1_Core->ScissorArrayv(first, count, v); + d_4_1_Core->f.ScissorArrayv(first, count, v); } inline void QOpenGLFunctions_4_5_Core::glViewportIndexedfv(GLuint index, const GLfloat *v) { - d_4_1_Core->ViewportIndexedfv(index, v); + d_4_1_Core->f.ViewportIndexedfv(index, v); } inline void QOpenGLFunctions_4_5_Core::glViewportIndexedf(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h) { - d_4_1_Core->ViewportIndexedf(index, x, y, w, h); + d_4_1_Core->f.ViewportIndexedf(index, x, y, w, h); } inline void QOpenGLFunctions_4_5_Core::glViewportArrayv(GLuint first, GLsizei count, const GLfloat *v) { - d_4_1_Core->ViewportArrayv(first, count, v); + d_4_1_Core->f.ViewportArrayv(first, count, v); } inline void QOpenGLFunctions_4_5_Core::glGetVertexAttribLdv(GLuint index, GLenum pname, GLdouble *params) { - d_4_1_Core->GetVertexAttribLdv(index, pname, params); + d_4_1_Core->f.GetVertexAttribLdv(index, pname, params); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribLPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer) { - d_4_1_Core->VertexAttribLPointer(index, size, type, stride, pointer); + d_4_1_Core->f.VertexAttribLPointer(index, size, type, stride, pointer); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL4dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL4dv(index, v); + d_4_1_Core->f.VertexAttribL4dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL3dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL3dv(index, v); + d_4_1_Core->f.VertexAttribL3dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL2dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL2dv(index, v); + d_4_1_Core->f.VertexAttribL2dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL1dv(GLuint index, const GLdouble *v) { - d_4_1_Core->VertexAttribL1dv(index, v); + d_4_1_Core->f.VertexAttribL1dv(index, v); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL4d(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { - d_4_1_Core->VertexAttribL4d(index, x, y, z, w); + d_4_1_Core->f.VertexAttribL4d(index, x, y, z, w); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL3d(GLuint index, GLdouble x, GLdouble y, GLdouble z) { - d_4_1_Core->VertexAttribL3d(index, x, y, z); + d_4_1_Core->f.VertexAttribL3d(index, x, y, z); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL2d(GLuint index, GLdouble x, GLdouble y) { - d_4_1_Core->VertexAttribL2d(index, x, y); + d_4_1_Core->f.VertexAttribL2d(index, x, y); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribL1d(GLuint index, GLdouble x) { - d_4_1_Core->VertexAttribL1d(index, x); + d_4_1_Core->f.VertexAttribL1d(index, x); } inline void QOpenGLFunctions_4_5_Core::glGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) { - d_4_1_Core->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d_4_1_Core->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); } inline void QOpenGLFunctions_4_5_Core::glValidateProgramPipeline(GLuint pipeline) { - d_4_1_Core->ValidateProgramPipeline(pipeline); + d_4_1_Core->f.ValidateProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix4x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix3x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix4x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix2x4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix3x2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3x2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix2x3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2x3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix4dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix4dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix3dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix3dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix2dv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value) { - d_4_1_Core->ProgramUniformMatrix2dv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2dv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) { - d_4_1_Core->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d_4_1_Core->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform4uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) { - d_4_1_Core->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform4dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3) { - d_4_1_Core->ProgramUniform4d(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4d(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform4fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) { - d_4_1_Core->ProgramUniform4f(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4f(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform4iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform4iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) { - d_4_1_Core->ProgramUniform4i(program, location, v0, v1, v2, v3); + d_4_1_Core->f.ProgramUniform4i(program, location, v0, v1, v2, v3); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform3uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) { - d_4_1_Core->ProgramUniform3ui(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3ui(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform3dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3d(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2) { - d_4_1_Core->ProgramUniform3d(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3d(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform3fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) { - d_4_1_Core->ProgramUniform3f(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3f(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform3iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform3iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) { - d_4_1_Core->ProgramUniform3i(program, location, v0, v1, v2); + d_4_1_Core->f.ProgramUniform3i(program, location, v0, v1, v2); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform2uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) { - d_4_1_Core->ProgramUniform2ui(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2ui(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform2dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2d(GLuint program, GLint location, GLdouble v0, GLdouble v1) { - d_4_1_Core->ProgramUniform2d(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2d(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform2fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) { - d_4_1_Core->ProgramUniform2f(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2f(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform2iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform2iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) { - d_4_1_Core->ProgramUniform2i(program, location, v0, v1); + d_4_1_Core->f.ProgramUniform2i(program, location, v0, v1); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint *value) { - d_4_1_Core->ProgramUniform1uiv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1uiv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1ui(GLuint program, GLint location, GLuint v0) { - d_4_1_Core->ProgramUniform1ui(program, location, v0); + d_4_1_Core->f.ProgramUniform1ui(program, location, v0); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1dv(GLuint program, GLint location, GLsizei count, const GLdouble *value) { - d_4_1_Core->ProgramUniform1dv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1dv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1d(GLuint program, GLint location, GLdouble v0) { - d_4_1_Core->ProgramUniform1d(program, location, v0); + d_4_1_Core->f.ProgramUniform1d(program, location, v0); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat *value) { - d_4_1_Core->ProgramUniform1fv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1fv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1f(GLuint program, GLint location, GLfloat v0) { - d_4_1_Core->ProgramUniform1f(program, location, v0); + d_4_1_Core->f.ProgramUniform1f(program, location, v0); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint *value) { - d_4_1_Core->ProgramUniform1iv(program, location, count, value); + d_4_1_Core->f.ProgramUniform1iv(program, location, count, value); } inline void QOpenGLFunctions_4_5_Core::glProgramUniform1i(GLuint program, GLint location, GLint v0) { - d_4_1_Core->ProgramUniform1i(program, location, v0); + d_4_1_Core->f.ProgramUniform1i(program, location, v0); } inline void QOpenGLFunctions_4_5_Core::glGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint *params) { - d_4_1_Core->GetProgramPipelineiv(pipeline, pname, params); + d_4_1_Core->f.GetProgramPipelineiv(pipeline, pname, params); } inline GLboolean QOpenGLFunctions_4_5_Core::glIsProgramPipeline(GLuint pipeline) { - return d_4_1_Core->IsProgramPipeline(pipeline); + return d_4_1_Core->f.IsProgramPipeline(pipeline); } inline void QOpenGLFunctions_4_5_Core::glGenProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_1_Core->GenProgramPipelines(n, pipelines); + d_4_1_Core->f.GenProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_5_Core::glDeleteProgramPipelines(GLsizei n, const GLuint *pipelines) { - d_4_1_Core->DeleteProgramPipelines(n, pipelines); + d_4_1_Core->f.DeleteProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_5_Core::glBindProgramPipeline(GLuint pipeline) { - d_4_1_Core->BindProgramPipeline(pipeline); + d_4_1_Core->f.BindProgramPipeline(pipeline); } inline GLuint QOpenGLFunctions_4_5_Core::glCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const *strings) { - return d_4_1_Core->CreateShaderProgramv(type, count, strings); + return d_4_1_Core->f.CreateShaderProgramv(type, count, strings); } inline void QOpenGLFunctions_4_5_Core::glActiveShaderProgram(GLuint pipeline, GLuint program) { - d_4_1_Core->ActiveShaderProgram(pipeline, program); + d_4_1_Core->f.ActiveShaderProgram(pipeline, program); } inline void QOpenGLFunctions_4_5_Core::glUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) { - d_4_1_Core->UseProgramStages(pipeline, stages, program); + d_4_1_Core->f.UseProgramStages(pipeline, stages, program); } inline void QOpenGLFunctions_4_5_Core::glProgramParameteri(GLuint program, GLenum pname, GLint value) { - d_4_1_Core->ProgramParameteri(program, pname, value); + d_4_1_Core->f.ProgramParameteri(program, pname, value); } inline void QOpenGLFunctions_4_5_Core::glProgramBinary(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length) { - d_4_1_Core->ProgramBinary(program, binaryFormat, binary, length); + d_4_1_Core->f.ProgramBinary(program, binaryFormat, binary, length); } inline void QOpenGLFunctions_4_5_Core::glGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary) { - d_4_1_Core->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d_4_1_Core->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); } inline void QOpenGLFunctions_4_5_Core::glClearDepthf(GLfloat dd) { - d_4_1_Core->ClearDepthf(dd); + d_4_1_Core->f.ClearDepthf(dd); } inline void QOpenGLFunctions_4_5_Core::glDepthRangef(GLfloat n, GLfloat f) { - d_4_1_Core->DepthRangef(n, f); + d_4_1_Core->f.DepthRangef(n, f); } inline void QOpenGLFunctions_4_5_Core::glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision) { - d_4_1_Core->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_4_1_Core->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); } inline void QOpenGLFunctions_4_5_Core::glShaderBinary(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length) { - d_4_1_Core->ShaderBinary(count, shaders, binaryformat, binary, length); + d_4_1_Core->f.ShaderBinary(count, shaders, binaryformat, binary, length); } inline void QOpenGLFunctions_4_5_Core::glReleaseShaderCompiler() { - d_4_1_Core->ReleaseShaderCompiler(); + d_4_1_Core->f.ReleaseShaderCompiler(); } // OpenGL 4.2 core functions inline void QOpenGLFunctions_4_5_Core::glDrawTransformFeedbackStreamInstanced(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); + d_4_2_Core->f.DrawTransformFeedbackStreamInstanced(mode, id, stream, instancecount); } inline void QOpenGLFunctions_4_5_Core::glDrawTransformFeedbackInstanced(GLenum mode, GLuint id, GLsizei instancecount) { - d_4_2_Core->DrawTransformFeedbackInstanced(mode, id, instancecount); + d_4_2_Core->f.DrawTransformFeedbackInstanced(mode, id, instancecount); } inline void QOpenGLFunctions_4_5_Core::glTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_2_Core->TexStorage3D(target, levels, internalformat, width, height, depth); + d_4_2_Core->f.TexStorage3D(target, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_5_Core::glTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_2_Core->TexStorage2D(target, levels, internalformat, width, height); + d_4_2_Core->f.TexStorage2D(target, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Core::glTexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_2_Core->TexStorage1D(target, levels, internalformat, width); + d_4_2_Core->f.TexStorage1D(target, levels, internalformat, width); } inline void QOpenGLFunctions_4_5_Core::glMemoryBarrier(GLbitfield barriers) { - d_4_2_Core->MemoryBarrier(barriers); + d_4_2_Core->f.MemoryBarrier(barriers); } inline void QOpenGLFunctions_4_5_Core::glBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) { - d_4_2_Core->BindImageTexture(unit, texture, level, layered, layer, access, format); + d_4_2_Core->f.BindImageTexture(unit, texture, level, layered, layer, access, format); } inline void QOpenGLFunctions_4_5_Core::glGetActiveAtomicCounterBufferiv(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params) { - d_4_2_Core->GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); + d_4_2_Core->f.GetActiveAtomicCounterBufferiv(program, bufferIndex, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params) { - d_4_2_Core->GetInternalformativ(target, internalformat, pname, bufSize, params); + d_4_2_Core->f.GetInternalformativ(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_5_Core::glDrawElementsInstancedBaseVertexBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance); } inline void QOpenGLFunctions_4_5_Core::glDrawElementsInstancedBaseInstance(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); + d_4_2_Core->f.DrawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance); } inline void QOpenGLFunctions_4_5_Core::glDrawArraysInstancedBaseInstance(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance) { - d_4_2_Core->DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); + d_4_2_Core->f.DrawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance); } // OpenGL 4.3 core functions inline void QOpenGLFunctions_4_5_Core::glGetObjectPtrLabel(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectPtrLabel(ptr, bufSize, length, label); + d_4_3_Core->f.GetObjectPtrLabel(ptr, bufSize, length, label); } inline void QOpenGLFunctions_4_5_Core::glObjectPtrLabel(const void *ptr, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectPtrLabel(ptr, length, label); + d_4_3_Core->f.ObjectPtrLabel(ptr, length, label); } inline void QOpenGLFunctions_4_5_Core::glGetObjectLabel(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label) { - d_4_3_Core->GetObjectLabel(identifier, name, bufSize, length, label); + d_4_3_Core->f.GetObjectLabel(identifier, name, bufSize, length, label); } inline void QOpenGLFunctions_4_5_Core::glObjectLabel(GLenum identifier, GLuint name, GLsizei length, const GLchar *label) { - d_4_3_Core->ObjectLabel(identifier, name, length, label); + d_4_3_Core->f.ObjectLabel(identifier, name, length, label); } inline void QOpenGLFunctions_4_5_Core::glPopDebugGroup() { - d_4_3_Core->PopDebugGroup(); + d_4_3_Core->f.PopDebugGroup(); } inline void QOpenGLFunctions_4_5_Core::glPushDebugGroup(GLenum source, GLuint id, GLsizei length, const GLchar *message) { - d_4_3_Core->PushDebugGroup(source, id, length, message); + d_4_3_Core->f.PushDebugGroup(source, id, length, message); } inline GLuint QOpenGLFunctions_4_5_Core::glGetDebugMessageLog(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog) { - return d_4_3_Core->GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); + return d_4_3_Core->f.GetDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog); } inline void QOpenGLFunctions_4_5_Core::glDebugMessageCallback(GLDEBUGPROC callback, const void *userParam) { - d_4_3_Core->DebugMessageCallback(callback, userParam); + d_4_3_Core->f.DebugMessageCallback(callback, userParam); } inline void QOpenGLFunctions_4_5_Core::glDebugMessageInsert(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf) { - d_4_3_Core->DebugMessageInsert(source, type, id, severity, length, buf); + d_4_3_Core->f.DebugMessageInsert(source, type, id, severity, length, buf); } inline void QOpenGLFunctions_4_5_Core::glDebugMessageControl(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled) { - d_4_3_Core->DebugMessageControl(source, type, severity, count, ids, enabled); + d_4_3_Core->f.DebugMessageControl(source, type, severity, count, ids, enabled); } inline void QOpenGLFunctions_4_5_Core::glVertexBindingDivisor(GLuint bindingindex, GLuint divisor) { - d_4_3_Core->VertexBindingDivisor(bindingindex, divisor); + d_4_3_Core->f.VertexBindingDivisor(bindingindex, divisor); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribBinding(GLuint attribindex, GLuint bindingindex) { - d_4_3_Core->VertexAttribBinding(attribindex, bindingindex); + d_4_3_Core->f.VertexAttribBinding(attribindex, bindingindex); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribLFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribLFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribLFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_3_Core->VertexAttribIFormat(attribindex, size, type, relativeoffset); + d_4_3_Core->f.VertexAttribIFormat(attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Core::glVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_3_Core->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + d_4_3_Core->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_5_Core::glBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_3_Core->BindVertexBuffer(bindingindex, buffer, offset, stride); + d_4_3_Core->f.BindVertexBuffer(bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_5_Core::glTextureView(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers) { - d_4_3_Core->TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); + d_4_3_Core->f.TextureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers); } inline void QOpenGLFunctions_4_5_Core::glTexStorage3DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_3_Core->f.TexStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Core::glTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_3_Core->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d_4_3_Core->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Core::glTexBufferRange(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size) { - d_4_3_Core->TexBufferRange(target, internalformat, buffer, offset, size); + d_4_3_Core->f.TexBufferRange(target, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Core::glShaderStorageBlockBinding(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding) { - d_4_3_Core->ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); + d_4_3_Core->f.ShaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding); } inline GLint QOpenGLFunctions_4_5_Core::glGetProgramResourceLocationIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocationIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocationIndex(program, programInterface, name); } inline GLint QOpenGLFunctions_4_5_Core::glGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceLocation(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceLocation(program, programInterface, name); } inline void QOpenGLFunctions_4_5_Core::glGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params) { - d_4_3_Core->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + d_4_3_Core->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); } inline void QOpenGLFunctions_4_5_Core::glGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name) { - d_4_3_Core->GetProgramResourceName(program, programInterface, index, bufSize, length, name); + d_4_3_Core->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name); } inline GLuint QOpenGLFunctions_4_5_Core::glGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar *name) { - return d_4_3_Core->GetProgramResourceIndex(program, programInterface, name); + return d_4_3_Core->f.GetProgramResourceIndex(program, programInterface, name); } inline void QOpenGLFunctions_4_5_Core::glGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint *params) { - d_4_3_Core->GetProgramInterfaceiv(program, programInterface, pname, params); + d_4_3_Core->f.GetProgramInterfaceiv(program, programInterface, pname, params); } inline void QOpenGLFunctions_4_5_Core::glMultiDrawElementsIndirect(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawElementsIndirect(mode, type, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_5_Core::glMultiDrawArraysIndirect(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride) { - d_4_3_Core->MultiDrawArraysIndirect(mode, indirect, drawcount, stride); + d_4_3_Core->f.MultiDrawArraysIndirect(mode, indirect, drawcount, stride); } inline void QOpenGLFunctions_4_5_Core::glInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_3_Core->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + d_4_3_Core->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) { - d_4_3_Core->InvalidateFramebuffer(target, numAttachments, attachments); + d_4_3_Core->f.InvalidateFramebuffer(target, numAttachments, attachments); } inline void QOpenGLFunctions_4_5_Core::glInvalidateBufferData(GLuint buffer) { - d_4_3_Core->InvalidateBufferData(buffer); + d_4_3_Core->f.InvalidateBufferData(buffer); } inline void QOpenGLFunctions_4_5_Core::glInvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { - d_4_3_Core->InvalidateBufferSubData(buffer, offset, length); + d_4_3_Core->f.InvalidateBufferSubData(buffer, offset, length); } inline void QOpenGLFunctions_4_5_Core::glInvalidateTexImage(GLuint texture, GLint level) { - d_4_3_Core->InvalidateTexImage(texture, level); + d_4_3_Core->f.InvalidateTexImage(texture, level); } inline void QOpenGLFunctions_4_5_Core::glInvalidateTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth) { - d_4_3_Core->InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); + d_4_3_Core->f.InvalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth); } inline void QOpenGLFunctions_4_5_Core::glGetInternalformati64v(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params) { - d_4_3_Core->GetInternalformati64v(target, internalformat, pname, bufSize, params); + d_4_3_Core->f.GetInternalformati64v(target, internalformat, pname, bufSize, params); } inline void QOpenGLFunctions_4_5_Core::glGetFramebufferParameteriv(GLenum target, GLenum pname, GLint *params) { - d_4_3_Core->GetFramebufferParameteriv(target, pname, params); + d_4_3_Core->f.GetFramebufferParameteriv(target, pname, params); } inline void QOpenGLFunctions_4_5_Core::glFramebufferParameteri(GLenum target, GLenum pname, GLint param) { - d_4_3_Core->FramebufferParameteri(target, pname, param); + d_4_3_Core->f.FramebufferParameteri(target, pname, param); } inline void QOpenGLFunctions_4_5_Core::glCopyImageSubData(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth) { - d_4_3_Core->CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); + d_4_3_Core->f.CopyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth); } inline void QOpenGLFunctions_4_5_Core::glDispatchComputeIndirect(GLintptr indirect) { - d_4_3_Core->DispatchComputeIndirect(indirect); + d_4_3_Core->f.DispatchComputeIndirect(indirect); } inline void QOpenGLFunctions_4_5_Core::glDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) { - d_4_3_Core->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); + d_4_3_Core->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z); } inline void QOpenGLFunctions_4_5_Core::glClearBufferSubData(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferSubData(target, internalformat, offset, size, format, type, data); + d_4_3_Core->f.ClearBufferSubData(target, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_5_Core::glClearBufferData(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_3_Core->ClearBufferData(target, internalformat, format, type, data); + d_4_3_Core->f.ClearBufferData(target, internalformat, format, type, data); } // OpenGL 4.4 core functions inline void QOpenGLFunctions_4_5_Core::glBindVertexBuffers(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) { - d_4_4_Core->BindVertexBuffers(first, count, buffers, offsets, strides); + d_4_4_Core->f.BindVertexBuffers(first, count, buffers, offsets, strides); } inline void QOpenGLFunctions_4_5_Core::glBindImageTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindImageTextures(first, count, textures); + d_4_4_Core->f.BindImageTextures(first, count, textures); } inline void QOpenGLFunctions_4_5_Core::glBindSamplers(GLuint first, GLsizei count, const GLuint *samplers) { - d_4_4_Core->BindSamplers(first, count, samplers); + d_4_4_Core->f.BindSamplers(first, count, samplers); } inline void QOpenGLFunctions_4_5_Core::glBindTextures(GLuint first, GLsizei count, const GLuint *textures) { - d_4_4_Core->BindTextures(first, count, textures); + d_4_4_Core->f.BindTextures(first, count, textures); } inline void QOpenGLFunctions_4_5_Core::glBindBuffersRange(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes) { - d_4_4_Core->BindBuffersRange(target, first, count, buffers, offsets, sizes); + d_4_4_Core->f.BindBuffersRange(target, first, count, buffers, offsets, sizes); } inline void QOpenGLFunctions_4_5_Core::glBindBuffersBase(GLenum target, GLuint first, GLsizei count, const GLuint *buffers) { - d_4_4_Core->BindBuffersBase(target, first, count, buffers); + d_4_4_Core->f.BindBuffersBase(target, first, count, buffers); } inline void QOpenGLFunctions_4_5_Core::glClearTexSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); + d_4_4_Core->f.ClearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data); } inline void QOpenGLFunctions_4_5_Core::glClearTexImage(GLuint texture, GLint level, GLenum format, GLenum type, const void *data) { - d_4_4_Core->ClearTexImage(texture, level, format, type, data); + d_4_4_Core->f.ClearTexImage(texture, level, format, type, data); } inline void QOpenGLFunctions_4_5_Core::glBufferStorage(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags) { - d_4_4_Core->BufferStorage(target, size, data, flags); + d_4_4_Core->f.BufferStorage(target, size, data, flags); } // OpenGL 4.5 core functions inline void QOpenGLFunctions_4_5_Core::glTextureBarrier() { - d_4_5_Core->TextureBarrier(); + d_4_5_Core->f.TextureBarrier(); } inline void QOpenGLFunctions_4_5_Core::glReadnPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data) { - d_4_5_Core->ReadnPixels(x, y, width, height, format, type, bufSize, data); + d_4_5_Core->f.ReadnPixels(x, y, width, height, format, type, bufSize, data); } inline void QOpenGLFunctions_4_5_Core::glGetnUniformuiv(GLuint program, GLint location, GLsizei bufSize, GLuint *params) { - d_4_5_Core->GetnUniformuiv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformuiv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Core::glGetnUniformiv(GLuint program, GLint location, GLsizei bufSize, GLint *params) { - d_4_5_Core->GetnUniformiv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformiv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Core::glGetnUniformfv(GLuint program, GLint location, GLsizei bufSize, GLfloat *params) { - d_4_5_Core->GetnUniformfv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformfv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Core::glGetnUniformdv(GLuint program, GLint location, GLsizei bufSize, GLdouble *params) { - d_4_5_Core->GetnUniformdv(program, location, bufSize, params); + d_4_5_Core->f.GetnUniformdv(program, location, bufSize, params); } inline void QOpenGLFunctions_4_5_Core::glGetnTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetnTexImage(target, level, format, type, bufSize, pixels); + d_4_5_Core->f.GetnTexImage(target, level, format, type, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Core::glGetnCompressedTexImage(GLenum target, GLint lod, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetnCompressedTexImage(target, lod, bufSize, pixels); + d_4_5_Core->f.GetnCompressedTexImage(target, lod, bufSize, pixels); } inline GLenum QOpenGLFunctions_4_5_Core::glGetGraphicsResetStatus() { - return d_4_5_Core->GetGraphicsResetStatus(); + return d_4_5_Core->f.GetGraphicsResetStatus(); } inline void QOpenGLFunctions_4_5_Core::glGetCompressedTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); + d_4_5_Core->f.GetCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Core::glGetTextureSubImage(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); + d_4_5_Core->f.GetTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Core::glMemoryBarrierByRegion(GLbitfield barriers) { - d_4_5_Core->MemoryBarrierByRegion(barriers); + d_4_5_Core->f.MemoryBarrierByRegion(barriers); } inline void QOpenGLFunctions_4_5_Core::glCreateQueries(GLenum target, GLsizei n, GLuint *ids) { - d_4_5_Core->CreateQueries(target, n, ids); + d_4_5_Core->f.CreateQueries(target, n, ids); } inline void QOpenGLFunctions_4_5_Core::glCreateProgramPipelines(GLsizei n, GLuint *pipelines) { - d_4_5_Core->CreateProgramPipelines(n, pipelines); + d_4_5_Core->f.CreateProgramPipelines(n, pipelines); } inline void QOpenGLFunctions_4_5_Core::glCreateSamplers(GLsizei n, GLuint *samplers) { - d_4_5_Core->CreateSamplers(n, samplers); + d_4_5_Core->f.CreateSamplers(n, samplers); } inline void QOpenGLFunctions_4_5_Core::glGetVertexArrayIndexed64iv(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param) { - d_4_5_Core->GetVertexArrayIndexed64iv(vaobj, index, pname, param); + d_4_5_Core->f.GetVertexArrayIndexed64iv(vaobj, index, pname, param); } inline void QOpenGLFunctions_4_5_Core::glGetVertexArrayIndexediv(GLuint vaobj, GLuint index, GLenum pname, GLint *param) { - d_4_5_Core->GetVertexArrayIndexediv(vaobj, index, pname, param); + d_4_5_Core->f.GetVertexArrayIndexediv(vaobj, index, pname, param); } inline void QOpenGLFunctions_4_5_Core::glGetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param) { - d_4_5_Core->GetVertexArrayiv(vaobj, pname, param); + d_4_5_Core->f.GetVertexArrayiv(vaobj, pname, param); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayBindingDivisor(GLuint vaobj, GLuint bindingindex, GLuint divisor) { - d_4_5_Core->VertexArrayBindingDivisor(vaobj, bindingindex, divisor); + d_4_5_Core->f.VertexArrayBindingDivisor(vaobj, bindingindex, divisor); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayAttribLFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_5_Core->VertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); + d_4_5_Core->f.VertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayAttribIFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) { - d_4_5_Core->VertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); + d_4_5_Core->f.VertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayAttribFormat(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) { - d_4_5_Core->VertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); + d_4_5_Core->f.VertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayAttribBinding(GLuint vaobj, GLuint attribindex, GLuint bindingindex) { - d_4_5_Core->VertexArrayAttribBinding(vaobj, attribindex, bindingindex); + d_4_5_Core->f.VertexArrayAttribBinding(vaobj, attribindex, bindingindex); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayVertexBuffers(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides) { - d_4_5_Core->VertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); + d_4_5_Core->f.VertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayVertexBuffer(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) { - d_4_5_Core->VertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); + d_4_5_Core->f.VertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride); } inline void QOpenGLFunctions_4_5_Core::glVertexArrayElementBuffer(GLuint vaobj, GLuint buffer) { - d_4_5_Core->VertexArrayElementBuffer(vaobj, buffer); + d_4_5_Core->f.VertexArrayElementBuffer(vaobj, buffer); } inline void QOpenGLFunctions_4_5_Core::glEnableVertexArrayAttrib(GLuint vaobj, GLuint index) { - d_4_5_Core->EnableVertexArrayAttrib(vaobj, index); + d_4_5_Core->f.EnableVertexArrayAttrib(vaobj, index); } inline void QOpenGLFunctions_4_5_Core::glDisableVertexArrayAttrib(GLuint vaobj, GLuint index) { - d_4_5_Core->DisableVertexArrayAttrib(vaobj, index); + d_4_5_Core->f.DisableVertexArrayAttrib(vaobj, index); } inline void QOpenGLFunctions_4_5_Core::glCreateVertexArrays(GLsizei n, GLuint *arrays) { - d_4_5_Core->CreateVertexArrays(n, arrays); + d_4_5_Core->f.CreateVertexArrays(n, arrays); } inline void QOpenGLFunctions_4_5_Core::glGetTextureParameteriv(GLuint texture, GLenum pname, GLint *params) { - d_4_5_Core->GetTextureParameteriv(texture, pname, params); + d_4_5_Core->f.GetTextureParameteriv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTextureParameterIuiv(GLuint texture, GLenum pname, GLuint *params) { - d_4_5_Core->GetTextureParameterIuiv(texture, pname, params); + d_4_5_Core->f.GetTextureParameterIuiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTextureParameterIiv(GLuint texture, GLenum pname, GLint *params) { - d_4_5_Core->GetTextureParameterIiv(texture, pname, params); + d_4_5_Core->f.GetTextureParameterIiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTextureParameterfv(GLuint texture, GLenum pname, GLfloat *params) { - d_4_5_Core->GetTextureParameterfv(texture, pname, params); + d_4_5_Core->f.GetTextureParameterfv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTextureLevelParameteriv(GLuint texture, GLint level, GLenum pname, GLint *params) { - d_4_5_Core->GetTextureLevelParameteriv(texture, level, pname, params); + d_4_5_Core->f.GetTextureLevelParameteriv(texture, level, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetTextureLevelParameterfv(GLuint texture, GLint level, GLenum pname, GLfloat *params) { - d_4_5_Core->GetTextureLevelParameterfv(texture, level, pname, params); + d_4_5_Core->f.GetTextureLevelParameterfv(texture, level, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetCompressedTextureImage(GLuint texture, GLint level, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetCompressedTextureImage(texture, level, bufSize, pixels); + d_4_5_Core->f.GetCompressedTextureImage(texture, level, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Core::glGetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels) { - d_4_5_Core->GetTextureImage(texture, level, format, type, bufSize, pixels); + d_4_5_Core->f.GetTextureImage(texture, level, format, type, bufSize, pixels); } inline void QOpenGLFunctions_4_5_Core::glBindTextureUnit(GLuint unit, GLuint texture) { - d_4_5_Core->BindTextureUnit(unit, texture); + d_4_5_Core->f.BindTextureUnit(unit, texture); } inline void QOpenGLFunctions_4_5_Core::glGenerateTextureMipmap(GLuint texture) { - d_4_5_Core->GenerateTextureMipmap(texture); + d_4_5_Core->f.GenerateTextureMipmap(texture); } inline void QOpenGLFunctions_4_5_Core::glTextureParameteriv(GLuint texture, GLenum pname, const GLint *param) { - d_4_5_Core->TextureParameteriv(texture, pname, param); + d_4_5_Core->f.TextureParameteriv(texture, pname, param); } inline void QOpenGLFunctions_4_5_Core::glTextureParameterIuiv(GLuint texture, GLenum pname, const GLuint *params) { - d_4_5_Core->TextureParameterIuiv(texture, pname, params); + d_4_5_Core->f.TextureParameterIuiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Core::glTextureParameterIiv(GLuint texture, GLenum pname, const GLint *params) { - d_4_5_Core->TextureParameterIiv(texture, pname, params); + d_4_5_Core->f.TextureParameterIiv(texture, pname, params); } inline void QOpenGLFunctions_4_5_Core::glTextureParameteri(GLuint texture, GLenum pname, GLint param) { - d_4_5_Core->TextureParameteri(texture, pname, param); + d_4_5_Core->f.TextureParameteri(texture, pname, param); } inline void QOpenGLFunctions_4_5_Core::glTextureParameterfv(GLuint texture, GLenum pname, const GLfloat *param) { - d_4_5_Core->TextureParameterfv(texture, pname, param); + d_4_5_Core->f.TextureParameterfv(texture, pname, param); } inline void QOpenGLFunctions_4_5_Core::glTextureParameterf(GLuint texture, GLenum pname, GLfloat param) { - d_4_5_Core->TextureParameterf(texture, pname, param); + d_4_5_Core->f.TextureParameterf(texture, pname, param); } inline void QOpenGLFunctions_4_5_Core::glCopyTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_5_Core->CopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); + d_4_5_Core->f.CopyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glCopyTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_5_Core->CopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); + d_4_5_Core->f.CopyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glCopyTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) { - d_4_5_Core->CopyTextureSubImage1D(texture, level, xoffset, x, y, width); + d_4_5_Core->f.CopyTextureSubImage1D(texture, level, xoffset, x, y, width); } inline void QOpenGLFunctions_4_5_Core::glCompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data) { - d_4_5_Core->CompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d_4_5_Core->f.CompressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glCompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data) { - d_4_5_Core->CompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); + d_4_5_Core->f.CompressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glCompressedTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data) { - d_4_5_Core->CompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); + d_4_5_Core->f.CompressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data); } inline void QOpenGLFunctions_4_5_Core::glTextureSubImage3D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels) { - d_4_5_Core->TextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d_4_5_Core->f.TextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glTextureSubImage2D(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels) { - d_4_5_Core->TextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels); + d_4_5_Core->f.TextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glTextureSubImage1D(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels) { - d_4_5_Core->TextureSubImage1D(texture, level, xoffset, width, format, type, pixels); + d_4_5_Core->f.TextureSubImage1D(texture, level, xoffset, width, format, type, pixels); } inline void QOpenGLFunctions_4_5_Core::glTextureStorage3DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) { - d_4_5_Core->TextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); + d_4_5_Core->f.TextureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Core::glTextureStorage2DMultisample(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) { - d_4_5_Core->TextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); + d_4_5_Core->f.TextureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations); } inline void QOpenGLFunctions_4_5_Core::glTextureStorage3D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) { - d_4_5_Core->TextureStorage3D(texture, levels, internalformat, width, height, depth); + d_4_5_Core->f.TextureStorage3D(texture, levels, internalformat, width, height, depth); } inline void QOpenGLFunctions_4_5_Core::glTextureStorage2D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_5_Core->TextureStorage2D(texture, levels, internalformat, width, height); + d_4_5_Core->f.TextureStorage2D(texture, levels, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Core::glTextureStorage1D(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width) { - d_4_5_Core->TextureStorage1D(texture, levels, internalformat, width); + d_4_5_Core->f.TextureStorage1D(texture, levels, internalformat, width); } inline void QOpenGLFunctions_4_5_Core::glTextureBufferRange(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size) { - d_4_5_Core->TextureBufferRange(texture, internalformat, buffer, offset, size); + d_4_5_Core->f.TextureBufferRange(texture, internalformat, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Core::glTextureBuffer(GLuint texture, GLenum internalformat, GLuint buffer) { - d_4_5_Core->TextureBuffer(texture, internalformat, buffer); + d_4_5_Core->f.TextureBuffer(texture, internalformat, buffer); } inline void QOpenGLFunctions_4_5_Core::glCreateTextures(GLenum target, GLsizei n, GLuint *textures) { - d_4_5_Core->CreateTextures(target, n, textures); + d_4_5_Core->f.CreateTextures(target, n, textures); } inline void QOpenGLFunctions_4_5_Core::glGetNamedRenderbufferParameteriv(GLuint renderbuffer, GLenum pname, GLint *params) { - d_4_5_Core->GetNamedRenderbufferParameteriv(renderbuffer, pname, params); + d_4_5_Core->f.GetNamedRenderbufferParameteriv(renderbuffer, pname, params); } inline void QOpenGLFunctions_4_5_Core::glNamedRenderbufferStorageMultisample(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_5_Core->NamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); + d_4_5_Core->f.NamedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Core::glNamedRenderbufferStorage(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height) { - d_4_5_Core->NamedRenderbufferStorage(renderbuffer, internalformat, width, height); + d_4_5_Core->f.NamedRenderbufferStorage(renderbuffer, internalformat, width, height); } inline void QOpenGLFunctions_4_5_Core::glCreateRenderbuffers(GLsizei n, GLuint *renderbuffers) { - d_4_5_Core->CreateRenderbuffers(n, renderbuffers); + d_4_5_Core->f.CreateRenderbuffers(n, renderbuffers); } inline void QOpenGLFunctions_4_5_Core::glGetNamedFramebufferAttachmentParameteriv(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params) { - d_4_5_Core->GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params); + d_4_5_Core->f.GetNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetNamedFramebufferParameteriv(GLuint framebuffer, GLenum pname, GLint *param) { - d_4_5_Core->GetNamedFramebufferParameteriv(framebuffer, pname, param); + d_4_5_Core->f.GetNamedFramebufferParameteriv(framebuffer, pname, param); } inline GLenum QOpenGLFunctions_4_5_Core::glCheckNamedFramebufferStatus(GLuint framebuffer, GLenum target) { - return d_4_5_Core->CheckNamedFramebufferStatus(framebuffer, target); + return d_4_5_Core->f.CheckNamedFramebufferStatus(framebuffer, target); } inline void QOpenGLFunctions_4_5_Core::glBlitNamedFramebuffer(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { - d_4_5_Core->BlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d_4_5_Core->f.BlitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); } inline void QOpenGLFunctions_4_5_Core::glClearNamedFramebufferfi(GLuint framebuffer, GLenum buffer, GLfloat depth, GLint stencil) { - d_4_5_Core->ClearNamedFramebufferfi(framebuffer, buffer, depth, stencil); + d_4_5_Core->f.ClearNamedFramebufferfi(framebuffer, buffer, depth, stencil); } inline void QOpenGLFunctions_4_5_Core::glClearNamedFramebufferfv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value) { - d_4_5_Core->ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); + d_4_5_Core->f.ClearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Core::glClearNamedFramebufferuiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value) { - d_4_5_Core->ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); + d_4_5_Core->f.ClearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Core::glClearNamedFramebufferiv(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value) { - d_4_5_Core->ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); + d_4_5_Core->f.ClearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value); } inline void QOpenGLFunctions_4_5_Core::glInvalidateNamedFramebufferSubData(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height) { - d_4_5_Core->InvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); + d_4_5_Core->f.InvalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height); } inline void QOpenGLFunctions_4_5_Core::glInvalidateNamedFramebufferData(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments) { - d_4_5_Core->InvalidateNamedFramebufferData(framebuffer, numAttachments, attachments); + d_4_5_Core->f.InvalidateNamedFramebufferData(framebuffer, numAttachments, attachments); } inline void QOpenGLFunctions_4_5_Core::glNamedFramebufferReadBuffer(GLuint framebuffer, GLenum src) { - d_4_5_Core->NamedFramebufferReadBuffer(framebuffer, src); + d_4_5_Core->f.NamedFramebufferReadBuffer(framebuffer, src); } inline void QOpenGLFunctions_4_5_Core::glNamedFramebufferDrawBuffers(GLuint framebuffer, GLsizei n, const GLenum *bufs) { - d_4_5_Core->NamedFramebufferDrawBuffers(framebuffer, n, bufs); + d_4_5_Core->f.NamedFramebufferDrawBuffers(framebuffer, n, bufs); } inline void QOpenGLFunctions_4_5_Core::glNamedFramebufferDrawBuffer(GLuint framebuffer, GLenum buf) { - d_4_5_Core->NamedFramebufferDrawBuffer(framebuffer, buf); + d_4_5_Core->f.NamedFramebufferDrawBuffer(framebuffer, buf); } inline void QOpenGLFunctions_4_5_Core::glNamedFramebufferTextureLayer(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer) { - d_4_5_Core->NamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); + d_4_5_Core->f.NamedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer); } inline void QOpenGLFunctions_4_5_Core::glNamedFramebufferTexture(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level) { - d_4_5_Core->NamedFramebufferTexture(framebuffer, attachment, texture, level); + d_4_5_Core->f.NamedFramebufferTexture(framebuffer, attachment, texture, level); } inline void QOpenGLFunctions_4_5_Core::glNamedFramebufferParameteri(GLuint framebuffer, GLenum pname, GLint param) { - d_4_5_Core->NamedFramebufferParameteri(framebuffer, pname, param); + d_4_5_Core->f.NamedFramebufferParameteri(framebuffer, pname, param); } inline void QOpenGLFunctions_4_5_Core::glNamedFramebufferRenderbuffer(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) { - d_4_5_Core->NamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); + d_4_5_Core->f.NamedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer); } inline void QOpenGLFunctions_4_5_Core::glCreateFramebuffers(GLsizei n, GLuint *framebuffers) { - d_4_5_Core->CreateFramebuffers(n, framebuffers); + d_4_5_Core->f.CreateFramebuffers(n, framebuffers); } inline void QOpenGLFunctions_4_5_Core::glGetNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, void *data) { - d_4_5_Core->GetNamedBufferSubData(buffer, offset, size, data); + d_4_5_Core->f.GetNamedBufferSubData(buffer, offset, size, data); } inline void QOpenGLFunctions_4_5_Core::glGetNamedBufferPointerv(GLuint buffer, GLenum pname, void * *params) { - d_4_5_Core->GetNamedBufferPointerv(buffer, pname, params); + d_4_5_Core->f.GetNamedBufferPointerv(buffer, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetNamedBufferParameteri64v(GLuint buffer, GLenum pname, GLint64 *params) { - d_4_5_Core->GetNamedBufferParameteri64v(buffer, pname, params); + d_4_5_Core->f.GetNamedBufferParameteri64v(buffer, pname, params); } inline void QOpenGLFunctions_4_5_Core::glGetNamedBufferParameteriv(GLuint buffer, GLenum pname, GLint *params) { - d_4_5_Core->GetNamedBufferParameteriv(buffer, pname, params); + d_4_5_Core->f.GetNamedBufferParameteriv(buffer, pname, params); } inline void QOpenGLFunctions_4_5_Core::glFlushMappedNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length) { - d_4_5_Core->FlushMappedNamedBufferRange(buffer, offset, length); + d_4_5_Core->f.FlushMappedNamedBufferRange(buffer, offset, length); } inline GLboolean QOpenGLFunctions_4_5_Core::glUnmapNamedBuffer(GLuint buffer) { - return d_4_5_Core->UnmapNamedBuffer(buffer); + return d_4_5_Core->f.UnmapNamedBuffer(buffer); } inline void * QOpenGLFunctions_4_5_Core::glMapNamedBufferRange(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access) { - return d_4_5_Core->MapNamedBufferRange(buffer, offset, length, access); + return d_4_5_Core->f.MapNamedBufferRange(buffer, offset, length, access); } inline void * QOpenGLFunctions_4_5_Core::glMapNamedBuffer(GLuint buffer, GLenum access) { - return d_4_5_Core->MapNamedBuffer(buffer, access); + return d_4_5_Core->f.MapNamedBuffer(buffer, access); } inline void QOpenGLFunctions_4_5_Core::glClearNamedBufferSubData(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data) { - d_4_5_Core->ClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); + d_4_5_Core->f.ClearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data); } inline void QOpenGLFunctions_4_5_Core::glClearNamedBufferData(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data) { - d_4_5_Core->ClearNamedBufferData(buffer, internalformat, format, type, data); + d_4_5_Core->f.ClearNamedBufferData(buffer, internalformat, format, type, data); } inline void QOpenGLFunctions_4_5_Core::glCopyNamedBufferSubData(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size) { - d_4_5_Core->CopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); + d_4_5_Core->f.CopyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size); } inline void QOpenGLFunctions_4_5_Core::glNamedBufferSubData(GLuint buffer, GLintptr offset, GLsizei size, const void *data) { - d_4_5_Core->NamedBufferSubData(buffer, offset, size, data); + d_4_5_Core->f.NamedBufferSubData(buffer, offset, size, data); } inline void QOpenGLFunctions_4_5_Core::glNamedBufferData(GLuint buffer, GLsizei size, const void *data, GLenum usage) { - d_4_5_Core->NamedBufferData(buffer, size, data, usage); + d_4_5_Core->f.NamedBufferData(buffer, size, data, usage); } inline void QOpenGLFunctions_4_5_Core::glNamedBufferStorage(GLuint buffer, GLsizei size, const void *data, GLbitfield flags) { - d_4_5_Core->NamedBufferStorage(buffer, size, data, flags); + d_4_5_Core->f.NamedBufferStorage(buffer, size, data, flags); } inline void QOpenGLFunctions_4_5_Core::glCreateBuffers(GLsizei n, GLuint *buffers) { - d_4_5_Core->CreateBuffers(n, buffers); + d_4_5_Core->f.CreateBuffers(n, buffers); } inline void QOpenGLFunctions_4_5_Core::glGetTransformFeedbacki64_v(GLuint xfb, GLenum pname, GLuint index, GLint64 *param) { - d_4_5_Core->GetTransformFeedbacki64_v(xfb, pname, index, param); + d_4_5_Core->f.GetTransformFeedbacki64_v(xfb, pname, index, param); } inline void QOpenGLFunctions_4_5_Core::glGetTransformFeedbacki_v(GLuint xfb, GLenum pname, GLuint index, GLint *param) { - d_4_5_Core->GetTransformFeedbacki_v(xfb, pname, index, param); + d_4_5_Core->f.GetTransformFeedbacki_v(xfb, pname, index, param); } inline void QOpenGLFunctions_4_5_Core::glGetTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) { - d_4_5_Core->GetTransformFeedbackiv(xfb, pname, param); + d_4_5_Core->f.GetTransformFeedbackiv(xfb, pname, param); } inline void QOpenGLFunctions_4_5_Core::glTransformFeedbackBufferRange(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size) { - d_4_5_Core->TransformFeedbackBufferRange(xfb, index, buffer, offset, size); + d_4_5_Core->f.TransformFeedbackBufferRange(xfb, index, buffer, offset, size); } inline void QOpenGLFunctions_4_5_Core::glTransformFeedbackBufferBase(GLuint xfb, GLuint index, GLuint buffer) { - d_4_5_Core->TransformFeedbackBufferBase(xfb, index, buffer); + d_4_5_Core->f.TransformFeedbackBufferBase(xfb, index, buffer); } inline void QOpenGLFunctions_4_5_Core::glCreateTransformFeedbacks(GLsizei n, GLuint *ids) { - d_4_5_Core->CreateTransformFeedbacks(n, ids); + d_4_5_Core->f.CreateTransformFeedbacks(n, ids); } inline void QOpenGLFunctions_4_5_Core::glClipControl(GLenum origin, GLenum depth) { - d_4_5_Core->ClipControl(origin, depth); + d_4_5_Core->f.ClipControl(origin, depth); } diff --git a/src/gui/opengl/qopenglversionfunctions.cpp b/src/gui/opengl/qopenglversionfunctions.cpp index 89f066163a..ad44ae9b23 100644 --- a/src/gui/opengl/qopenglversionfunctions.cpp +++ b/src/gui/opengl/qopenglversionfunctions.cpp @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -52,6 +53,38 @@ QT_BEGIN_NAMESPACE +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 +#define QT_OPENGL_FUNCTION_NAMES(ret, name, args) \ + "gl"#name"\0" +#define QT_OPENGL_IMPLEMENT(CLASS, FUNCTIONS) \ +void CLASS::init() \ +{ \ + const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \ + const char *name = names; \ + for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \ + functions[i] = context->getProcAddress(name); \ + name += strlen(name) + 1; \ + } \ +} + +#ifdef Q_OS_WIN +#define QT_OPENGL_IMPLEMENT_WIN(CLASS, FUNCTIONS) \ +void CLASS::init() \ +{ \ + HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); \ + if (!handle) \ + handle = GetModuleHandleA("opengl32.dll"); \ + const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \ + const char *name = names; \ + for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \ + functions[i] = (QFunctionPointer)GetProcAddress(handle, name); \ + name += strlen(name) + 1; \ + } \ +} +#else +#define QT_OPENGL_IMPLEMENT_WIN QT_OPENGL_IMPLEMENT +#endif + QOpenGLVersionFunctionsBackend *QAbstractOpenGLFunctionsPrivate::functionsBackend(QOpenGLContext *context, const QOpenGLVersionStatus &v) { @@ -261,112 +294,12 @@ QOpenGLContext *QAbstractOpenGLFunctions::owningContext() const QOpenGLFunctions_1_0_CoreBackend::QOpenGLFunctions_1_0_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.0 core functions -#if defined(Q_OS_WIN) - HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); - if (!handle) - handle = GetModuleHandleA("opengl32.dll"); - Viewport = reinterpret_cast(GetProcAddress(handle, "glViewport")); - DepthRange = reinterpret_cast(GetProcAddress(handle, "glDepthRange")); - IsEnabled = reinterpret_cast(GetProcAddress(handle, "glIsEnabled")); - GetTexLevelParameteriv = reinterpret_cast(GetProcAddress(handle, "glGetTexLevelParameteriv")); - GetTexLevelParameterfv = reinterpret_cast(GetProcAddress(handle, "glGetTexLevelParameterfv")); - GetTexParameteriv = reinterpret_cast(GetProcAddress(handle, "glGetTexParameteriv")); - GetTexParameterfv = reinterpret_cast(GetProcAddress(handle, "glGetTexParameterfv")); - GetTexImage = reinterpret_cast(GetProcAddress(handle, "glGetTexImage")); - GetString = reinterpret_cast(GetProcAddress(handle, "glGetString")); - GetIntegerv = reinterpret_cast(GetProcAddress(handle, "glGetIntegerv")); - GetFloatv = reinterpret_cast(GetProcAddress(handle, "glGetFloatv")); - GetError = reinterpret_cast(GetProcAddress(handle, "glGetError")); - GetDoublev = reinterpret_cast(GetProcAddress(handle, "glGetDoublev")); - GetBooleanv = reinterpret_cast(GetProcAddress(handle, "glGetBooleanv")); - ReadPixels = reinterpret_cast(GetProcAddress(handle, "glReadPixels")); - ReadBuffer = reinterpret_cast(GetProcAddress(handle, "glReadBuffer")); - PixelStorei = reinterpret_cast(GetProcAddress(handle, "glPixelStorei")); - PixelStoref = reinterpret_cast(GetProcAddress(handle, "glPixelStoref")); - DepthFunc = reinterpret_cast(GetProcAddress(handle, "glDepthFunc")); - StencilOp = reinterpret_cast(GetProcAddress(handle, "glStencilOp")); - StencilFunc = reinterpret_cast(GetProcAddress(handle, "glStencilFunc")); - LogicOp = reinterpret_cast(GetProcAddress(handle, "glLogicOp")); - BlendFunc = reinterpret_cast(GetProcAddress(handle, "glBlendFunc")); - Flush = reinterpret_cast(GetProcAddress(handle, "glFlush")); - Finish = reinterpret_cast(GetProcAddress(handle, "glFinish")); - Enable = reinterpret_cast(GetProcAddress(handle, "glEnable")); - Disable = reinterpret_cast(GetProcAddress(handle, "glDisable")); - DepthMask = reinterpret_cast(GetProcAddress(handle, "glDepthMask")); - ColorMask = reinterpret_cast(GetProcAddress(handle, "glColorMask")); - StencilMask = reinterpret_cast(GetProcAddress(handle, "glStencilMask")); - ClearDepth = reinterpret_cast(GetProcAddress(handle, "glClearDepth")); - ClearStencil = reinterpret_cast(GetProcAddress(handle, "glClearStencil")); - ClearColor = reinterpret_cast(GetProcAddress(handle, "glClearColor")); - Clear = reinterpret_cast(GetProcAddress(handle, "glClear")); - DrawBuffer = reinterpret_cast(GetProcAddress(handle, "glDrawBuffer")); - TexImage2D = reinterpret_cast(GetProcAddress(handle, "glTexImage2D")); - TexImage1D = reinterpret_cast(GetProcAddress(handle, "glTexImage1D")); - TexParameteriv = reinterpret_cast(GetProcAddress(handle, "glTexParameteriv")); - TexParameteri = reinterpret_cast(GetProcAddress(handle, "glTexParameteri")); - TexParameterfv = reinterpret_cast(GetProcAddress(handle, "glTexParameterfv")); - TexParameterf = reinterpret_cast(GetProcAddress(handle, "glTexParameterf")); - Scissor = reinterpret_cast(GetProcAddress(handle, "glScissor")); - PolygonMode = reinterpret_cast(GetProcAddress(handle, "glPolygonMode")); - PointSize = reinterpret_cast(GetProcAddress(handle, "glPointSize")); - LineWidth = reinterpret_cast(GetProcAddress(handle, "glLineWidth")); - Hint = reinterpret_cast(GetProcAddress(handle, "glHint")); - FrontFace = reinterpret_cast(GetProcAddress(handle, "glFrontFace")); - CullFace = reinterpret_cast(GetProcAddress(handle, "glCullFace")); -#else - Viewport = reinterpret_cast(context->getProcAddress("glViewport")); - DepthRange = reinterpret_cast(context->getProcAddress("glDepthRange")); - IsEnabled = reinterpret_cast(context->getProcAddress("glIsEnabled")); - GetTexLevelParameteriv = reinterpret_cast(context->getProcAddress("glGetTexLevelParameteriv")); - GetTexLevelParameterfv = reinterpret_cast(context->getProcAddress("glGetTexLevelParameterfv")); - GetTexParameteriv = reinterpret_cast(context->getProcAddress("glGetTexParameteriv")); - GetTexParameterfv = reinterpret_cast(context->getProcAddress("glGetTexParameterfv")); - GetTexImage = reinterpret_cast(context->getProcAddress("glGetTexImage")); - GetString = reinterpret_cast(context->getProcAddress("glGetString")); - GetIntegerv = reinterpret_cast(context->getProcAddress("glGetIntegerv")); - GetFloatv = reinterpret_cast(context->getProcAddress("glGetFloatv")); - GetError = reinterpret_cast(context->getProcAddress("glGetError")); - GetDoublev = reinterpret_cast(context->getProcAddress("glGetDoublev")); - GetBooleanv = reinterpret_cast(context->getProcAddress("glGetBooleanv")); - ReadPixels = reinterpret_cast(context->getProcAddress("glReadPixels")); - ReadBuffer = reinterpret_cast(context->getProcAddress("glReadBuffer")); - PixelStorei = reinterpret_cast(context->getProcAddress("glPixelStorei")); - PixelStoref = reinterpret_cast(context->getProcAddress("glPixelStoref")); - DepthFunc = reinterpret_cast(context->getProcAddress("glDepthFunc")); - StencilOp = reinterpret_cast(context->getProcAddress("glStencilOp")); - StencilFunc = reinterpret_cast(context->getProcAddress("glStencilFunc")); - LogicOp = reinterpret_cast(context->getProcAddress("glLogicOp")); - BlendFunc = reinterpret_cast(context->getProcAddress("glBlendFunc")); - Flush = reinterpret_cast(context->getProcAddress("glFlush")); - Finish = reinterpret_cast(context->getProcAddress("glFinish")); - Enable = reinterpret_cast(context->getProcAddress("glEnable")); - Disable = reinterpret_cast(context->getProcAddress("glDisable")); - DepthMask = reinterpret_cast(context->getProcAddress("glDepthMask")); - ColorMask = reinterpret_cast(context->getProcAddress("glColorMask")); - StencilMask = reinterpret_cast(context->getProcAddress("glStencilMask")); - ClearDepth = reinterpret_cast(context->getProcAddress("glClearDepth")); - ClearStencil = reinterpret_cast(context->getProcAddress("glClearStencil")); - ClearColor = reinterpret_cast(context->getProcAddress("glClearColor")); - Clear = reinterpret_cast(context->getProcAddress("glClear")); - DrawBuffer = reinterpret_cast(context->getProcAddress("glDrawBuffer")); - TexImage2D = reinterpret_cast(context->getProcAddress("glTexImage2D")); - TexImage1D = reinterpret_cast(context->getProcAddress("glTexImage1D")); - TexParameteriv = reinterpret_cast(context->getProcAddress("glTexParameteriv")); - TexParameteri = reinterpret_cast(context->getProcAddress("glTexParameteri")); - TexParameterfv = reinterpret_cast(context->getProcAddress("glTexParameterfv")); - TexParameterf = reinterpret_cast(context->getProcAddress("glTexParameterf")); - Scissor = reinterpret_cast(context->getProcAddress("glScissor")); - PolygonMode = reinterpret_cast(context->getProcAddress("glPolygonMode")); - PointSize = reinterpret_cast(context->getProcAddress("glPointSize")); - LineWidth = reinterpret_cast(context->getProcAddress("glLineWidth")); - Hint = reinterpret_cast(context->getProcAddress("glHint")); - FrontFace = reinterpret_cast(context->getProcAddress("glFrontFace")); - CullFace = reinterpret_cast(context->getProcAddress("glCullFace")); -#endif - + init(); } +// OpenGL 1.0 core functions +QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_CoreBackend, QT_OPENGL_1_0_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_0_CoreBackend::versionStatus() { return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::CoreStatus); @@ -375,48 +308,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_0_CoreBackend::versionStatus() QOpenGLFunctions_1_1_CoreBackend::QOpenGLFunctions_1_1_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.1 core functions -#if defined(Q_OS_WIN) - HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); - if (!handle) - handle = GetModuleHandleA("opengl32.dll"); - Indexubv = reinterpret_cast(GetProcAddress(handle, "glIndexubv")); - Indexub = reinterpret_cast(GetProcAddress(handle, "glIndexub")); - IsTexture = reinterpret_cast(GetProcAddress(handle, "glIsTexture")); - GenTextures = reinterpret_cast(GetProcAddress(handle, "glGenTextures")); - DeleteTextures = reinterpret_cast(GetProcAddress(handle, "glDeleteTextures")); - BindTexture = reinterpret_cast(GetProcAddress(handle, "glBindTexture")); - TexSubImage2D = reinterpret_cast(GetProcAddress(handle, "glTexSubImage2D")); - TexSubImage1D = reinterpret_cast(GetProcAddress(handle, "glTexSubImage1D")); - CopyTexSubImage2D = reinterpret_cast(GetProcAddress(handle, "glCopyTexSubImage2D")); - CopyTexSubImage1D = reinterpret_cast(GetProcAddress(handle, "glCopyTexSubImage1D")); - CopyTexImage2D = reinterpret_cast(GetProcAddress(handle, "glCopyTexImage2D")); - CopyTexImage1D = reinterpret_cast(GetProcAddress(handle, "glCopyTexImage1D")); - PolygonOffset = reinterpret_cast(GetProcAddress(handle, "glPolygonOffset")); - GetPointerv = reinterpret_cast(GetProcAddress(handle, "glGetPointerv")); - DrawElements = reinterpret_cast(GetProcAddress(handle, "glDrawElements")); - DrawArrays = reinterpret_cast(GetProcAddress(handle, "glDrawArrays")); -#else - Indexubv = reinterpret_cast(context->getProcAddress("glIndexubv")); - Indexub = reinterpret_cast(context->getProcAddress("glIndexub")); - IsTexture = reinterpret_cast(context->getProcAddress("glIsTexture")); - GenTextures = reinterpret_cast(context->getProcAddress("glGenTextures")); - DeleteTextures = reinterpret_cast(context->getProcAddress("glDeleteTextures")); - BindTexture = reinterpret_cast(context->getProcAddress("glBindTexture")); - TexSubImage2D = reinterpret_cast(context->getProcAddress("glTexSubImage2D")); - TexSubImage1D = reinterpret_cast(context->getProcAddress("glTexSubImage1D")); - CopyTexSubImage2D = reinterpret_cast(context->getProcAddress("glCopyTexSubImage2D")); - CopyTexSubImage1D = reinterpret_cast(context->getProcAddress("glCopyTexSubImage1D")); - CopyTexImage2D = reinterpret_cast(context->getProcAddress("glCopyTexImage2D")); - CopyTexImage1D = reinterpret_cast(context->getProcAddress("glCopyTexImage1D")); - PolygonOffset = reinterpret_cast(context->getProcAddress("glPolygonOffset")); - GetPointerv = reinterpret_cast(context->getProcAddress("glGetPointerv")); - DrawElements = reinterpret_cast(context->getProcAddress("glDrawElements")); - DrawArrays = reinterpret_cast(context->getProcAddress("glDrawArrays")); -#endif - + init(); } +QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_CoreBackend, QT_OPENGL_1_1_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_1_CoreBackend::versionStatus() { return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::CoreStatus); @@ -425,16 +321,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_1_CoreBackend::versionStatus() QOpenGLFunctions_1_2_CoreBackend::QOpenGLFunctions_1_2_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.2 core functions - CopyTexSubImage3D = reinterpret_cast(context->getProcAddress("glCopyTexSubImage3D")); - TexSubImage3D = reinterpret_cast(context->getProcAddress("glTexSubImage3D")); - TexImage3D = reinterpret_cast(context->getProcAddress("glTexImage3D")); - DrawRangeElements = reinterpret_cast(context->getProcAddress("glDrawRangeElements")); - BlendEquation = reinterpret_cast(context->getProcAddress("glBlendEquation")); - BlendColor = reinterpret_cast(context->getProcAddress("glBlendColor")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_CoreBackend, QT_OPENGL_1_2_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_2_CoreBackend::versionStatus() { return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::CoreStatus); @@ -443,37 +334,21 @@ QOpenGLVersionStatus QOpenGLFunctions_1_2_CoreBackend::versionStatus() QOpenGLFunctions_1_3_CoreBackend::QOpenGLFunctions_1_3_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.3 core functions - GetCompressedTexImage = reinterpret_cast(context->getProcAddress("glGetCompressedTexImage")); - CompressedTexSubImage1D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage1D")); - CompressedTexSubImage2D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage2D")); - CompressedTexSubImage3D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage3D")); - CompressedTexImage1D = reinterpret_cast(context->getProcAddress("glCompressedTexImage1D")); - CompressedTexImage2D = reinterpret_cast(context->getProcAddress("glCompressedTexImage2D")); - CompressedTexImage3D = reinterpret_cast(context->getProcAddress("glCompressedTexImage3D")); - SampleCoverage = reinterpret_cast(context->getProcAddress("glSampleCoverage")); - ActiveTexture = reinterpret_cast(context->getProcAddress("glActiveTexture")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_CoreBackend, QT_OPENGL_1_3_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_3_CoreBackend::versionStatus() { return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_1_4_CoreBackend::QOpenGLFunctions_1_4_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - // OpenGL 1.4 core functions - PointParameteriv = reinterpret_cast(context->getProcAddress("glPointParameteriv")); - PointParameteri = reinterpret_cast(context->getProcAddress("glPointParameteri")); - PointParameterfv = reinterpret_cast(context->getProcAddress("glPointParameterfv")); - PointParameterf = reinterpret_cast(context->getProcAddress("glPointParameterf")); - MultiDrawElements = reinterpret_cast(context->getProcAddress("glMultiDrawElements")); - MultiDrawArrays = reinterpret_cast(context->getProcAddress("glMultiDrawArrays")); - BlendFuncSeparate = reinterpret_cast(context->getProcAddress("glBlendFuncSeparate")); +QOpenGLFunctions_1_4_CoreBackend::QOpenGLFunctions_1_4_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) +{ init(); } -} +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_4_CoreBackend, QT_OPENGL_1_4_FUNCTIONS); QOpenGLVersionStatus QOpenGLFunctions_1_4_CoreBackend::versionStatus() { @@ -483,29 +358,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_4_CoreBackend::versionStatus() QOpenGLFunctions_1_5_CoreBackend::QOpenGLFunctions_1_5_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.5 core functions - GetBufferPointerv = reinterpret_cast(context->getProcAddress("glGetBufferPointerv")); - GetBufferParameteriv = reinterpret_cast(context->getProcAddress("glGetBufferParameteriv")); - UnmapBuffer = reinterpret_cast(context->getProcAddress("glUnmapBuffer")); - MapBuffer = reinterpret_cast(context->getProcAddress("glMapBuffer")); - GetBufferSubData = reinterpret_cast(context->getProcAddress("glGetBufferSubData")); - BufferSubData = reinterpret_cast(context->getProcAddress("glBufferSubData")); - BufferData = reinterpret_cast(context->getProcAddress("glBufferData")); - IsBuffer = reinterpret_cast(context->getProcAddress("glIsBuffer")); - GenBuffers = reinterpret_cast(context->getProcAddress("glGenBuffers")); - DeleteBuffers = reinterpret_cast(context->getProcAddress("glDeleteBuffers")); - BindBuffer = reinterpret_cast(context->getProcAddress("glBindBuffer")); - GetQueryObjectuiv = reinterpret_cast(context->getProcAddress("glGetQueryObjectuiv")); - GetQueryObjectiv = reinterpret_cast(context->getProcAddress("glGetQueryObjectiv")); - GetQueryiv = reinterpret_cast(context->getProcAddress("glGetQueryiv")); - EndQuery = reinterpret_cast(context->getProcAddress("glEndQuery")); - BeginQuery = reinterpret_cast(context->getProcAddress("glBeginQuery")); - IsQuery = reinterpret_cast(context->getProcAddress("glIsQuery")); - DeleteQueries = reinterpret_cast(context->getProcAddress("glDeleteQueries")); - GenQueries = reinterpret_cast(context->getProcAddress("glGenQueries")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_5_CoreBackend, QT_OPENGL_1_5_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_5_CoreBackend::versionStatus() { return QOpenGLVersionStatus(1, 5, QOpenGLVersionStatus::CoreStatus); @@ -514,103 +371,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_5_CoreBackend::versionStatus() QOpenGLFunctions_2_0_CoreBackend::QOpenGLFunctions_2_0_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 2.0 core functions - VertexAttribPointer = reinterpret_cast(context->getProcAddress("glVertexAttribPointer")); - VertexAttrib4usv = reinterpret_cast(context->getProcAddress("glVertexAttrib4usv")); - VertexAttrib4uiv = reinterpret_cast(context->getProcAddress("glVertexAttrib4uiv")); - VertexAttrib4ubv = reinterpret_cast(context->getProcAddress("glVertexAttrib4ubv")); - VertexAttrib4sv = reinterpret_cast(context->getProcAddress("glVertexAttrib4sv")); - VertexAttrib4s = reinterpret_cast(context->getProcAddress("glVertexAttrib4s")); - VertexAttrib4iv = reinterpret_cast(context->getProcAddress("glVertexAttrib4iv")); - VertexAttrib4fv = reinterpret_cast(context->getProcAddress("glVertexAttrib4fv")); - VertexAttrib4f = reinterpret_cast(context->getProcAddress("glVertexAttrib4f")); - VertexAttrib4dv = reinterpret_cast(context->getProcAddress("glVertexAttrib4dv")); - VertexAttrib4d = reinterpret_cast(context->getProcAddress("glVertexAttrib4d")); - VertexAttrib4bv = reinterpret_cast(context->getProcAddress("glVertexAttrib4bv")); - VertexAttrib4Nusv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nusv")); - VertexAttrib4Nuiv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nuiv")); - VertexAttrib4Nubv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nubv")); - VertexAttrib4Nub = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nub")); - VertexAttrib4Nsv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nsv")); - VertexAttrib4Niv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Niv")); - VertexAttrib4Nbv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nbv")); - VertexAttrib3sv = reinterpret_cast(context->getProcAddress("glVertexAttrib3sv")); - VertexAttrib3s = reinterpret_cast(context->getProcAddress("glVertexAttrib3s")); - VertexAttrib3fv = reinterpret_cast(context->getProcAddress("glVertexAttrib3fv")); - VertexAttrib3f = reinterpret_cast(context->getProcAddress("glVertexAttrib3f")); - VertexAttrib3dv = reinterpret_cast(context->getProcAddress("glVertexAttrib3dv")); - VertexAttrib3d = reinterpret_cast(context->getProcAddress("glVertexAttrib3d")); - VertexAttrib2sv = reinterpret_cast(context->getProcAddress("glVertexAttrib2sv")); - VertexAttrib2s = reinterpret_cast(context->getProcAddress("glVertexAttrib2s")); - VertexAttrib2fv = reinterpret_cast(context->getProcAddress("glVertexAttrib2fv")); - VertexAttrib2f = reinterpret_cast(context->getProcAddress("glVertexAttrib2f")); - VertexAttrib2dv = reinterpret_cast(context->getProcAddress("glVertexAttrib2dv")); - VertexAttrib2d = reinterpret_cast(context->getProcAddress("glVertexAttrib2d")); - VertexAttrib1sv = reinterpret_cast(context->getProcAddress("glVertexAttrib1sv")); - VertexAttrib1s = reinterpret_cast(context->getProcAddress("glVertexAttrib1s")); - VertexAttrib1fv = reinterpret_cast(context->getProcAddress("glVertexAttrib1fv")); - VertexAttrib1f = reinterpret_cast(context->getProcAddress("glVertexAttrib1f")); - VertexAttrib1dv = reinterpret_cast(context->getProcAddress("glVertexAttrib1dv")); - VertexAttrib1d = reinterpret_cast(context->getProcAddress("glVertexAttrib1d")); - ValidateProgram = reinterpret_cast(context->getProcAddress("glValidateProgram")); - UniformMatrix4fv = reinterpret_cast(context->getProcAddress("glUniformMatrix4fv")); - UniformMatrix3fv = reinterpret_cast(context->getProcAddress("glUniformMatrix3fv")); - UniformMatrix2fv = reinterpret_cast(context->getProcAddress("glUniformMatrix2fv")); - Uniform4iv = reinterpret_cast(context->getProcAddress("glUniform4iv")); - Uniform3iv = reinterpret_cast(context->getProcAddress("glUniform3iv")); - Uniform2iv = reinterpret_cast(context->getProcAddress("glUniform2iv")); - Uniform1iv = reinterpret_cast(context->getProcAddress("glUniform1iv")); - Uniform4fv = reinterpret_cast(context->getProcAddress("glUniform4fv")); - Uniform3fv = reinterpret_cast(context->getProcAddress("glUniform3fv")); - Uniform2fv = reinterpret_cast(context->getProcAddress("glUniform2fv")); - Uniform1fv = reinterpret_cast(context->getProcAddress("glUniform1fv")); - Uniform4i = reinterpret_cast(context->getProcAddress("glUniform4i")); - Uniform3i = reinterpret_cast(context->getProcAddress("glUniform3i")); - Uniform2i = reinterpret_cast(context->getProcAddress("glUniform2i")); - Uniform1i = reinterpret_cast(context->getProcAddress("glUniform1i")); - Uniform4f = reinterpret_cast(context->getProcAddress("glUniform4f")); - Uniform3f = reinterpret_cast(context->getProcAddress("glUniform3f")); - Uniform2f = reinterpret_cast(context->getProcAddress("glUniform2f")); - Uniform1f = reinterpret_cast(context->getProcAddress("glUniform1f")); - UseProgram = reinterpret_cast(context->getProcAddress("glUseProgram")); - ShaderSource = reinterpret_cast(context->getProcAddress("glShaderSource")); - LinkProgram = reinterpret_cast(context->getProcAddress("glLinkProgram")); - IsShader = reinterpret_cast(context->getProcAddress("glIsShader")); - IsProgram = reinterpret_cast(context->getProcAddress("glIsProgram")); - GetVertexAttribPointerv = reinterpret_cast(context->getProcAddress("glGetVertexAttribPointerv")); - GetVertexAttribiv = reinterpret_cast(context->getProcAddress("glGetVertexAttribiv")); - GetVertexAttribfv = reinterpret_cast(context->getProcAddress("glGetVertexAttribfv")); - GetVertexAttribdv = reinterpret_cast(context->getProcAddress("glGetVertexAttribdv")); - GetUniformiv = reinterpret_cast(context->getProcAddress("glGetUniformiv")); - GetUniformfv = reinterpret_cast(context->getProcAddress("glGetUniformfv")); - GetUniformLocation = reinterpret_cast(context->getProcAddress("glGetUniformLocation")); - GetShaderSource = reinterpret_cast(context->getProcAddress("glGetShaderSource")); - GetShaderInfoLog = reinterpret_cast(context->getProcAddress("glGetShaderInfoLog")); - GetShaderiv = reinterpret_cast(context->getProcAddress("glGetShaderiv")); - GetProgramInfoLog = reinterpret_cast(context->getProcAddress("glGetProgramInfoLog")); - GetProgramiv = reinterpret_cast(context->getProcAddress("glGetProgramiv")); - GetAttribLocation = reinterpret_cast(context->getProcAddress("glGetAttribLocation")); - GetAttachedShaders = reinterpret_cast(context->getProcAddress("glGetAttachedShaders")); - GetActiveUniform = reinterpret_cast(context->getProcAddress("glGetActiveUniform")); - GetActiveAttrib = reinterpret_cast(context->getProcAddress("glGetActiveAttrib")); - EnableVertexAttribArray = reinterpret_cast(context->getProcAddress("glEnableVertexAttribArray")); - DisableVertexAttribArray = reinterpret_cast(context->getProcAddress("glDisableVertexAttribArray")); - DetachShader = reinterpret_cast(context->getProcAddress("glDetachShader")); - DeleteShader = reinterpret_cast(context->getProcAddress("glDeleteShader")); - DeleteProgram = reinterpret_cast(context->getProcAddress("glDeleteProgram")); - CreateShader = reinterpret_cast(context->getProcAddress("glCreateShader")); - CreateProgram = reinterpret_cast(context->getProcAddress("glCreateProgram")); - CompileShader = reinterpret_cast(context->getProcAddress("glCompileShader")); - BindAttribLocation = reinterpret_cast(context->getProcAddress("glBindAttribLocation")); - AttachShader = reinterpret_cast(context->getProcAddress("glAttachShader")); - StencilMaskSeparate = reinterpret_cast(context->getProcAddress("glStencilMaskSeparate")); - StencilFuncSeparate = reinterpret_cast(context->getProcAddress("glStencilFuncSeparate")); - StencilOpSeparate = reinterpret_cast(context->getProcAddress("glStencilOpSeparate")); - DrawBuffers = reinterpret_cast(context->getProcAddress("glDrawBuffers")); - BlendEquationSeparate = reinterpret_cast(context->getProcAddress("glBlendEquationSeparate")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_0_CoreBackend, QT_OPENGL_2_0_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_2_0_CoreBackend::versionStatus() { return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::CoreStatus); @@ -619,16 +384,11 @@ QOpenGLVersionStatus QOpenGLFunctions_2_0_CoreBackend::versionStatus() QOpenGLFunctions_2_1_CoreBackend::QOpenGLFunctions_2_1_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 2.1 core functions - UniformMatrix4x3fv = reinterpret_cast(context->getProcAddress("glUniformMatrix4x3fv")); - UniformMatrix3x4fv = reinterpret_cast(context->getProcAddress("glUniformMatrix3x4fv")); - UniformMatrix4x2fv = reinterpret_cast(context->getProcAddress("glUniformMatrix4x2fv")); - UniformMatrix2x4fv = reinterpret_cast(context->getProcAddress("glUniformMatrix2x4fv")); - UniformMatrix3x2fv = reinterpret_cast(context->getProcAddress("glUniformMatrix3x2fv")); - UniformMatrix2x3fv = reinterpret_cast(context->getProcAddress("glUniformMatrix2x3fv")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_1_CoreBackend, QT_OPENGL_2_1_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_2_1_CoreBackend::versionStatus() { return QOpenGLVersionStatus(2, 1, QOpenGLVersionStatus::CoreStatus); @@ -637,94 +397,11 @@ QOpenGLVersionStatus QOpenGLFunctions_2_1_CoreBackend::versionStatus() QOpenGLFunctions_3_0_CoreBackend::QOpenGLFunctions_3_0_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 3.0 core functions - IsVertexArray = reinterpret_cast(context->getProcAddress("glIsVertexArray")); - GenVertexArrays = reinterpret_cast(context->getProcAddress("glGenVertexArrays")); - DeleteVertexArrays = reinterpret_cast(context->getProcAddress("glDeleteVertexArrays")); - BindVertexArray = reinterpret_cast(context->getProcAddress("glBindVertexArray")); - FlushMappedBufferRange = reinterpret_cast(context->getProcAddress("glFlushMappedBufferRange")); - MapBufferRange = reinterpret_cast(context->getProcAddress("glMapBufferRange")); - FramebufferTextureLayer = reinterpret_cast(context->getProcAddress("glFramebufferTextureLayer")); - RenderbufferStorageMultisample = reinterpret_cast(context->getProcAddress("glRenderbufferStorageMultisample")); - BlitFramebuffer = reinterpret_cast(context->getProcAddress("glBlitFramebuffer")); - GenerateMipmap = reinterpret_cast(context->getProcAddress("glGenerateMipmap")); - GetFramebufferAttachmentParameteriv = reinterpret_cast(context->getProcAddress("glGetFramebufferAttachmentParameteriv")); - FramebufferRenderbuffer = reinterpret_cast(context->getProcAddress("glFramebufferRenderbuffer")); - FramebufferTexture3D = reinterpret_cast(context->getProcAddress("glFramebufferTexture3D")); - FramebufferTexture2D = reinterpret_cast(context->getProcAddress("glFramebufferTexture2D")); - FramebufferTexture1D = reinterpret_cast(context->getProcAddress("glFramebufferTexture1D")); - CheckFramebufferStatus = reinterpret_cast(context->getProcAddress("glCheckFramebufferStatus")); - GenFramebuffers = reinterpret_cast(context->getProcAddress("glGenFramebuffers")); - DeleteFramebuffers = reinterpret_cast(context->getProcAddress("glDeleteFramebuffers")); - BindFramebuffer = reinterpret_cast(context->getProcAddress("glBindFramebuffer")); - IsFramebuffer = reinterpret_cast(context->getProcAddress("glIsFramebuffer")); - GetRenderbufferParameteriv = reinterpret_cast(context->getProcAddress("glGetRenderbufferParameteriv")); - RenderbufferStorage = reinterpret_cast(context->getProcAddress("glRenderbufferStorage")); - GenRenderbuffers = reinterpret_cast(context->getProcAddress("glGenRenderbuffers")); - DeleteRenderbuffers = reinterpret_cast(context->getProcAddress("glDeleteRenderbuffers")); - BindRenderbuffer = reinterpret_cast(context->getProcAddress("glBindRenderbuffer")); - IsRenderbuffer = reinterpret_cast(context->getProcAddress("glIsRenderbuffer")); - GetStringi = reinterpret_cast(context->getProcAddress("glGetStringi")); - ClearBufferfi = reinterpret_cast(context->getProcAddress("glClearBufferfi")); - ClearBufferfv = reinterpret_cast(context->getProcAddress("glClearBufferfv")); - ClearBufferuiv = reinterpret_cast(context->getProcAddress("glClearBufferuiv")); - ClearBufferiv = reinterpret_cast(context->getProcAddress("glClearBufferiv")); - GetTexParameterIuiv = reinterpret_cast(context->getProcAddress("glGetTexParameterIuiv")); - GetTexParameterIiv = reinterpret_cast(context->getProcAddress("glGetTexParameterIiv")); - TexParameterIuiv = reinterpret_cast(context->getProcAddress("glTexParameterIuiv")); - TexParameterIiv = reinterpret_cast(context->getProcAddress("glTexParameterIiv")); - Uniform4uiv = reinterpret_cast(context->getProcAddress("glUniform4uiv")); - Uniform3uiv = reinterpret_cast(context->getProcAddress("glUniform3uiv")); - Uniform2uiv = reinterpret_cast(context->getProcAddress("glUniform2uiv")); - Uniform1uiv = reinterpret_cast(context->getProcAddress("glUniform1uiv")); - Uniform4ui = reinterpret_cast(context->getProcAddress("glUniform4ui")); - Uniform3ui = reinterpret_cast(context->getProcAddress("glUniform3ui")); - Uniform2ui = reinterpret_cast(context->getProcAddress("glUniform2ui")); - Uniform1ui = reinterpret_cast(context->getProcAddress("glUniform1ui")); - GetFragDataLocation = reinterpret_cast(context->getProcAddress("glGetFragDataLocation")); - BindFragDataLocation = reinterpret_cast(context->getProcAddress("glBindFragDataLocation")); - GetUniformuiv = reinterpret_cast(context->getProcAddress("glGetUniformuiv")); - VertexAttribI4usv = reinterpret_cast(context->getProcAddress("glVertexAttribI4usv")); - VertexAttribI4ubv = reinterpret_cast(context->getProcAddress("glVertexAttribI4ubv")); - VertexAttribI4sv = reinterpret_cast(context->getProcAddress("glVertexAttribI4sv")); - VertexAttribI4bv = reinterpret_cast(context->getProcAddress("glVertexAttribI4bv")); - VertexAttribI4uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI4uiv")); - VertexAttribI3uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI3uiv")); - VertexAttribI2uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI2uiv")); - VertexAttribI1uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI1uiv")); - VertexAttribI4iv = reinterpret_cast(context->getProcAddress("glVertexAttribI4iv")); - VertexAttribI3iv = reinterpret_cast(context->getProcAddress("glVertexAttribI3iv")); - VertexAttribI2iv = reinterpret_cast(context->getProcAddress("glVertexAttribI2iv")); - VertexAttribI1iv = reinterpret_cast(context->getProcAddress("glVertexAttribI1iv")); - VertexAttribI4ui = reinterpret_cast(context->getProcAddress("glVertexAttribI4ui")); - VertexAttribI3ui = reinterpret_cast(context->getProcAddress("glVertexAttribI3ui")); - VertexAttribI2ui = reinterpret_cast(context->getProcAddress("glVertexAttribI2ui")); - VertexAttribI1ui = reinterpret_cast(context->getProcAddress("glVertexAttribI1ui")); - VertexAttribI4i = reinterpret_cast(context->getProcAddress("glVertexAttribI4i")); - VertexAttribI3i = reinterpret_cast(context->getProcAddress("glVertexAttribI3i")); - VertexAttribI2i = reinterpret_cast(context->getProcAddress("glVertexAttribI2i")); - VertexAttribI1i = reinterpret_cast(context->getProcAddress("glVertexAttribI1i")); - GetVertexAttribIuiv = reinterpret_cast(context->getProcAddress("glGetVertexAttribIuiv")); - GetVertexAttribIiv = reinterpret_cast(context->getProcAddress("glGetVertexAttribIiv")); - VertexAttribIPointer = reinterpret_cast(context->getProcAddress("glVertexAttribIPointer")); - EndConditionalRender = reinterpret_cast(context->getProcAddress("glEndConditionalRender")); - BeginConditionalRender = reinterpret_cast(context->getProcAddress("glBeginConditionalRender")); - ClampColor = reinterpret_cast(context->getProcAddress("glClampColor")); - GetTransformFeedbackVarying = reinterpret_cast(context->getProcAddress("glGetTransformFeedbackVarying")); - TransformFeedbackVaryings = reinterpret_cast(context->getProcAddress("glTransformFeedbackVaryings")); - BindBufferBase = reinterpret_cast(context->getProcAddress("glBindBufferBase")); - BindBufferRange = reinterpret_cast(context->getProcAddress("glBindBufferRange")); - EndTransformFeedback = reinterpret_cast(context->getProcAddress("glEndTransformFeedback")); - BeginTransformFeedback = reinterpret_cast(context->getProcAddress("glBeginTransformFeedback")); - IsEnabledi = reinterpret_cast(context->getProcAddress("glIsEnabledi")); - Disablei = reinterpret_cast(context->getProcAddress("glDisablei")); - Enablei = reinterpret_cast(context->getProcAddress("glEnablei")); - GetIntegeri_v = reinterpret_cast(context->getProcAddress("glGetIntegeri_v")); - GetBooleani_v = reinterpret_cast(context->getProcAddress("glGetBooleani_v")); - ColorMaski = reinterpret_cast(context->getProcAddress("glColorMaski")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_0_CoreBackend, QT_OPENGL_3_0_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_3_0_CoreBackend::versionStatus() { return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::CoreStatus); @@ -733,22 +410,11 @@ QOpenGLVersionStatus QOpenGLFunctions_3_0_CoreBackend::versionStatus() QOpenGLFunctions_3_1_CoreBackend::QOpenGLFunctions_3_1_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 3.1 core functions - CopyBufferSubData = reinterpret_cast(context->getProcAddress("glCopyBufferSubData")); - UniformBlockBinding = reinterpret_cast(context->getProcAddress("glUniformBlockBinding")); - GetActiveUniformBlockName = reinterpret_cast(context->getProcAddress("glGetActiveUniformBlockName")); - GetActiveUniformBlockiv = reinterpret_cast(context->getProcAddress("glGetActiveUniformBlockiv")); - GetUniformBlockIndex = reinterpret_cast(context->getProcAddress("glGetUniformBlockIndex")); - GetActiveUniformName = reinterpret_cast(context->getProcAddress("glGetActiveUniformName")); - GetActiveUniformsiv = reinterpret_cast(context->getProcAddress("glGetActiveUniformsiv")); - GetUniformIndices = reinterpret_cast(context->getProcAddress("glGetUniformIndices")); - PrimitiveRestartIndex = reinterpret_cast(context->getProcAddress("glPrimitiveRestartIndex")); - TexBuffer = reinterpret_cast(context->getProcAddress("glTexBuffer")); - DrawElementsInstanced = reinterpret_cast(context->getProcAddress("glDrawElementsInstanced")); - DrawArraysInstanced = reinterpret_cast(context->getProcAddress("glDrawArraysInstanced")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_1_CoreBackend, QT_OPENGL_3_1_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_3_1_CoreBackend::versionStatus() { return QOpenGLVersionStatus(3, 1, QOpenGLVersionStatus::CoreStatus); @@ -757,29 +423,11 @@ QOpenGLVersionStatus QOpenGLFunctions_3_1_CoreBackend::versionStatus() QOpenGLFunctions_3_2_CoreBackend::QOpenGLFunctions_3_2_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 3.2 core functions - SampleMaski = reinterpret_cast(context->getProcAddress("glSampleMaski")); - GetMultisamplefv = reinterpret_cast(context->getProcAddress("glGetMultisamplefv")); - TexImage3DMultisample = reinterpret_cast(context->getProcAddress("glTexImage3DMultisample")); - TexImage2DMultisample = reinterpret_cast(context->getProcAddress("glTexImage2DMultisample")); - GetSynciv = reinterpret_cast(context->getProcAddress("glGetSynciv")); - GetInteger64v = reinterpret_cast(context->getProcAddress("glGetInteger64v")); - WaitSync = reinterpret_cast(context->getProcAddress("glWaitSync")); - ClientWaitSync = reinterpret_cast(context->getProcAddress("glClientWaitSync")); - DeleteSync = reinterpret_cast(context->getProcAddress("glDeleteSync")); - IsSync = reinterpret_cast(context->getProcAddress("glIsSync")); - FenceSync = reinterpret_cast(context->getProcAddress("glFenceSync")); - ProvokingVertex = reinterpret_cast(context->getProcAddress("glProvokingVertex")); - MultiDrawElementsBaseVertex = reinterpret_cast(context->getProcAddress("glMultiDrawElementsBaseVertex")); - DrawElementsInstancedBaseVertex = reinterpret_cast(context->getProcAddress("glDrawElementsInstancedBaseVertex")); - DrawRangeElementsBaseVertex = reinterpret_cast(context->getProcAddress("glDrawRangeElementsBaseVertex")); - DrawElementsBaseVertex = reinterpret_cast(context->getProcAddress("glDrawElementsBaseVertex")); - FramebufferTexture = reinterpret_cast(context->getProcAddress("glFramebufferTexture")); - GetBufferParameteri64v = reinterpret_cast(context->getProcAddress("glGetBufferParameteri64v")); - GetInteger64i_v = reinterpret_cast(context->getProcAddress("glGetInteger64i_v")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_2_CoreBackend, QT_OPENGL_3_2_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_3_2_CoreBackend::versionStatus() { return QOpenGLVersionStatus(3, 2, QOpenGLVersionStatus::CoreStatus); @@ -788,68 +436,11 @@ QOpenGLVersionStatus QOpenGLFunctions_3_2_CoreBackend::versionStatus() QOpenGLFunctions_3_3_CoreBackend::QOpenGLFunctions_3_3_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 3.3 core functions - VertexAttribP4uiv = reinterpret_cast(context->getProcAddress("glVertexAttribP4uiv")); - VertexAttribP4ui = reinterpret_cast(context->getProcAddress("glVertexAttribP4ui")); - VertexAttribP3uiv = reinterpret_cast(context->getProcAddress("glVertexAttribP3uiv")); - VertexAttribP3ui = reinterpret_cast(context->getProcAddress("glVertexAttribP3ui")); - VertexAttribP2uiv = reinterpret_cast(context->getProcAddress("glVertexAttribP2uiv")); - VertexAttribP2ui = reinterpret_cast(context->getProcAddress("glVertexAttribP2ui")); - VertexAttribP1uiv = reinterpret_cast(context->getProcAddress("glVertexAttribP1uiv")); - VertexAttribP1ui = reinterpret_cast(context->getProcAddress("glVertexAttribP1ui")); - SecondaryColorP3uiv = reinterpret_cast(context->getProcAddress("glSecondaryColorP3uiv")); - SecondaryColorP3ui = reinterpret_cast(context->getProcAddress("glSecondaryColorP3ui")); - ColorP4uiv = reinterpret_cast(context->getProcAddress("glColorP4uiv")); - ColorP4ui = reinterpret_cast(context->getProcAddress("glColorP4ui")); - ColorP3uiv = reinterpret_cast(context->getProcAddress("glColorP3uiv")); - ColorP3ui = reinterpret_cast(context->getProcAddress("glColorP3ui")); - NormalP3uiv = reinterpret_cast(context->getProcAddress("glNormalP3uiv")); - NormalP3ui = reinterpret_cast(context->getProcAddress("glNormalP3ui")); - MultiTexCoordP4uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP4uiv")); - MultiTexCoordP4ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP4ui")); - MultiTexCoordP3uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP3uiv")); - MultiTexCoordP3ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP3ui")); - MultiTexCoordP2uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP2uiv")); - MultiTexCoordP2ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP2ui")); - MultiTexCoordP1uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP1uiv")); - MultiTexCoordP1ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP1ui")); - TexCoordP4uiv = reinterpret_cast(context->getProcAddress("glTexCoordP4uiv")); - TexCoordP4ui = reinterpret_cast(context->getProcAddress("glTexCoordP4ui")); - TexCoordP3uiv = reinterpret_cast(context->getProcAddress("glTexCoordP3uiv")); - TexCoordP3ui = reinterpret_cast(context->getProcAddress("glTexCoordP3ui")); - TexCoordP2uiv = reinterpret_cast(context->getProcAddress("glTexCoordP2uiv")); - TexCoordP2ui = reinterpret_cast(context->getProcAddress("glTexCoordP2ui")); - TexCoordP1uiv = reinterpret_cast(context->getProcAddress("glTexCoordP1uiv")); - TexCoordP1ui = reinterpret_cast(context->getProcAddress("glTexCoordP1ui")); - VertexP4uiv = reinterpret_cast(context->getProcAddress("glVertexP4uiv")); - VertexP4ui = reinterpret_cast(context->getProcAddress("glVertexP4ui")); - VertexP3uiv = reinterpret_cast(context->getProcAddress("glVertexP3uiv")); - VertexP3ui = reinterpret_cast(context->getProcAddress("glVertexP3ui")); - VertexP2uiv = reinterpret_cast(context->getProcAddress("glVertexP2uiv")); - VertexP2ui = reinterpret_cast(context->getProcAddress("glVertexP2ui")); - GetQueryObjectui64v = reinterpret_cast(context->getProcAddress("glGetQueryObjectui64v")); - GetQueryObjecti64v = reinterpret_cast(context->getProcAddress("glGetQueryObjecti64v")); - QueryCounter = reinterpret_cast(context->getProcAddress("glQueryCounter")); - GetSamplerParameterIuiv = reinterpret_cast(context->getProcAddress("glGetSamplerParameterIuiv")); - GetSamplerParameterfv = reinterpret_cast(context->getProcAddress("glGetSamplerParameterfv")); - GetSamplerParameterIiv = reinterpret_cast(context->getProcAddress("glGetSamplerParameterIiv")); - GetSamplerParameteriv = reinterpret_cast(context->getProcAddress("glGetSamplerParameteriv")); - SamplerParameterIuiv = reinterpret_cast(context->getProcAddress("glSamplerParameterIuiv")); - SamplerParameterIiv = reinterpret_cast(context->getProcAddress("glSamplerParameterIiv")); - SamplerParameterfv = reinterpret_cast(context->getProcAddress("glSamplerParameterfv")); - SamplerParameterf = reinterpret_cast(context->getProcAddress("glSamplerParameterf")); - SamplerParameteriv = reinterpret_cast(context->getProcAddress("glSamplerParameteriv")); - SamplerParameteri = reinterpret_cast(context->getProcAddress("glSamplerParameteri")); - BindSampler = reinterpret_cast(context->getProcAddress("glBindSampler")); - IsSampler = reinterpret_cast(context->getProcAddress("glIsSampler")); - DeleteSamplers = reinterpret_cast(context->getProcAddress("glDeleteSamplers")); - GenSamplers = reinterpret_cast(context->getProcAddress("glGenSamplers")); - GetFragDataIndex = reinterpret_cast(context->getProcAddress("glGetFragDataIndex")); - BindFragDataLocationIndexed = reinterpret_cast(context->getProcAddress("glBindFragDataLocationIndexed")); - VertexAttribDivisor = reinterpret_cast(context->getProcAddress("glVertexAttribDivisor")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_3_CoreBackend, QT_OPENGL_3_3_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_3_3_CoreBackend::versionStatus() { return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::CoreStatus); @@ -858,56 +449,11 @@ QOpenGLVersionStatus QOpenGLFunctions_3_3_CoreBackend::versionStatus() QOpenGLFunctions_4_0_CoreBackend::QOpenGLFunctions_4_0_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 4.0 core functions - GetQueryIndexediv = reinterpret_cast(context->getProcAddress("glGetQueryIndexediv")); - EndQueryIndexed = reinterpret_cast(context->getProcAddress("glEndQueryIndexed")); - BeginQueryIndexed = reinterpret_cast(context->getProcAddress("glBeginQueryIndexed")); - DrawTransformFeedbackStream = reinterpret_cast(context->getProcAddress("glDrawTransformFeedbackStream")); - DrawTransformFeedback = reinterpret_cast(context->getProcAddress("glDrawTransformFeedback")); - ResumeTransformFeedback = reinterpret_cast(context->getProcAddress("glResumeTransformFeedback")); - PauseTransformFeedback = reinterpret_cast(context->getProcAddress("glPauseTransformFeedback")); - IsTransformFeedback = reinterpret_cast(context->getProcAddress("glIsTransformFeedback")); - GenTransformFeedbacks = reinterpret_cast(context->getProcAddress("glGenTransformFeedbacks")); - DeleteTransformFeedbacks = reinterpret_cast(context->getProcAddress("glDeleteTransformFeedbacks")); - BindTransformFeedback = reinterpret_cast(context->getProcAddress("glBindTransformFeedback")); - PatchParameterfv = reinterpret_cast(context->getProcAddress("glPatchParameterfv")); - PatchParameteri = reinterpret_cast(context->getProcAddress("glPatchParameteri")); - GetProgramStageiv = reinterpret_cast(context->getProcAddress("glGetProgramStageiv")); - GetUniformSubroutineuiv = reinterpret_cast(context->getProcAddress("glGetUniformSubroutineuiv")); - UniformSubroutinesuiv = reinterpret_cast(context->getProcAddress("glUniformSubroutinesuiv")); - GetActiveSubroutineName = reinterpret_cast(context->getProcAddress("glGetActiveSubroutineName")); - GetActiveSubroutineUniformName = reinterpret_cast(context->getProcAddress("glGetActiveSubroutineUniformName")); - GetActiveSubroutineUniformiv = reinterpret_cast(context->getProcAddress("glGetActiveSubroutineUniformiv")); - GetSubroutineIndex = reinterpret_cast(context->getProcAddress("glGetSubroutineIndex")); - GetSubroutineUniformLocation = reinterpret_cast(context->getProcAddress("glGetSubroutineUniformLocation")); - GetUniformdv = reinterpret_cast(context->getProcAddress("glGetUniformdv")); - UniformMatrix4x3dv = reinterpret_cast(context->getProcAddress("glUniformMatrix4x3dv")); - UniformMatrix4x2dv = reinterpret_cast(context->getProcAddress("glUniformMatrix4x2dv")); - UniformMatrix3x4dv = reinterpret_cast(context->getProcAddress("glUniformMatrix3x4dv")); - UniformMatrix3x2dv = reinterpret_cast(context->getProcAddress("glUniformMatrix3x2dv")); - UniformMatrix2x4dv = reinterpret_cast(context->getProcAddress("glUniformMatrix2x4dv")); - UniformMatrix2x3dv = reinterpret_cast(context->getProcAddress("glUniformMatrix2x3dv")); - UniformMatrix4dv = reinterpret_cast(context->getProcAddress("glUniformMatrix4dv")); - UniformMatrix3dv = reinterpret_cast(context->getProcAddress("glUniformMatrix3dv")); - UniformMatrix2dv = reinterpret_cast(context->getProcAddress("glUniformMatrix2dv")); - Uniform4dv = reinterpret_cast(context->getProcAddress("glUniform4dv")); - Uniform3dv = reinterpret_cast(context->getProcAddress("glUniform3dv")); - Uniform2dv = reinterpret_cast(context->getProcAddress("glUniform2dv")); - Uniform1dv = reinterpret_cast(context->getProcAddress("glUniform1dv")); - Uniform4d = reinterpret_cast(context->getProcAddress("glUniform4d")); - Uniform3d = reinterpret_cast(context->getProcAddress("glUniform3d")); - Uniform2d = reinterpret_cast(context->getProcAddress("glUniform2d")); - Uniform1d = reinterpret_cast(context->getProcAddress("glUniform1d")); - DrawElementsIndirect = reinterpret_cast(context->getProcAddress("glDrawElementsIndirect")); - DrawArraysIndirect = reinterpret_cast(context->getProcAddress("glDrawArraysIndirect")); - BlendFuncSeparatei = reinterpret_cast(context->getProcAddress("glBlendFuncSeparatei")); - BlendFunci = reinterpret_cast(context->getProcAddress("glBlendFunci")); - BlendEquationSeparatei = reinterpret_cast(context->getProcAddress("glBlendEquationSeparatei")); - BlendEquationi = reinterpret_cast(context->getProcAddress("glBlendEquationi")); - MinSampleShading = reinterpret_cast(context->getProcAddress("glMinSampleShading")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_0_CoreBackend, QT_OPENGL_4_0_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_4_0_CoreBackend::versionStatus() { return QOpenGLVersionStatus(4, 0, QOpenGLVersionStatus::CoreStatus); @@ -916,98 +462,11 @@ QOpenGLVersionStatus QOpenGLFunctions_4_0_CoreBackend::versionStatus() QOpenGLFunctions_4_1_CoreBackend::QOpenGLFunctions_4_1_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 4.1 core functions - GetDoublei_v = reinterpret_cast(context->getProcAddress("glGetDoublei_v")); - GetFloati_v = reinterpret_cast(context->getProcAddress("glGetFloati_v")); - DepthRangeIndexed = reinterpret_cast(context->getProcAddress("glDepthRangeIndexed")); - DepthRangeArrayv = reinterpret_cast(context->getProcAddress("glDepthRangeArrayv")); - ScissorIndexedv = reinterpret_cast(context->getProcAddress("glScissorIndexedv")); - ScissorIndexed = reinterpret_cast(context->getProcAddress("glScissorIndexed")); - ScissorArrayv = reinterpret_cast(context->getProcAddress("glScissorArrayv")); - ViewportIndexedfv = reinterpret_cast(context->getProcAddress("glViewportIndexedfv")); - ViewportIndexedf = reinterpret_cast(context->getProcAddress("glViewportIndexedf")); - ViewportArrayv = reinterpret_cast(context->getProcAddress("glViewportArrayv")); - GetVertexAttribLdv = reinterpret_cast(context->getProcAddress("glGetVertexAttribLdv")); - VertexAttribLPointer = reinterpret_cast(context->getProcAddress("glVertexAttribLPointer")); - VertexAttribL4dv = reinterpret_cast(context->getProcAddress("glVertexAttribL4dv")); - VertexAttribL3dv = reinterpret_cast(context->getProcAddress("glVertexAttribL3dv")); - VertexAttribL2dv = reinterpret_cast(context->getProcAddress("glVertexAttribL2dv")); - VertexAttribL1dv = reinterpret_cast(context->getProcAddress("glVertexAttribL1dv")); - VertexAttribL4d = reinterpret_cast(context->getProcAddress("glVertexAttribL4d")); - VertexAttribL3d = reinterpret_cast(context->getProcAddress("glVertexAttribL3d")); - VertexAttribL2d = reinterpret_cast(context->getProcAddress("glVertexAttribL2d")); - VertexAttribL1d = reinterpret_cast(context->getProcAddress("glVertexAttribL1d")); - GetProgramPipelineInfoLog = reinterpret_cast(context->getProcAddress("glGetProgramPipelineInfoLog")); - ValidateProgramPipeline = reinterpret_cast(context->getProcAddress("glValidateProgramPipeline")); - ProgramUniformMatrix4x3dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix4x3dv")); - ProgramUniformMatrix3x4dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix3x4dv")); - ProgramUniformMatrix4x2dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix4x2dv")); - ProgramUniformMatrix2x4dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix2x4dv")); - ProgramUniformMatrix3x2dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix3x2dv")); - ProgramUniformMatrix2x3dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix2x3dv")); - ProgramUniformMatrix4x3fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix4x3fv")); - ProgramUniformMatrix3x4fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix3x4fv")); - ProgramUniformMatrix4x2fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix4x2fv")); - ProgramUniformMatrix2x4fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix2x4fv")); - ProgramUniformMatrix3x2fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix3x2fv")); - ProgramUniformMatrix2x3fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix2x3fv")); - ProgramUniformMatrix4dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix4dv")); - ProgramUniformMatrix3dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix3dv")); - ProgramUniformMatrix2dv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix2dv")); - ProgramUniformMatrix4fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix4fv")); - ProgramUniformMatrix3fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix3fv")); - ProgramUniformMatrix2fv = reinterpret_cast(context->getProcAddress("glProgramUniformMatrix2fv")); - ProgramUniform4uiv = reinterpret_cast(context->getProcAddress("glProgramUniform4uiv")); - ProgramUniform4ui = reinterpret_cast(context->getProcAddress("glProgramUniform4ui")); - ProgramUniform4dv = reinterpret_cast(context->getProcAddress("glProgramUniform4dv")); - ProgramUniform4d = reinterpret_cast(context->getProcAddress("glProgramUniform4d")); - ProgramUniform4fv = reinterpret_cast(context->getProcAddress("glProgramUniform4fv")); - ProgramUniform4f = reinterpret_cast(context->getProcAddress("glProgramUniform4f")); - ProgramUniform4iv = reinterpret_cast(context->getProcAddress("glProgramUniform4iv")); - ProgramUniform4i = reinterpret_cast(context->getProcAddress("glProgramUniform4i")); - ProgramUniform3uiv = reinterpret_cast(context->getProcAddress("glProgramUniform3uiv")); - ProgramUniform3ui = reinterpret_cast(context->getProcAddress("glProgramUniform3ui")); - ProgramUniform3dv = reinterpret_cast(context->getProcAddress("glProgramUniform3dv")); - ProgramUniform3d = reinterpret_cast(context->getProcAddress("glProgramUniform3d")); - ProgramUniform3fv = reinterpret_cast(context->getProcAddress("glProgramUniform3fv")); - ProgramUniform3f = reinterpret_cast(context->getProcAddress("glProgramUniform3f")); - ProgramUniform3iv = reinterpret_cast(context->getProcAddress("glProgramUniform3iv")); - ProgramUniform3i = reinterpret_cast(context->getProcAddress("glProgramUniform3i")); - ProgramUniform2uiv = reinterpret_cast(context->getProcAddress("glProgramUniform2uiv")); - ProgramUniform2ui = reinterpret_cast(context->getProcAddress("glProgramUniform2ui")); - ProgramUniform2dv = reinterpret_cast(context->getProcAddress("glProgramUniform2dv")); - ProgramUniform2d = reinterpret_cast(context->getProcAddress("glProgramUniform2d")); - ProgramUniform2fv = reinterpret_cast(context->getProcAddress("glProgramUniform2fv")); - ProgramUniform2f = reinterpret_cast(context->getProcAddress("glProgramUniform2f")); - ProgramUniform2iv = reinterpret_cast(context->getProcAddress("glProgramUniform2iv")); - ProgramUniform2i = reinterpret_cast(context->getProcAddress("glProgramUniform2i")); - ProgramUniform1uiv = reinterpret_cast(context->getProcAddress("glProgramUniform1uiv")); - ProgramUniform1ui = reinterpret_cast(context->getProcAddress("glProgramUniform1ui")); - ProgramUniform1dv = reinterpret_cast(context->getProcAddress("glProgramUniform1dv")); - ProgramUniform1d = reinterpret_cast(context->getProcAddress("glProgramUniform1d")); - ProgramUniform1fv = reinterpret_cast(context->getProcAddress("glProgramUniform1fv")); - ProgramUniform1f = reinterpret_cast(context->getProcAddress("glProgramUniform1f")); - ProgramUniform1iv = reinterpret_cast(context->getProcAddress("glProgramUniform1iv")); - ProgramUniform1i = reinterpret_cast(context->getProcAddress("glProgramUniform1i")); - GetProgramPipelineiv = reinterpret_cast(context->getProcAddress("glGetProgramPipelineiv")); - IsProgramPipeline = reinterpret_cast(context->getProcAddress("glIsProgramPipeline")); - GenProgramPipelines = reinterpret_cast(context->getProcAddress("glGenProgramPipelines")); - DeleteProgramPipelines = reinterpret_cast(context->getProcAddress("glDeleteProgramPipelines")); - BindProgramPipeline = reinterpret_cast(context->getProcAddress("glBindProgramPipeline")); - CreateShaderProgramv = reinterpret_cast(context->getProcAddress("glCreateShaderProgramv")); - ActiveShaderProgram = reinterpret_cast(context->getProcAddress("glActiveShaderProgram")); - UseProgramStages = reinterpret_cast(context->getProcAddress("glUseProgramStages")); - ProgramParameteri = reinterpret_cast(context->getProcAddress("glProgramParameteri")); - ProgramBinary = reinterpret_cast(context->getProcAddress("glProgramBinary")); - GetProgramBinary = reinterpret_cast(context->getProcAddress("glGetProgramBinary")); - ClearDepthf = reinterpret_cast(context->getProcAddress("glClearDepthf")); - DepthRangef = reinterpret_cast(context->getProcAddress("glDepthRangef")); - GetShaderPrecisionFormat = reinterpret_cast(context->getProcAddress("glGetShaderPrecisionFormat")); - ShaderBinary = reinterpret_cast(context->getProcAddress("glShaderBinary")); - ReleaseShaderCompiler = reinterpret_cast(context->getProcAddress("glReleaseShaderCompiler")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_1_CoreBackend, QT_OPENGL_4_1_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_4_1_CoreBackend::versionStatus() { return QOpenGLVersionStatus(4, 1, QOpenGLVersionStatus::CoreStatus); @@ -1016,22 +475,11 @@ QOpenGLVersionStatus QOpenGLFunctions_4_1_CoreBackend::versionStatus() QOpenGLFunctions_4_2_CoreBackend::QOpenGLFunctions_4_2_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 4.2 core functions - TexStorage3D = reinterpret_cast(context->getProcAddress("glTexStorage3D")); - TexStorage2D = reinterpret_cast(context->getProcAddress("glTexStorage2D")); - TexStorage1D = reinterpret_cast(context->getProcAddress("glTexStorage1D")); - MemoryBarrier = reinterpret_cast(context->getProcAddress("glMemoryBarrier")); - BindImageTexture = reinterpret_cast(context->getProcAddress("glBindImageTexture")); - GetActiveAtomicCounterBufferiv = reinterpret_cast(context->getProcAddress("glGetActiveAtomicCounterBufferiv")); - GetInternalformativ = reinterpret_cast(context->getProcAddress("glGetInternalformativ")); - DrawTransformFeedbackStreamInstanced = reinterpret_cast(context->getProcAddress("glDrawTransformFeedbackStreamInstanced")); - DrawTransformFeedbackInstanced = reinterpret_cast(context->getProcAddress("glDrawTransformFeedbackInstanced")); - DrawElementsInstancedBaseVertexBaseInstance = reinterpret_cast(context->getProcAddress("glDrawElementsInstancedBaseVertexBaseInstance")); - DrawElementsInstancedBaseInstance = reinterpret_cast(context->getProcAddress("glDrawElementsInstancedBaseInstance")); - DrawArraysInstancedBaseInstance = reinterpret_cast(context->getProcAddress("glDrawArraysInstancedBaseInstance")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_2_CoreBackend, QT_OPENGL_4_2_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_4_2_CoreBackend::versionStatus() { return QOpenGLVersionStatus(4, 2, QOpenGLVersionStatus::CoreStatus); @@ -1040,53 +488,11 @@ QOpenGLVersionStatus QOpenGLFunctions_4_2_CoreBackend::versionStatus() QOpenGLFunctions_4_3_CoreBackend::QOpenGLFunctions_4_3_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 4.3 core functions - GetObjectPtrLabel = reinterpret_cast(context->getProcAddress("glGetObjectPtrLabel")); - ObjectPtrLabel = reinterpret_cast(context->getProcAddress("glObjectPtrLabel")); - GetObjectLabel = reinterpret_cast(context->getProcAddress("glGetObjectLabel")); - ObjectLabel = reinterpret_cast(context->getProcAddress("glObjectLabel")); - PopDebugGroup = reinterpret_cast(context->getProcAddress("glPopDebugGroup")); - PushDebugGroup = reinterpret_cast(context->getProcAddress("glPushDebugGroup")); - GetDebugMessageLog = reinterpret_cast(context->getProcAddress("glGetDebugMessageLog")); - DebugMessageCallback = reinterpret_cast(context->getProcAddress("glDebugMessageCallback")); - DebugMessageInsert = reinterpret_cast(context->getProcAddress("glDebugMessageInsert")); - DebugMessageControl = reinterpret_cast(context->getProcAddress("glDebugMessageControl")); - TexStorage3DMultisample = reinterpret_cast(context->getProcAddress("glTexStorage3DMultisample")); - TexStorage2DMultisample = reinterpret_cast(context->getProcAddress("glTexStorage2DMultisample")); - TexBufferRange = reinterpret_cast(context->getProcAddress("glTexBufferRange")); - ShaderStorageBlockBinding = reinterpret_cast(context->getProcAddress("glShaderStorageBlockBinding")); - GetProgramResourceLocationIndex = reinterpret_cast(context->getProcAddress("glGetProgramResourceLocationIndex")); - GetProgramResourceLocation = reinterpret_cast(context->getProcAddress("glGetProgramResourceLocation")); - GetProgramResourceiv = reinterpret_cast(context->getProcAddress("glGetProgramResourceiv")); - GetProgramResourceName = reinterpret_cast(context->getProcAddress("glGetProgramResourceName")); - GetProgramResourceIndex = reinterpret_cast(context->getProcAddress("glGetProgramResourceIndex")); - GetProgramInterfaceiv = reinterpret_cast(context->getProcAddress("glGetProgramInterfaceiv")); - MultiDrawElementsIndirect = reinterpret_cast(context->getProcAddress("glMultiDrawElementsIndirect")); - MultiDrawArraysIndirect = reinterpret_cast(context->getProcAddress("glMultiDrawArraysIndirect")); - InvalidateSubFramebuffer = reinterpret_cast(context->getProcAddress("glInvalidateSubFramebuffer")); - InvalidateFramebuffer = reinterpret_cast(context->getProcAddress("glInvalidateFramebuffer")); - InvalidateBufferData = reinterpret_cast(context->getProcAddress("glInvalidateBufferData")); - InvalidateBufferSubData = reinterpret_cast(context->getProcAddress("glInvalidateBufferSubData")); - InvalidateTexImage = reinterpret_cast(context->getProcAddress("glInvalidateTexImage")); - InvalidateTexSubImage = reinterpret_cast(context->getProcAddress("glInvalidateTexSubImage")); - GetInternalformati64v = reinterpret_cast(context->getProcAddress("glGetInternalformati64v")); - GetFramebufferParameteriv = reinterpret_cast(context->getProcAddress("glGetFramebufferParameteriv")); - FramebufferParameteri = reinterpret_cast(context->getProcAddress("glFramebufferParameteri")); - VertexBindingDivisor = reinterpret_cast(context->getProcAddress("glVertexBindingDivisor")); - VertexAttribBinding = reinterpret_cast(context->getProcAddress("glVertexAttribBinding")); - VertexAttribLFormat = reinterpret_cast(context->getProcAddress("glVertexAttribLFormat")); - VertexAttribIFormat = reinterpret_cast(context->getProcAddress("glVertexAttribIFormat")); - VertexAttribFormat = reinterpret_cast(context->getProcAddress("glVertexAttribFormat")); - BindVertexBuffer = reinterpret_cast(context->getProcAddress("glBindVertexBuffer")); - TextureView = reinterpret_cast(context->getProcAddress("glTextureView")); - CopyImageSubData = reinterpret_cast(context->getProcAddress("glCopyImageSubData")); - DispatchComputeIndirect = reinterpret_cast(context->getProcAddress("glDispatchComputeIndirect")); - DispatchCompute = reinterpret_cast(context->getProcAddress("glDispatchCompute")); - ClearBufferSubData = reinterpret_cast(context->getProcAddress("glClearBufferSubData")); - ClearBufferData = reinterpret_cast(context->getProcAddress("glClearBufferData")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_3_CoreBackend, QT_OPENGL_4_3_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_4_3_CoreBackend::versionStatus() { return QOpenGLVersionStatus(4, 3, QOpenGLVersionStatus::CoreStatus); @@ -1095,19 +501,11 @@ QOpenGLVersionStatus QOpenGLFunctions_4_3_CoreBackend::versionStatus() QOpenGLFunctions_4_4_CoreBackend::QOpenGLFunctions_4_4_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 4.4 core functions - BindVertexBuffers = reinterpret_cast(context->getProcAddress("glBindVertexBuffers")); - BindImageTextures = reinterpret_cast(context->getProcAddress("glBindImageTextures")); - BindSamplers = reinterpret_cast(context->getProcAddress("glBindSamplers")); - BindTextures = reinterpret_cast(context->getProcAddress("glBindTextures")); - BindBuffersRange = reinterpret_cast(context->getProcAddress("glBindBuffersRange")); - BindBuffersBase = reinterpret_cast(context->getProcAddress("glBindBuffersBase")); - ClearTexSubImage = reinterpret_cast(context->getProcAddress("glClearTexSubImage")); - ClearTexImage = reinterpret_cast(context->getProcAddress("glClearTexImage")); - BufferStorage = reinterpret_cast(context->getProcAddress("glBufferStorage")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_4_CoreBackend, QT_OPENGL_4_4_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_4_4_CoreBackend::versionStatus() { return QOpenGLVersionStatus(4, 4, QOpenGLVersionStatus::CoreStatus); @@ -1116,116 +514,11 @@ QOpenGLVersionStatus QOpenGLFunctions_4_4_CoreBackend::versionStatus() QOpenGLFunctions_4_5_CoreBackend::QOpenGLFunctions_4_5_CoreBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 4.5 core functions - TextureBarrier = reinterpret_cast(context->getProcAddress("glTextureBarrier")); - ReadnPixels = reinterpret_cast(context->getProcAddress("glReadnPixels")); - GetnUniformuiv = reinterpret_cast(context->getProcAddress("glGetnUniformuiv")); - GetnUniformiv = reinterpret_cast(context->getProcAddress("glGetnUniformiv")); - GetnUniformfv = reinterpret_cast(context->getProcAddress("glGetnUniformfv")); - GetnUniformdv = reinterpret_cast(context->getProcAddress("glGetnUniformdv")); - GetnTexImage = reinterpret_cast(context->getProcAddress("glGetnTexImage")); - GetnCompressedTexImage = reinterpret_cast(context->getProcAddress("glGetnCompressedTexImage")); - GetGraphicsResetStatus = reinterpret_cast(context->getProcAddress("glGetGraphicsResetStatus")); - GetCompressedTextureSubImage = reinterpret_cast(context->getProcAddress("glGetCompressedTextureSubImage")); - GetTextureSubImage = reinterpret_cast(context->getProcAddress("glGetTextureSubImage")); - MemoryBarrierByRegion = reinterpret_cast(context->getProcAddress("glMemoryBarrierByRegion")); - CreateQueries = reinterpret_cast(context->getProcAddress("glCreateQueries")); - CreateProgramPipelines = reinterpret_cast(context->getProcAddress("glCreateProgramPipelines")); - CreateSamplers = reinterpret_cast(context->getProcAddress("glCreateSamplers")); - GetVertexArrayIndexed64iv = reinterpret_cast(context->getProcAddress("glGetVertexArrayIndexed64iv")); - GetVertexArrayIndexediv = reinterpret_cast(context->getProcAddress("glGetVertexArrayIndexediv")); - GetVertexArrayiv = reinterpret_cast(context->getProcAddress("glGetVertexArrayiv")); - VertexArrayBindingDivisor = reinterpret_cast(context->getProcAddress("glVertexArrayBindingDivisor")); - VertexArrayAttribLFormat = reinterpret_cast(context->getProcAddress("glVertexArrayAttribLFormat")); - VertexArrayAttribIFormat = reinterpret_cast(context->getProcAddress("glVertexArrayAttribIFormat")); - VertexArrayAttribFormat = reinterpret_cast(context->getProcAddress("glVertexArrayAttribFormat")); - VertexArrayAttribBinding = reinterpret_cast(context->getProcAddress("glVertexArrayAttribBinding")); - VertexArrayVertexBuffers = reinterpret_cast(context->getProcAddress("glVertexArrayVertexBuffers")); - VertexArrayVertexBuffer = reinterpret_cast(context->getProcAddress("glVertexArrayVertexBuffer")); - VertexArrayElementBuffer = reinterpret_cast(context->getProcAddress("glVertexArrayElementBuffer")); - EnableVertexArrayAttrib = reinterpret_cast(context->getProcAddress("glEnableVertexArrayAttrib")); - DisableVertexArrayAttrib = reinterpret_cast(context->getProcAddress("glDisableVertexArrayAttrib")); - CreateVertexArrays = reinterpret_cast(context->getProcAddress("glCreateVertexArrays")); - GetTextureParameteriv = reinterpret_cast(context->getProcAddress("glGetTextureParameteriv")); - GetTextureParameterIuiv = reinterpret_cast(context->getProcAddress("glGetTextureParameterIuiv")); - GetTextureParameterIiv = reinterpret_cast(context->getProcAddress("glGetTextureParameterIiv")); - GetTextureParameterfv = reinterpret_cast(context->getProcAddress("glGetTextureParameterfv")); - GetTextureLevelParameteriv = reinterpret_cast(context->getProcAddress("glGetTextureLevelParameteriv")); - GetTextureLevelParameterfv = reinterpret_cast(context->getProcAddress("glGetTextureLevelParameterfv")); - GetCompressedTextureImage = reinterpret_cast(context->getProcAddress("glGetCompressedTextureImage")); - GetTextureImage = reinterpret_cast(context->getProcAddress("glGetTextureImage")); - BindTextureUnit = reinterpret_cast(context->getProcAddress("glBindTextureUnit")); - GenerateTextureMipmap = reinterpret_cast(context->getProcAddress("glGenerateTextureMipmap")); - TextureParameteriv = reinterpret_cast(context->getProcAddress("glTextureParameteriv")); - TextureParameterIuiv = reinterpret_cast(context->getProcAddress("glTextureParameterIuiv")); - TextureParameterIiv = reinterpret_cast(context->getProcAddress("glTextureParameterIiv")); - TextureParameteri = reinterpret_cast(context->getProcAddress("glTextureParameteri")); - TextureParameterfv = reinterpret_cast(context->getProcAddress("glTextureParameterfv")); - TextureParameterf = reinterpret_cast(context->getProcAddress("glTextureParameterf")); - CopyTextureSubImage3D = reinterpret_cast(context->getProcAddress("glCopyTextureSubImage3D")); - CopyTextureSubImage2D = reinterpret_cast(context->getProcAddress("glCopyTextureSubImage2D")); - CopyTextureSubImage1D = reinterpret_cast(context->getProcAddress("glCopyTextureSubImage1D")); - CompressedTextureSubImage3D = reinterpret_cast(context->getProcAddress("glCompressedTextureSubImage3D")); - CompressedTextureSubImage2D = reinterpret_cast(context->getProcAddress("glCompressedTextureSubImage2D")); - CompressedTextureSubImage1D = reinterpret_cast(context->getProcAddress("glCompressedTextureSubImage1D")); - TextureSubImage3D = reinterpret_cast(context->getProcAddress("glTextureSubImage3D")); - TextureSubImage2D = reinterpret_cast(context->getProcAddress("glTextureSubImage2D")); - TextureSubImage1D = reinterpret_cast(context->getProcAddress("glTextureSubImage1D")); - TextureStorage3DMultisample = reinterpret_cast(context->getProcAddress("glTextureStorage3DMultisample")); - TextureStorage2DMultisample = reinterpret_cast(context->getProcAddress("glTextureStorage2DMultisample")); - TextureStorage3D = reinterpret_cast(context->getProcAddress("glTextureStorage3D")); - TextureStorage2D = reinterpret_cast(context->getProcAddress("glTextureStorage2D")); - TextureStorage1D = reinterpret_cast(context->getProcAddress("glTextureStorage1D")); - TextureBufferRange = reinterpret_cast(context->getProcAddress("glTextureBufferRange")); - TextureBuffer = reinterpret_cast(context->getProcAddress("glTextureBuffer")); - CreateTextures = reinterpret_cast(context->getProcAddress("glCreateTextures")); - GetNamedRenderbufferParameteriv = reinterpret_cast(context->getProcAddress("glGetNamedRenderbufferParameteriv")); - NamedRenderbufferStorageMultisample = reinterpret_cast(context->getProcAddress("glNamedRenderbufferStorageMultisample")); - NamedRenderbufferStorage = reinterpret_cast(context->getProcAddress("glNamedRenderbufferStorage")); - CreateRenderbuffers = reinterpret_cast(context->getProcAddress("glCreateRenderbuffers")); - GetNamedFramebufferAttachmentParameteriv = reinterpret_cast(context->getProcAddress("glGetNamedFramebufferAttachmentParameteriv")); - GetNamedFramebufferParameteriv = reinterpret_cast(context->getProcAddress("glGetNamedFramebufferParameteriv")); - CheckNamedFramebufferStatus = reinterpret_cast(context->getProcAddress("glCheckNamedFramebufferStatus")); - BlitNamedFramebuffer = reinterpret_cast(context->getProcAddress("glBlitNamedFramebuffer")); - ClearNamedFramebufferfi = reinterpret_cast(context->getProcAddress("glClearNamedFramebufferfi")); - ClearNamedFramebufferfv = reinterpret_cast(context->getProcAddress("glClearNamedFramebufferfv")); - ClearNamedFramebufferuiv = reinterpret_cast(context->getProcAddress("glClearNamedFramebufferuiv")); - ClearNamedFramebufferiv = reinterpret_cast(context->getProcAddress("glClearNamedFramebufferiv")); - InvalidateNamedFramebufferSubData = reinterpret_cast(context->getProcAddress("glInvalidateNamedFramebufferSubData")); - InvalidateNamedFramebufferData = reinterpret_cast(context->getProcAddress("glInvalidateNamedFramebufferData")); - NamedFramebufferReadBuffer = reinterpret_cast(context->getProcAddress("glNamedFramebufferReadBuffer")); - NamedFramebufferDrawBuffers = reinterpret_cast(context->getProcAddress("glNamedFramebufferDrawBuffers")); - NamedFramebufferDrawBuffer = reinterpret_cast(context->getProcAddress("glNamedFramebufferDrawBuffer")); - NamedFramebufferTextureLayer = reinterpret_cast(context->getProcAddress("glNamedFramebufferTextureLayer")); - NamedFramebufferTexture = reinterpret_cast(context->getProcAddress("glNamedFramebufferTexture")); - NamedFramebufferParameteri = reinterpret_cast(context->getProcAddress("glNamedFramebufferParameteri")); - NamedFramebufferRenderbuffer = reinterpret_cast(context->getProcAddress("glNamedFramebufferRenderbuffer")); - CreateFramebuffers = reinterpret_cast(context->getProcAddress("glCreateFramebuffers")); - GetNamedBufferSubData = reinterpret_cast(context->getProcAddress("glGetNamedBufferSubData")); - GetNamedBufferPointerv = reinterpret_cast(context->getProcAddress("glGetNamedBufferPointerv")); - GetNamedBufferParameteri64v = reinterpret_cast(context->getProcAddress("glGetNamedBufferParameteri64v")); - GetNamedBufferParameteriv = reinterpret_cast(context->getProcAddress("glGetNamedBufferParameteriv")); - FlushMappedNamedBufferRange = reinterpret_cast(context->getProcAddress("glFlushMappedNamedBufferRange")); - UnmapNamedBuffer = reinterpret_cast(context->getProcAddress("glUnmapNamedBuffer")); - MapNamedBufferRange = reinterpret_cast(context->getProcAddress("glMapNamedBufferRange")); - MapNamedBuffer = reinterpret_cast(context->getProcAddress("glMapNamedBuffer")); - ClearNamedBufferSubData = reinterpret_cast(context->getProcAddress("glClearNamedBufferSubData")); - ClearNamedBufferData = reinterpret_cast(context->getProcAddress("glClearNamedBufferData")); - CopyNamedBufferSubData = reinterpret_cast(context->getProcAddress("glCopyNamedBufferSubData")); - NamedBufferSubData = reinterpret_cast(context->getProcAddress("glNamedBufferSubData")); - NamedBufferData = reinterpret_cast(context->getProcAddress("glNamedBufferData")); - NamedBufferStorage = reinterpret_cast(context->getProcAddress("glNamedBufferStorage")); - CreateBuffers = reinterpret_cast(context->getProcAddress("glCreateBuffers")); - GetTransformFeedbacki64_v = reinterpret_cast(context->getProcAddress("glGetTransformFeedbacki64_v")); - GetTransformFeedbacki_v = reinterpret_cast(context->getProcAddress("glGetTransformFeedbacki_v")); - GetTransformFeedbackiv = reinterpret_cast(context->getProcAddress("glGetTransformFeedbackiv")); - TransformFeedbackBufferRange = reinterpret_cast(context->getProcAddress("glTransformFeedbackBufferRange")); - TransformFeedbackBufferBase = reinterpret_cast(context->getProcAddress("glTransformFeedbackBufferBase")); - CreateTransformFeedbacks = reinterpret_cast(context->getProcAddress("glCreateTransformFeedbacks")); - ClipControl = reinterpret_cast(context->getProcAddress("glClipControl")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_5_CoreBackend, QT_OPENGL_4_5_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_4_5_CoreBackend::versionStatus() { return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::CoreStatus); @@ -1234,532 +527,11 @@ QOpenGLVersionStatus QOpenGLFunctions_4_5_CoreBackend::versionStatus() QOpenGLFunctions_1_0_DeprecatedBackend::QOpenGLFunctions_1_0_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.0 deprecated functions -#if defined(Q_OS_WIN) - HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); - if (!handle) - handle = GetModuleHandleA("opengl32.dll"); - Translatef = reinterpret_cast(GetProcAddress(handle, "glTranslatef")); - Translated = reinterpret_cast(GetProcAddress(handle, "glTranslated")); - Scalef = reinterpret_cast(GetProcAddress(handle, "glScalef")); - Scaled = reinterpret_cast(GetProcAddress(handle, "glScaled")); - Rotatef = reinterpret_cast(GetProcAddress(handle, "glRotatef")); - Rotated = reinterpret_cast(GetProcAddress(handle, "glRotated")); - PushMatrix = reinterpret_cast(GetProcAddress(handle, "glPushMatrix")); - PopMatrix = reinterpret_cast(GetProcAddress(handle, "glPopMatrix")); - Ortho = reinterpret_cast(GetProcAddress(handle, "glOrtho")); - MultMatrixd = reinterpret_cast(GetProcAddress(handle, "glMultMatrixd")); - MultMatrixf = reinterpret_cast(GetProcAddress(handle, "glMultMatrixf")); - MatrixMode = reinterpret_cast(GetProcAddress(handle, "glMatrixMode")); - LoadMatrixd = reinterpret_cast(GetProcAddress(handle, "glLoadMatrixd")); - LoadMatrixf = reinterpret_cast(GetProcAddress(handle, "glLoadMatrixf")); - LoadIdentity = reinterpret_cast(GetProcAddress(handle, "glLoadIdentity")); - Frustum = reinterpret_cast(GetProcAddress(handle, "glFrustum")); - IsList = reinterpret_cast(GetProcAddress(handle, "glIsList")); - GetTexGeniv = reinterpret_cast(GetProcAddress(handle, "glGetTexGeniv")); - GetTexGenfv = reinterpret_cast(GetProcAddress(handle, "glGetTexGenfv")); - GetTexGendv = reinterpret_cast(GetProcAddress(handle, "glGetTexGendv")); - GetTexEnviv = reinterpret_cast(GetProcAddress(handle, "glGetTexEnviv")); - GetTexEnvfv = reinterpret_cast(GetProcAddress(handle, "glGetTexEnvfv")); - GetPolygonStipple = reinterpret_cast(GetProcAddress(handle, "glGetPolygonStipple")); - GetPixelMapusv = reinterpret_cast(GetProcAddress(handle, "glGetPixelMapusv")); - GetPixelMapuiv = reinterpret_cast(GetProcAddress(handle, "glGetPixelMapuiv")); - GetPixelMapfv = reinterpret_cast(GetProcAddress(handle, "glGetPixelMapfv")); - GetMaterialiv = reinterpret_cast(GetProcAddress(handle, "glGetMaterialiv")); - GetMaterialfv = reinterpret_cast(GetProcAddress(handle, "glGetMaterialfv")); - GetMapiv = reinterpret_cast(GetProcAddress(handle, "glGetMapiv")); - GetMapfv = reinterpret_cast(GetProcAddress(handle, "glGetMapfv")); - GetMapdv = reinterpret_cast(GetProcAddress(handle, "glGetMapdv")); - GetLightiv = reinterpret_cast(GetProcAddress(handle, "glGetLightiv")); - GetLightfv = reinterpret_cast(GetProcAddress(handle, "glGetLightfv")); - GetClipPlane = reinterpret_cast(GetProcAddress(handle, "glGetClipPlane")); - DrawPixels = reinterpret_cast(GetProcAddress(handle, "glDrawPixels")); - CopyPixels = reinterpret_cast(GetProcAddress(handle, "glCopyPixels")); - PixelMapusv = reinterpret_cast(GetProcAddress(handle, "glPixelMapusv")); - PixelMapuiv = reinterpret_cast(GetProcAddress(handle, "glPixelMapuiv")); - PixelMapfv = reinterpret_cast(GetProcAddress(handle, "glPixelMapfv")); - PixelTransferi = reinterpret_cast(GetProcAddress(handle, "glPixelTransferi")); - PixelTransferf = reinterpret_cast(GetProcAddress(handle, "glPixelTransferf")); - PixelZoom = reinterpret_cast(GetProcAddress(handle, "glPixelZoom")); - AlphaFunc = reinterpret_cast(GetProcAddress(handle, "glAlphaFunc")); - EvalPoint2 = reinterpret_cast(GetProcAddress(handle, "glEvalPoint2")); - EvalMesh2 = reinterpret_cast(GetProcAddress(handle, "glEvalMesh2")); - EvalPoint1 = reinterpret_cast(GetProcAddress(handle, "glEvalPoint1")); - EvalMesh1 = reinterpret_cast(GetProcAddress(handle, "glEvalMesh1")); - EvalCoord2fv = reinterpret_cast(GetProcAddress(handle, "glEvalCoord2fv")); - EvalCoord2f = reinterpret_cast(GetProcAddress(handle, "glEvalCoord2f")); - EvalCoord2dv = reinterpret_cast(GetProcAddress(handle, "glEvalCoord2dv")); - EvalCoord2d = reinterpret_cast(GetProcAddress(handle, "glEvalCoord2d")); - EvalCoord1fv = reinterpret_cast(GetProcAddress(handle, "glEvalCoord1fv")); - EvalCoord1f = reinterpret_cast(GetProcAddress(handle, "glEvalCoord1f")); - EvalCoord1dv = reinterpret_cast(GetProcAddress(handle, "glEvalCoord1dv")); - EvalCoord1d = reinterpret_cast(GetProcAddress(handle, "glEvalCoord1d")); - MapGrid2f = reinterpret_cast(GetProcAddress(handle, "glMapGrid2f")); - MapGrid2d = reinterpret_cast(GetProcAddress(handle, "glMapGrid2d")); - MapGrid1f = reinterpret_cast(GetProcAddress(handle, "glMapGrid1f")); - MapGrid1d = reinterpret_cast(GetProcAddress(handle, "glMapGrid1d")); - Map2f = reinterpret_cast(GetProcAddress(handle, "glMap2f")); - Map2d = reinterpret_cast(GetProcAddress(handle, "glMap2d")); - Map1f = reinterpret_cast(GetProcAddress(handle, "glMap1f")); - Map1d = reinterpret_cast(GetProcAddress(handle, "glMap1d")); - PushAttrib = reinterpret_cast(GetProcAddress(handle, "glPushAttrib")); - PopAttrib = reinterpret_cast(GetProcAddress(handle, "glPopAttrib")); - Accum = reinterpret_cast(GetProcAddress(handle, "glAccum")); - IndexMask = reinterpret_cast(GetProcAddress(handle, "glIndexMask")); - ClearIndex = reinterpret_cast(GetProcAddress(handle, "glClearIndex")); - ClearAccum = reinterpret_cast(GetProcAddress(handle, "glClearAccum")); - PushName = reinterpret_cast(GetProcAddress(handle, "glPushName")); - PopName = reinterpret_cast(GetProcAddress(handle, "glPopName")); - PassThrough = reinterpret_cast(GetProcAddress(handle, "glPassThrough")); - LoadName = reinterpret_cast(GetProcAddress(handle, "glLoadName")); - InitNames = reinterpret_cast(GetProcAddress(handle, "glInitNames")); - RenderMode = reinterpret_cast(GetProcAddress(handle, "glRenderMode")); - SelectBuffer = reinterpret_cast(GetProcAddress(handle, "glSelectBuffer")); - FeedbackBuffer = reinterpret_cast(GetProcAddress(handle, "glFeedbackBuffer")); - TexGeniv = reinterpret_cast(GetProcAddress(handle, "glTexGeniv")); - TexGeni = reinterpret_cast(GetProcAddress(handle, "glTexGeni")); - TexGenfv = reinterpret_cast(GetProcAddress(handle, "glTexGenfv")); - TexGenf = reinterpret_cast(GetProcAddress(handle, "glTexGenf")); - TexGendv = reinterpret_cast(GetProcAddress(handle, "glTexGendv")); - TexGend = reinterpret_cast(GetProcAddress(handle, "glTexGend")); - TexEnviv = reinterpret_cast(GetProcAddress(handle, "glTexEnviv")); - TexEnvi = reinterpret_cast(GetProcAddress(handle, "glTexEnvi")); - TexEnvfv = reinterpret_cast(GetProcAddress(handle, "glTexEnvfv")); - TexEnvf = reinterpret_cast(GetProcAddress(handle, "glTexEnvf")); - ShadeModel = reinterpret_cast(GetProcAddress(handle, "glShadeModel")); - PolygonStipple = reinterpret_cast(GetProcAddress(handle, "glPolygonStipple")); - Materialiv = reinterpret_cast(GetProcAddress(handle, "glMaterialiv")); - Materiali = reinterpret_cast(GetProcAddress(handle, "glMateriali")); - Materialfv = reinterpret_cast(GetProcAddress(handle, "glMaterialfv")); - Materialf = reinterpret_cast(GetProcAddress(handle, "glMaterialf")); - LineStipple = reinterpret_cast(GetProcAddress(handle, "glLineStipple")); - LightModeliv = reinterpret_cast(GetProcAddress(handle, "glLightModeliv")); - LightModeli = reinterpret_cast(GetProcAddress(handle, "glLightModeli")); - LightModelfv = reinterpret_cast(GetProcAddress(handle, "glLightModelfv")); - LightModelf = reinterpret_cast(GetProcAddress(handle, "glLightModelf")); - Lightiv = reinterpret_cast(GetProcAddress(handle, "glLightiv")); - Lighti = reinterpret_cast(GetProcAddress(handle, "glLighti")); - Lightfv = reinterpret_cast(GetProcAddress(handle, "glLightfv")); - Lightf = reinterpret_cast(GetProcAddress(handle, "glLightf")); - Fogiv = reinterpret_cast(GetProcAddress(handle, "glFogiv")); - Fogi = reinterpret_cast(GetProcAddress(handle, "glFogi")); - Fogfv = reinterpret_cast(GetProcAddress(handle, "glFogfv")); - Fogf = reinterpret_cast(GetProcAddress(handle, "glFogf")); - ColorMaterial = reinterpret_cast(GetProcAddress(handle, "glColorMaterial")); - ClipPlane = reinterpret_cast(GetProcAddress(handle, "glClipPlane")); - Vertex4sv = reinterpret_cast(GetProcAddress(handle, "glVertex4sv")); - Vertex4s = reinterpret_cast(GetProcAddress(handle, "glVertex4s")); - Vertex4iv = reinterpret_cast(GetProcAddress(handle, "glVertex4iv")); - Vertex4i = reinterpret_cast(GetProcAddress(handle, "glVertex4i")); - Vertex4fv = reinterpret_cast(GetProcAddress(handle, "glVertex4fv")); - Vertex4f = reinterpret_cast(GetProcAddress(handle, "glVertex4f")); - Vertex4dv = reinterpret_cast(GetProcAddress(handle, "glVertex4dv")); - Vertex4d = reinterpret_cast(GetProcAddress(handle, "glVertex4d")); - Vertex3sv = reinterpret_cast(GetProcAddress(handle, "glVertex3sv")); - Vertex3s = reinterpret_cast(GetProcAddress(handle, "glVertex3s")); - Vertex3iv = reinterpret_cast(GetProcAddress(handle, "glVertex3iv")); - Vertex3i = reinterpret_cast(GetProcAddress(handle, "glVertex3i")); - Vertex3fv = reinterpret_cast(GetProcAddress(handle, "glVertex3fv")); - Vertex3f = reinterpret_cast(GetProcAddress(handle, "glVertex3f")); - Vertex3dv = reinterpret_cast(GetProcAddress(handle, "glVertex3dv")); - Vertex3d = reinterpret_cast(GetProcAddress(handle, "glVertex3d")); - Vertex2sv = reinterpret_cast(GetProcAddress(handle, "glVertex2sv")); - Vertex2s = reinterpret_cast(GetProcAddress(handle, "glVertex2s")); - Vertex2iv = reinterpret_cast(GetProcAddress(handle, "glVertex2iv")); - Vertex2i = reinterpret_cast(GetProcAddress(handle, "glVertex2i")); - Vertex2fv = reinterpret_cast(GetProcAddress(handle, "glVertex2fv")); - Vertex2f = reinterpret_cast(GetProcAddress(handle, "glVertex2f")); - Vertex2dv = reinterpret_cast(GetProcAddress(handle, "glVertex2dv")); - Vertex2d = reinterpret_cast(GetProcAddress(handle, "glVertex2d")); - TexCoord4sv = reinterpret_cast(GetProcAddress(handle, "glTexCoord4sv")); - TexCoord4s = reinterpret_cast(GetProcAddress(handle, "glTexCoord4s")); - TexCoord4iv = reinterpret_cast(GetProcAddress(handle, "glTexCoord4iv")); - TexCoord4i = reinterpret_cast(GetProcAddress(handle, "glTexCoord4i")); - TexCoord4fv = reinterpret_cast(GetProcAddress(handle, "glTexCoord4fv")); - TexCoord4f = reinterpret_cast(GetProcAddress(handle, "glTexCoord4f")); - TexCoord4dv = reinterpret_cast(GetProcAddress(handle, "glTexCoord4dv")); - TexCoord4d = reinterpret_cast(GetProcAddress(handle, "glTexCoord4d")); - TexCoord3sv = reinterpret_cast(GetProcAddress(handle, "glTexCoord3sv")); - TexCoord3s = reinterpret_cast(GetProcAddress(handle, "glTexCoord3s")); - TexCoord3iv = reinterpret_cast(GetProcAddress(handle, "glTexCoord3iv")); - TexCoord3i = reinterpret_cast(GetProcAddress(handle, "glTexCoord3i")); - TexCoord3fv = reinterpret_cast(GetProcAddress(handle, "glTexCoord3fv")); - TexCoord3f = reinterpret_cast(GetProcAddress(handle, "glTexCoord3f")); - TexCoord3dv = reinterpret_cast(GetProcAddress(handle, "glTexCoord3dv")); - TexCoord3d = reinterpret_cast(GetProcAddress(handle, "glTexCoord3d")); - TexCoord2sv = reinterpret_cast(GetProcAddress(handle, "glTexCoord2sv")); - TexCoord2s = reinterpret_cast(GetProcAddress(handle, "glTexCoord2s")); - TexCoord2iv = reinterpret_cast(GetProcAddress(handle, "glTexCoord2iv")); - TexCoord2i = reinterpret_cast(GetProcAddress(handle, "glTexCoord2i")); - TexCoord2fv = reinterpret_cast(GetProcAddress(handle, "glTexCoord2fv")); - TexCoord2f = reinterpret_cast(GetProcAddress(handle, "glTexCoord2f")); - TexCoord2dv = reinterpret_cast(GetProcAddress(handle, "glTexCoord2dv")); - TexCoord2d = reinterpret_cast(GetProcAddress(handle, "glTexCoord2d")); - TexCoord1sv = reinterpret_cast(GetProcAddress(handle, "glTexCoord1sv")); - TexCoord1s = reinterpret_cast(GetProcAddress(handle, "glTexCoord1s")); - TexCoord1iv = reinterpret_cast(GetProcAddress(handle, "glTexCoord1iv")); - TexCoord1i = reinterpret_cast(GetProcAddress(handle, "glTexCoord1i")); - TexCoord1fv = reinterpret_cast(GetProcAddress(handle, "glTexCoord1fv")); - TexCoord1f = reinterpret_cast(GetProcAddress(handle, "glTexCoord1f")); - TexCoord1dv = reinterpret_cast(GetProcAddress(handle, "glTexCoord1dv")); - TexCoord1d = reinterpret_cast(GetProcAddress(handle, "glTexCoord1d")); - Rectsv = reinterpret_cast(GetProcAddress(handle, "glRectsv")); - Rects = reinterpret_cast(GetProcAddress(handle, "glRects")); - Rectiv = reinterpret_cast(GetProcAddress(handle, "glRectiv")); - Recti = reinterpret_cast(GetProcAddress(handle, "glRecti")); - Rectfv = reinterpret_cast(GetProcAddress(handle, "glRectfv")); - Rectf = reinterpret_cast(GetProcAddress(handle, "glRectf")); - Rectdv = reinterpret_cast(GetProcAddress(handle, "glRectdv")); - Rectd = reinterpret_cast(GetProcAddress(handle, "glRectd")); - RasterPos4sv = reinterpret_cast(GetProcAddress(handle, "glRasterPos4sv")); - RasterPos4s = reinterpret_cast(GetProcAddress(handle, "glRasterPos4s")); - RasterPos4iv = reinterpret_cast(GetProcAddress(handle, "glRasterPos4iv")); - RasterPos4i = reinterpret_cast(GetProcAddress(handle, "glRasterPos4i")); - RasterPos4fv = reinterpret_cast(GetProcAddress(handle, "glRasterPos4fv")); - RasterPos4f = reinterpret_cast(GetProcAddress(handle, "glRasterPos4f")); - RasterPos4dv = reinterpret_cast(GetProcAddress(handle, "glRasterPos4dv")); - RasterPos4d = reinterpret_cast(GetProcAddress(handle, "glRasterPos4d")); - RasterPos3sv = reinterpret_cast(GetProcAddress(handle, "glRasterPos3sv")); - RasterPos3s = reinterpret_cast(GetProcAddress(handle, "glRasterPos3s")); - RasterPos3iv = reinterpret_cast(GetProcAddress(handle, "glRasterPos3iv")); - RasterPos3i = reinterpret_cast(GetProcAddress(handle, "glRasterPos3i")); - RasterPos3fv = reinterpret_cast(GetProcAddress(handle, "glRasterPos3fv")); - RasterPos3f = reinterpret_cast(GetProcAddress(handle, "glRasterPos3f")); - RasterPos3dv = reinterpret_cast(GetProcAddress(handle, "glRasterPos3dv")); - RasterPos3d = reinterpret_cast(GetProcAddress(handle, "glRasterPos3d")); - RasterPos2sv = reinterpret_cast(GetProcAddress(handle, "glRasterPos2sv")); - RasterPos2s = reinterpret_cast(GetProcAddress(handle, "glRasterPos2s")); - RasterPos2iv = reinterpret_cast(GetProcAddress(handle, "glRasterPos2iv")); - RasterPos2i = reinterpret_cast(GetProcAddress(handle, "glRasterPos2i")); - RasterPos2fv = reinterpret_cast(GetProcAddress(handle, "glRasterPos2fv")); - RasterPos2f = reinterpret_cast(GetProcAddress(handle, "glRasterPos2f")); - RasterPos2dv = reinterpret_cast(GetProcAddress(handle, "glRasterPos2dv")); - RasterPos2d = reinterpret_cast(GetProcAddress(handle, "glRasterPos2d")); - Normal3sv = reinterpret_cast(GetProcAddress(handle, "glNormal3sv")); - Normal3s = reinterpret_cast(GetProcAddress(handle, "glNormal3s")); - Normal3iv = reinterpret_cast(GetProcAddress(handle, "glNormal3iv")); - Normal3i = reinterpret_cast(GetProcAddress(handle, "glNormal3i")); - Normal3fv = reinterpret_cast(GetProcAddress(handle, "glNormal3fv")); - Normal3f = reinterpret_cast(GetProcAddress(handle, "glNormal3f")); - Normal3dv = reinterpret_cast(GetProcAddress(handle, "glNormal3dv")); - Normal3d = reinterpret_cast(GetProcAddress(handle, "glNormal3d")); - Normal3bv = reinterpret_cast(GetProcAddress(handle, "glNormal3bv")); - Normal3b = reinterpret_cast(GetProcAddress(handle, "glNormal3b")); - Indexsv = reinterpret_cast(GetProcAddress(handle, "glIndexsv")); - Indexs = reinterpret_cast(GetProcAddress(handle, "glIndexs")); - Indexiv = reinterpret_cast(GetProcAddress(handle, "glIndexiv")); - Indexi = reinterpret_cast(GetProcAddress(handle, "glIndexi")); - Indexfv = reinterpret_cast(GetProcAddress(handle, "glIndexfv")); - Indexf = reinterpret_cast(GetProcAddress(handle, "glIndexf")); - Indexdv = reinterpret_cast(GetProcAddress(handle, "glIndexdv")); - Indexd = reinterpret_cast(GetProcAddress(handle, "glIndexd")); - End = reinterpret_cast(GetProcAddress(handle, "glEnd")); - EdgeFlagv = reinterpret_cast(GetProcAddress(handle, "glEdgeFlagv")); - EdgeFlag = reinterpret_cast(GetProcAddress(handle, "glEdgeFlag")); - Color4usv = reinterpret_cast(GetProcAddress(handle, "glColor4usv")); - Color4us = reinterpret_cast(GetProcAddress(handle, "glColor4us")); - Color4uiv = reinterpret_cast(GetProcAddress(handle, "glColor4uiv")); - Color4ui = reinterpret_cast(GetProcAddress(handle, "glColor4ui")); - Color4ubv = reinterpret_cast(GetProcAddress(handle, "glColor4ubv")); - Color4ub = reinterpret_cast(GetProcAddress(handle, "glColor4ub")); - Color4sv = reinterpret_cast(GetProcAddress(handle, "glColor4sv")); - Color4s = reinterpret_cast(GetProcAddress(handle, "glColor4s")); - Color4iv = reinterpret_cast(GetProcAddress(handle, "glColor4iv")); - Color4i = reinterpret_cast(GetProcAddress(handle, "glColor4i")); - Color4fv = reinterpret_cast(GetProcAddress(handle, "glColor4fv")); - Color4f = reinterpret_cast(GetProcAddress(handle, "glColor4f")); - Color4dv = reinterpret_cast(GetProcAddress(handle, "glColor4dv")); - Color4d = reinterpret_cast(GetProcAddress(handle, "glColor4d")); - Color4bv = reinterpret_cast(GetProcAddress(handle, "glColor4bv")); - Color4b = reinterpret_cast(GetProcAddress(handle, "glColor4b")); - Color3usv = reinterpret_cast(GetProcAddress(handle, "glColor3usv")); - Color3us = reinterpret_cast(GetProcAddress(handle, "glColor3us")); - Color3uiv = reinterpret_cast(GetProcAddress(handle, "glColor3uiv")); - Color3ui = reinterpret_cast(GetProcAddress(handle, "glColor3ui")); - Color3ubv = reinterpret_cast(GetProcAddress(handle, "glColor3ubv")); - Color3ub = reinterpret_cast(GetProcAddress(handle, "glColor3ub")); - Color3sv = reinterpret_cast(GetProcAddress(handle, "glColor3sv")); - Color3s = reinterpret_cast(GetProcAddress(handle, "glColor3s")); - Color3iv = reinterpret_cast(GetProcAddress(handle, "glColor3iv")); - Color3i = reinterpret_cast(GetProcAddress(handle, "glColor3i")); - Color3fv = reinterpret_cast(GetProcAddress(handle, "glColor3fv")); - Color3f = reinterpret_cast(GetProcAddress(handle, "glColor3f")); - Color3dv = reinterpret_cast(GetProcAddress(handle, "glColor3dv")); - Color3d = reinterpret_cast(GetProcAddress(handle, "glColor3d")); - Color3bv = reinterpret_cast(GetProcAddress(handle, "glColor3bv")); - Color3b = reinterpret_cast(GetProcAddress(handle, "glColor3b")); - Bitmap = reinterpret_cast(GetProcAddress(handle, "glBitmap")); - Begin = reinterpret_cast(GetProcAddress(handle, "glBegin")); - ListBase = reinterpret_cast(GetProcAddress(handle, "glListBase")); - GenLists = reinterpret_cast(GetProcAddress(handle, "glGenLists")); - DeleteLists = reinterpret_cast(GetProcAddress(handle, "glDeleteLists")); - CallLists = reinterpret_cast(GetProcAddress(handle, "glCallLists")); - CallList = reinterpret_cast(GetProcAddress(handle, "glCallList")); - EndList = reinterpret_cast(GetProcAddress(handle, "glEndList")); - NewList = reinterpret_cast(GetProcAddress(handle, "glNewList")); -#else - Translatef = reinterpret_cast(context->getProcAddress("glTranslatef")); - Translated = reinterpret_cast(context->getProcAddress("glTranslated")); - Scalef = reinterpret_cast(context->getProcAddress("glScalef")); - Scaled = reinterpret_cast(context->getProcAddress("glScaled")); - Rotatef = reinterpret_cast(context->getProcAddress("glRotatef")); - Rotated = reinterpret_cast(context->getProcAddress("glRotated")); - PushMatrix = reinterpret_cast(context->getProcAddress("glPushMatrix")); - PopMatrix = reinterpret_cast(context->getProcAddress("glPopMatrix")); - Ortho = reinterpret_cast(context->getProcAddress("glOrtho")); - MultMatrixd = reinterpret_cast(context->getProcAddress("glMultMatrixd")); - MultMatrixf = reinterpret_cast(context->getProcAddress("glMultMatrixf")); - MatrixMode = reinterpret_cast(context->getProcAddress("glMatrixMode")); - LoadMatrixd = reinterpret_cast(context->getProcAddress("glLoadMatrixd")); - LoadMatrixf = reinterpret_cast(context->getProcAddress("glLoadMatrixf")); - LoadIdentity = reinterpret_cast(context->getProcAddress("glLoadIdentity")); - Frustum = reinterpret_cast(context->getProcAddress("glFrustum")); - IsList = reinterpret_cast(context->getProcAddress("glIsList")); - GetTexGeniv = reinterpret_cast(context->getProcAddress("glGetTexGeniv")); - GetTexGenfv = reinterpret_cast(context->getProcAddress("glGetTexGenfv")); - GetTexGendv = reinterpret_cast(context->getProcAddress("glGetTexGendv")); - GetTexEnviv = reinterpret_cast(context->getProcAddress("glGetTexEnviv")); - GetTexEnvfv = reinterpret_cast(context->getProcAddress("glGetTexEnvfv")); - GetPolygonStipple = reinterpret_cast(context->getProcAddress("glGetPolygonStipple")); - GetPixelMapusv = reinterpret_cast(context->getProcAddress("glGetPixelMapusv")); - GetPixelMapuiv = reinterpret_cast(context->getProcAddress("glGetPixelMapuiv")); - GetPixelMapfv = reinterpret_cast(context->getProcAddress("glGetPixelMapfv")); - GetMaterialiv = reinterpret_cast(context->getProcAddress("glGetMaterialiv")); - GetMaterialfv = reinterpret_cast(context->getProcAddress("glGetMaterialfv")); - GetMapiv = reinterpret_cast(context->getProcAddress("glGetMapiv")); - GetMapfv = reinterpret_cast(context->getProcAddress("glGetMapfv")); - GetMapdv = reinterpret_cast(context->getProcAddress("glGetMapdv")); - GetLightiv = reinterpret_cast(context->getProcAddress("glGetLightiv")); - GetLightfv = reinterpret_cast(context->getProcAddress("glGetLightfv")); - GetClipPlane = reinterpret_cast(context->getProcAddress("glGetClipPlane")); - DrawPixels = reinterpret_cast(context->getProcAddress("glDrawPixels")); - CopyPixels = reinterpret_cast(context->getProcAddress("glCopyPixels")); - PixelMapusv = reinterpret_cast(context->getProcAddress("glPixelMapusv")); - PixelMapuiv = reinterpret_cast(context->getProcAddress("glPixelMapuiv")); - PixelMapfv = reinterpret_cast(context->getProcAddress("glPixelMapfv")); - PixelTransferi = reinterpret_cast(context->getProcAddress("glPixelTransferi")); - PixelTransferf = reinterpret_cast(context->getProcAddress("glPixelTransferf")); - PixelZoom = reinterpret_cast(context->getProcAddress("glPixelZoom")); - AlphaFunc = reinterpret_cast(context->getProcAddress("glAlphaFunc")); - EvalPoint2 = reinterpret_cast(context->getProcAddress("glEvalPoint2")); - EvalMesh2 = reinterpret_cast(context->getProcAddress("glEvalMesh2")); - EvalPoint1 = reinterpret_cast(context->getProcAddress("glEvalPoint1")); - EvalMesh1 = reinterpret_cast(context->getProcAddress("glEvalMesh1")); - EvalCoord2fv = reinterpret_cast(context->getProcAddress("glEvalCoord2fv")); - EvalCoord2f = reinterpret_cast(context->getProcAddress("glEvalCoord2f")); - EvalCoord2dv = reinterpret_cast(context->getProcAddress("glEvalCoord2dv")); - EvalCoord2d = reinterpret_cast(context->getProcAddress("glEvalCoord2d")); - EvalCoord1fv = reinterpret_cast(context->getProcAddress("glEvalCoord1fv")); - EvalCoord1f = reinterpret_cast(context->getProcAddress("glEvalCoord1f")); - EvalCoord1dv = reinterpret_cast(context->getProcAddress("glEvalCoord1dv")); - EvalCoord1d = reinterpret_cast(context->getProcAddress("glEvalCoord1d")); - MapGrid2f = reinterpret_cast(context->getProcAddress("glMapGrid2f")); - MapGrid2d = reinterpret_cast(context->getProcAddress("glMapGrid2d")); - MapGrid1f = reinterpret_cast(context->getProcAddress("glMapGrid1f")); - MapGrid1d = reinterpret_cast(context->getProcAddress("glMapGrid1d")); - Map2f = reinterpret_cast(context->getProcAddress("glMap2f")); - Map2d = reinterpret_cast(context->getProcAddress("glMap2d")); - Map1f = reinterpret_cast(context->getProcAddress("glMap1f")); - Map1d = reinterpret_cast(context->getProcAddress("glMap1d")); - PushAttrib = reinterpret_cast(context->getProcAddress("glPushAttrib")); - PopAttrib = reinterpret_cast(context->getProcAddress("glPopAttrib")); - Accum = reinterpret_cast(context->getProcAddress("glAccum")); - IndexMask = reinterpret_cast(context->getProcAddress("glIndexMask")); - ClearIndex = reinterpret_cast(context->getProcAddress("glClearIndex")); - ClearAccum = reinterpret_cast(context->getProcAddress("glClearAccum")); - PushName = reinterpret_cast(context->getProcAddress("glPushName")); - PopName = reinterpret_cast(context->getProcAddress("glPopName")); - PassThrough = reinterpret_cast(context->getProcAddress("glPassThrough")); - LoadName = reinterpret_cast(context->getProcAddress("glLoadName")); - InitNames = reinterpret_cast(context->getProcAddress("glInitNames")); - RenderMode = reinterpret_cast(context->getProcAddress("glRenderMode")); - SelectBuffer = reinterpret_cast(context->getProcAddress("glSelectBuffer")); - FeedbackBuffer = reinterpret_cast(context->getProcAddress("glFeedbackBuffer")); - TexGeniv = reinterpret_cast(context->getProcAddress("glTexGeniv")); - TexGeni = reinterpret_cast(context->getProcAddress("glTexGeni")); - TexGenfv = reinterpret_cast(context->getProcAddress("glTexGenfv")); - TexGenf = reinterpret_cast(context->getProcAddress("glTexGenf")); - TexGendv = reinterpret_cast(context->getProcAddress("glTexGendv")); - TexGend = reinterpret_cast(context->getProcAddress("glTexGend")); - TexEnviv = reinterpret_cast(context->getProcAddress("glTexEnviv")); - TexEnvi = reinterpret_cast(context->getProcAddress("glTexEnvi")); - TexEnvfv = reinterpret_cast(context->getProcAddress("glTexEnvfv")); - TexEnvf = reinterpret_cast(context->getProcAddress("glTexEnvf")); - ShadeModel = reinterpret_cast(context->getProcAddress("glShadeModel")); - PolygonStipple = reinterpret_cast(context->getProcAddress("glPolygonStipple")); - Materialiv = reinterpret_cast(context->getProcAddress("glMaterialiv")); - Materiali = reinterpret_cast(context->getProcAddress("glMateriali")); - Materialfv = reinterpret_cast(context->getProcAddress("glMaterialfv")); - Materialf = reinterpret_cast(context->getProcAddress("glMaterialf")); - LineStipple = reinterpret_cast(context->getProcAddress("glLineStipple")); - LightModeliv = reinterpret_cast(context->getProcAddress("glLightModeliv")); - LightModeli = reinterpret_cast(context->getProcAddress("glLightModeli")); - LightModelfv = reinterpret_cast(context->getProcAddress("glLightModelfv")); - LightModelf = reinterpret_cast(context->getProcAddress("glLightModelf")); - Lightiv = reinterpret_cast(context->getProcAddress("glLightiv")); - Lighti = reinterpret_cast(context->getProcAddress("glLighti")); - Lightfv = reinterpret_cast(context->getProcAddress("glLightfv")); - Lightf = reinterpret_cast(context->getProcAddress("glLightf")); - Fogiv = reinterpret_cast(context->getProcAddress("glFogiv")); - Fogi = reinterpret_cast(context->getProcAddress("glFogi")); - Fogfv = reinterpret_cast(context->getProcAddress("glFogfv")); - Fogf = reinterpret_cast(context->getProcAddress("glFogf")); - ColorMaterial = reinterpret_cast(context->getProcAddress("glColorMaterial")); - ClipPlane = reinterpret_cast(context->getProcAddress("glClipPlane")); - Vertex4sv = reinterpret_cast(context->getProcAddress("glVertex4sv")); - Vertex4s = reinterpret_cast(context->getProcAddress("glVertex4s")); - Vertex4iv = reinterpret_cast(context->getProcAddress("glVertex4iv")); - Vertex4i = reinterpret_cast(context->getProcAddress("glVertex4i")); - Vertex4fv = reinterpret_cast(context->getProcAddress("glVertex4fv")); - Vertex4f = reinterpret_cast(context->getProcAddress("glVertex4f")); - Vertex4dv = reinterpret_cast(context->getProcAddress("glVertex4dv")); - Vertex4d = reinterpret_cast(context->getProcAddress("glVertex4d")); - Vertex3sv = reinterpret_cast(context->getProcAddress("glVertex3sv")); - Vertex3s = reinterpret_cast(context->getProcAddress("glVertex3s")); - Vertex3iv = reinterpret_cast(context->getProcAddress("glVertex3iv")); - Vertex3i = reinterpret_cast(context->getProcAddress("glVertex3i")); - Vertex3fv = reinterpret_cast(context->getProcAddress("glVertex3fv")); - Vertex3f = reinterpret_cast(context->getProcAddress("glVertex3f")); - Vertex3dv = reinterpret_cast(context->getProcAddress("glVertex3dv")); - Vertex3d = reinterpret_cast(context->getProcAddress("glVertex3d")); - Vertex2sv = reinterpret_cast(context->getProcAddress("glVertex2sv")); - Vertex2s = reinterpret_cast(context->getProcAddress("glVertex2s")); - Vertex2iv = reinterpret_cast(context->getProcAddress("glVertex2iv")); - Vertex2i = reinterpret_cast(context->getProcAddress("glVertex2i")); - Vertex2fv = reinterpret_cast(context->getProcAddress("glVertex2fv")); - Vertex2f = reinterpret_cast(context->getProcAddress("glVertex2f")); - Vertex2dv = reinterpret_cast(context->getProcAddress("glVertex2dv")); - Vertex2d = reinterpret_cast(context->getProcAddress("glVertex2d")); - TexCoord4sv = reinterpret_cast(context->getProcAddress("glTexCoord4sv")); - TexCoord4s = reinterpret_cast(context->getProcAddress("glTexCoord4s")); - TexCoord4iv = reinterpret_cast(context->getProcAddress("glTexCoord4iv")); - TexCoord4i = reinterpret_cast(context->getProcAddress("glTexCoord4i")); - TexCoord4fv = reinterpret_cast(context->getProcAddress("glTexCoord4fv")); - TexCoord4f = reinterpret_cast(context->getProcAddress("glTexCoord4f")); - TexCoord4dv = reinterpret_cast(context->getProcAddress("glTexCoord4dv")); - TexCoord4d = reinterpret_cast(context->getProcAddress("glTexCoord4d")); - TexCoord3sv = reinterpret_cast(context->getProcAddress("glTexCoord3sv")); - TexCoord3s = reinterpret_cast(context->getProcAddress("glTexCoord3s")); - TexCoord3iv = reinterpret_cast(context->getProcAddress("glTexCoord3iv")); - TexCoord3i = reinterpret_cast(context->getProcAddress("glTexCoord3i")); - TexCoord3fv = reinterpret_cast(context->getProcAddress("glTexCoord3fv")); - TexCoord3f = reinterpret_cast(context->getProcAddress("glTexCoord3f")); - TexCoord3dv = reinterpret_cast(context->getProcAddress("glTexCoord3dv")); - TexCoord3d = reinterpret_cast(context->getProcAddress("glTexCoord3d")); - TexCoord2sv = reinterpret_cast(context->getProcAddress("glTexCoord2sv")); - TexCoord2s = reinterpret_cast(context->getProcAddress("glTexCoord2s")); - TexCoord2iv = reinterpret_cast(context->getProcAddress("glTexCoord2iv")); - TexCoord2i = reinterpret_cast(context->getProcAddress("glTexCoord2i")); - TexCoord2fv = reinterpret_cast(context->getProcAddress("glTexCoord2fv")); - TexCoord2f = reinterpret_cast(context->getProcAddress("glTexCoord2f")); - TexCoord2dv = reinterpret_cast(context->getProcAddress("glTexCoord2dv")); - TexCoord2d = reinterpret_cast(context->getProcAddress("glTexCoord2d")); - TexCoord1sv = reinterpret_cast(context->getProcAddress("glTexCoord1sv")); - TexCoord1s = reinterpret_cast(context->getProcAddress("glTexCoord1s")); - TexCoord1iv = reinterpret_cast(context->getProcAddress("glTexCoord1iv")); - TexCoord1i = reinterpret_cast(context->getProcAddress("glTexCoord1i")); - TexCoord1fv = reinterpret_cast(context->getProcAddress("glTexCoord1fv")); - TexCoord1f = reinterpret_cast(context->getProcAddress("glTexCoord1f")); - TexCoord1dv = reinterpret_cast(context->getProcAddress("glTexCoord1dv")); - TexCoord1d = reinterpret_cast(context->getProcAddress("glTexCoord1d")); - Rectsv = reinterpret_cast(context->getProcAddress("glRectsv")); - Rects = reinterpret_cast(context->getProcAddress("glRects")); - Rectiv = reinterpret_cast(context->getProcAddress("glRectiv")); - Recti = reinterpret_cast(context->getProcAddress("glRecti")); - Rectfv = reinterpret_cast(context->getProcAddress("glRectfv")); - Rectf = reinterpret_cast(context->getProcAddress("glRectf")); - Rectdv = reinterpret_cast(context->getProcAddress("glRectdv")); - Rectd = reinterpret_cast(context->getProcAddress("glRectd")); - RasterPos4sv = reinterpret_cast(context->getProcAddress("glRasterPos4sv")); - RasterPos4s = reinterpret_cast(context->getProcAddress("glRasterPos4s")); - RasterPos4iv = reinterpret_cast(context->getProcAddress("glRasterPos4iv")); - RasterPos4i = reinterpret_cast(context->getProcAddress("glRasterPos4i")); - RasterPos4fv = reinterpret_cast(context->getProcAddress("glRasterPos4fv")); - RasterPos4f = reinterpret_cast(context->getProcAddress("glRasterPos4f")); - RasterPos4dv = reinterpret_cast(context->getProcAddress("glRasterPos4dv")); - RasterPos4d = reinterpret_cast(context->getProcAddress("glRasterPos4d")); - RasterPos3sv = reinterpret_cast(context->getProcAddress("glRasterPos3sv")); - RasterPos3s = reinterpret_cast(context->getProcAddress("glRasterPos3s")); - RasterPos3iv = reinterpret_cast(context->getProcAddress("glRasterPos3iv")); - RasterPos3i = reinterpret_cast(context->getProcAddress("glRasterPos3i")); - RasterPos3fv = reinterpret_cast(context->getProcAddress("glRasterPos3fv")); - RasterPos3f = reinterpret_cast(context->getProcAddress("glRasterPos3f")); - RasterPos3dv = reinterpret_cast(context->getProcAddress("glRasterPos3dv")); - RasterPos3d = reinterpret_cast(context->getProcAddress("glRasterPos3d")); - RasterPos2sv = reinterpret_cast(context->getProcAddress("glRasterPos2sv")); - RasterPos2s = reinterpret_cast(context->getProcAddress("glRasterPos2s")); - RasterPos2iv = reinterpret_cast(context->getProcAddress("glRasterPos2iv")); - RasterPos2i = reinterpret_cast(context->getProcAddress("glRasterPos2i")); - RasterPos2fv = reinterpret_cast(context->getProcAddress("glRasterPos2fv")); - RasterPos2f = reinterpret_cast(context->getProcAddress("glRasterPos2f")); - RasterPos2dv = reinterpret_cast(context->getProcAddress("glRasterPos2dv")); - RasterPos2d = reinterpret_cast(context->getProcAddress("glRasterPos2d")); - Normal3sv = reinterpret_cast(context->getProcAddress("glNormal3sv")); - Normal3s = reinterpret_cast(context->getProcAddress("glNormal3s")); - Normal3iv = reinterpret_cast(context->getProcAddress("glNormal3iv")); - Normal3i = reinterpret_cast(context->getProcAddress("glNormal3i")); - Normal3fv = reinterpret_cast(context->getProcAddress("glNormal3fv")); - Normal3f = reinterpret_cast(context->getProcAddress("glNormal3f")); - Normal3dv = reinterpret_cast(context->getProcAddress("glNormal3dv")); - Normal3d = reinterpret_cast(context->getProcAddress("glNormal3d")); - Normal3bv = reinterpret_cast(context->getProcAddress("glNormal3bv")); - Normal3b = reinterpret_cast(context->getProcAddress("glNormal3b")); - Indexsv = reinterpret_cast(context->getProcAddress("glIndexsv")); - Indexs = reinterpret_cast(context->getProcAddress("glIndexs")); - Indexiv = reinterpret_cast(context->getProcAddress("glIndexiv")); - Indexi = reinterpret_cast(context->getProcAddress("glIndexi")); - Indexfv = reinterpret_cast(context->getProcAddress("glIndexfv")); - Indexf = reinterpret_cast(context->getProcAddress("glIndexf")); - Indexdv = reinterpret_cast(context->getProcAddress("glIndexdv")); - Indexd = reinterpret_cast(context->getProcAddress("glIndexd")); - End = reinterpret_cast(context->getProcAddress("glEnd")); - EdgeFlagv = reinterpret_cast(context->getProcAddress("glEdgeFlagv")); - EdgeFlag = reinterpret_cast(context->getProcAddress("glEdgeFlag")); - Color4usv = reinterpret_cast(context->getProcAddress("glColor4usv")); - Color4us = reinterpret_cast(context->getProcAddress("glColor4us")); - Color4uiv = reinterpret_cast(context->getProcAddress("glColor4uiv")); - Color4ui = reinterpret_cast(context->getProcAddress("glColor4ui")); - Color4ubv = reinterpret_cast(context->getProcAddress("glColor4ubv")); - Color4ub = reinterpret_cast(context->getProcAddress("glColor4ub")); - Color4sv = reinterpret_cast(context->getProcAddress("glColor4sv")); - Color4s = reinterpret_cast(context->getProcAddress("glColor4s")); - Color4iv = reinterpret_cast(context->getProcAddress("glColor4iv")); - Color4i = reinterpret_cast(context->getProcAddress("glColor4i")); - Color4fv = reinterpret_cast(context->getProcAddress("glColor4fv")); - Color4f = reinterpret_cast(context->getProcAddress("glColor4f")); - Color4dv = reinterpret_cast(context->getProcAddress("glColor4dv")); - Color4d = reinterpret_cast(context->getProcAddress("glColor4d")); - Color4bv = reinterpret_cast(context->getProcAddress("glColor4bv")); - Color4b = reinterpret_cast(context->getProcAddress("glColor4b")); - Color3usv = reinterpret_cast(context->getProcAddress("glColor3usv")); - Color3us = reinterpret_cast(context->getProcAddress("glColor3us")); - Color3uiv = reinterpret_cast(context->getProcAddress("glColor3uiv")); - Color3ui = reinterpret_cast(context->getProcAddress("glColor3ui")); - Color3ubv = reinterpret_cast(context->getProcAddress("glColor3ubv")); - Color3ub = reinterpret_cast(context->getProcAddress("glColor3ub")); - Color3sv = reinterpret_cast(context->getProcAddress("glColor3sv")); - Color3s = reinterpret_cast(context->getProcAddress("glColor3s")); - Color3iv = reinterpret_cast(context->getProcAddress("glColor3iv")); - Color3i = reinterpret_cast(context->getProcAddress("glColor3i")); - Color3fv = reinterpret_cast(context->getProcAddress("glColor3fv")); - Color3f = reinterpret_cast(context->getProcAddress("glColor3f")); - Color3dv = reinterpret_cast(context->getProcAddress("glColor3dv")); - Color3d = reinterpret_cast(context->getProcAddress("glColor3d")); - Color3bv = reinterpret_cast(context->getProcAddress("glColor3bv")); - Color3b = reinterpret_cast(context->getProcAddress("glColor3b")); - Bitmap = reinterpret_cast(context->getProcAddress("glBitmap")); - Begin = reinterpret_cast(context->getProcAddress("glBegin")); - ListBase = reinterpret_cast(context->getProcAddress("glListBase")); - GenLists = reinterpret_cast(context->getProcAddress("glGenLists")); - DeleteLists = reinterpret_cast(context->getProcAddress("glDeleteLists")); - CallLists = reinterpret_cast(context->getProcAddress("glCallLists")); - CallList = reinterpret_cast(context->getProcAddress("glCallList")); - EndList = reinterpret_cast(context->getProcAddress("glEndList")); - NewList = reinterpret_cast(context->getProcAddress("glNewList")); -#endif - + init(); } +QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_DeprecatedBackend, QT_OPENGL_1_0_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::DeprecatedStatus); @@ -1768,50 +540,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus() QOpenGLFunctions_1_1_DeprecatedBackend::QOpenGLFunctions_1_1_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.1 deprecated functions -#if defined(Q_OS_WIN) - HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); - if (!handle) - handle = GetModuleHandleA("opengl32.dll"); - PushClientAttrib = reinterpret_cast(GetProcAddress(handle, "glPushClientAttrib")); - PopClientAttrib = reinterpret_cast(GetProcAddress(handle, "glPopClientAttrib")); - Indexubv = reinterpret_cast(GetProcAddress(handle, "glIndexubv")); - Indexub = reinterpret_cast(GetProcAddress(handle, "glIndexub")); - PrioritizeTextures = reinterpret_cast(GetProcAddress(handle, "glPrioritizeTextures")); - AreTexturesResident = reinterpret_cast(GetProcAddress(handle, "glAreTexturesResident")); - VertexPointer = reinterpret_cast(GetProcAddress(handle, "glVertexPointer")); - TexCoordPointer = reinterpret_cast(GetProcAddress(handle, "glTexCoordPointer")); - NormalPointer = reinterpret_cast(GetProcAddress(handle, "glNormalPointer")); - InterleavedArrays = reinterpret_cast(GetProcAddress(handle, "glInterleavedArrays")); - GetPointerv = reinterpret_cast(GetProcAddress(handle, "glGetPointerv")); - IndexPointer = reinterpret_cast(GetProcAddress(handle, "glIndexPointer")); - EnableClientState = reinterpret_cast(GetProcAddress(handle, "glEnableClientState")); - EdgeFlagPointer = reinterpret_cast(GetProcAddress(handle, "glEdgeFlagPointer")); - DisableClientState = reinterpret_cast(GetProcAddress(handle, "glDisableClientState")); - ColorPointer = reinterpret_cast(GetProcAddress(handle, "glColorPointer")); - ArrayElement = reinterpret_cast(GetProcAddress(handle, "glArrayElement")); -#else - PushClientAttrib = reinterpret_cast(context->getProcAddress("glPushClientAttrib")); - PopClientAttrib = reinterpret_cast(context->getProcAddress("glPopClientAttrib")); - Indexubv = reinterpret_cast(context->getProcAddress("glIndexubv")); - Indexub = reinterpret_cast(context->getProcAddress("glIndexub")); - PrioritizeTextures = reinterpret_cast(context->getProcAddress("glPrioritizeTextures")); - AreTexturesResident = reinterpret_cast(context->getProcAddress("glAreTexturesResident")); - VertexPointer = reinterpret_cast(context->getProcAddress("glVertexPointer")); - TexCoordPointer = reinterpret_cast(context->getProcAddress("glTexCoordPointer")); - NormalPointer = reinterpret_cast(context->getProcAddress("glNormalPointer")); - InterleavedArrays = reinterpret_cast(context->getProcAddress("glInterleavedArrays")); - GetPointerv = reinterpret_cast(context->getProcAddress("glGetPointerv")); - IndexPointer = reinterpret_cast(context->getProcAddress("glIndexPointer")); - EnableClientState = reinterpret_cast(context->getProcAddress("glEnableClientState")); - EdgeFlagPointer = reinterpret_cast(context->getProcAddress("glEdgeFlagPointer")); - DisableClientState = reinterpret_cast(context->getProcAddress("glDisableClientState")); - ColorPointer = reinterpret_cast(context->getProcAddress("glColorPointer")); - ArrayElement = reinterpret_cast(context->getProcAddress("glArrayElement")); -#endif - + init(); } +QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_DeprecatedBackend, QT_OPENGL_1_1_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::DeprecatedStatus); @@ -1820,42 +553,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus() QOpenGLFunctions_1_2_DeprecatedBackend::QOpenGLFunctions_1_2_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.2 deprecated functions - ResetMinmax = reinterpret_cast(context->getProcAddress("glResetMinmax")); - ResetHistogram = reinterpret_cast(context->getProcAddress("glResetHistogram")); - Minmax = reinterpret_cast(context->getProcAddress("glMinmax")); - Histogram = reinterpret_cast(context->getProcAddress("glHistogram")); - GetMinmaxParameteriv = reinterpret_cast(context->getProcAddress("glGetMinmaxParameteriv")); - GetMinmaxParameterfv = reinterpret_cast(context->getProcAddress("glGetMinmaxParameterfv")); - GetMinmax = reinterpret_cast(context->getProcAddress("glGetMinmax")); - GetHistogramParameteriv = reinterpret_cast(context->getProcAddress("glGetHistogramParameteriv")); - GetHistogramParameterfv = reinterpret_cast(context->getProcAddress("glGetHistogramParameterfv")); - GetHistogram = reinterpret_cast(context->getProcAddress("glGetHistogram")); - SeparableFilter2D = reinterpret_cast(context->getProcAddress("glSeparableFilter2D")); - GetSeparableFilter = reinterpret_cast(context->getProcAddress("glGetSeparableFilter")); - GetConvolutionParameteriv = reinterpret_cast(context->getProcAddress("glGetConvolutionParameteriv")); - GetConvolutionParameterfv = reinterpret_cast(context->getProcAddress("glGetConvolutionParameterfv")); - GetConvolutionFilter = reinterpret_cast(context->getProcAddress("glGetConvolutionFilter")); - CopyConvolutionFilter2D = reinterpret_cast(context->getProcAddress("glCopyConvolutionFilter2D")); - CopyConvolutionFilter1D = reinterpret_cast(context->getProcAddress("glCopyConvolutionFilter1D")); - ConvolutionParameteriv = reinterpret_cast(context->getProcAddress("glConvolutionParameteriv")); - ConvolutionParameteri = reinterpret_cast(context->getProcAddress("glConvolutionParameteri")); - ConvolutionParameterfv = reinterpret_cast(context->getProcAddress("glConvolutionParameterfv")); - ConvolutionParameterf = reinterpret_cast(context->getProcAddress("glConvolutionParameterf")); - ConvolutionFilter2D = reinterpret_cast(context->getProcAddress("glConvolutionFilter2D")); - ConvolutionFilter1D = reinterpret_cast(context->getProcAddress("glConvolutionFilter1D")); - CopyColorSubTable = reinterpret_cast(context->getProcAddress("glCopyColorSubTable")); - ColorSubTable = reinterpret_cast(context->getProcAddress("glColorSubTable")); - GetColorTableParameteriv = reinterpret_cast(context->getProcAddress("glGetColorTableParameteriv")); - GetColorTableParameterfv = reinterpret_cast(context->getProcAddress("glGetColorTableParameterfv")); - GetColorTable = reinterpret_cast(context->getProcAddress("glGetColorTable")); - CopyColorTable = reinterpret_cast(context->getProcAddress("glCopyColorTable")); - ColorTableParameteriv = reinterpret_cast(context->getProcAddress("glColorTableParameteriv")); - ColorTableParameterfv = reinterpret_cast(context->getProcAddress("glColorTableParameterfv")); - ColorTable = reinterpret_cast(context->getProcAddress("glColorTable")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_DeprecatedBackend, QT_OPENGL_1_2_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::DeprecatedStatus); @@ -1864,47 +566,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus() QOpenGLFunctions_1_3_DeprecatedBackend::QOpenGLFunctions_1_3_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.3 deprecated functions - MultTransposeMatrixd = reinterpret_cast(context->getProcAddress("glMultTransposeMatrixd")); - MultTransposeMatrixf = reinterpret_cast(context->getProcAddress("glMultTransposeMatrixf")); - LoadTransposeMatrixd = reinterpret_cast(context->getProcAddress("glLoadTransposeMatrixd")); - LoadTransposeMatrixf = reinterpret_cast(context->getProcAddress("glLoadTransposeMatrixf")); - MultiTexCoord4sv = reinterpret_cast(context->getProcAddress("glMultiTexCoord4sv")); - MultiTexCoord4s = reinterpret_cast(context->getProcAddress("glMultiTexCoord4s")); - MultiTexCoord4iv = reinterpret_cast(context->getProcAddress("glMultiTexCoord4iv")); - MultiTexCoord4i = reinterpret_cast(context->getProcAddress("glMultiTexCoord4i")); - MultiTexCoord4fv = reinterpret_cast(context->getProcAddress("glMultiTexCoord4fv")); - MultiTexCoord4f = reinterpret_cast(context->getProcAddress("glMultiTexCoord4f")); - MultiTexCoord4dv = reinterpret_cast(context->getProcAddress("glMultiTexCoord4dv")); - MultiTexCoord4d = reinterpret_cast(context->getProcAddress("glMultiTexCoord4d")); - MultiTexCoord3sv = reinterpret_cast(context->getProcAddress("glMultiTexCoord3sv")); - MultiTexCoord3s = reinterpret_cast(context->getProcAddress("glMultiTexCoord3s")); - MultiTexCoord3iv = reinterpret_cast(context->getProcAddress("glMultiTexCoord3iv")); - MultiTexCoord3i = reinterpret_cast(context->getProcAddress("glMultiTexCoord3i")); - MultiTexCoord3fv = reinterpret_cast(context->getProcAddress("glMultiTexCoord3fv")); - MultiTexCoord3f = reinterpret_cast(context->getProcAddress("glMultiTexCoord3f")); - MultiTexCoord3dv = reinterpret_cast(context->getProcAddress("glMultiTexCoord3dv")); - MultiTexCoord3d = reinterpret_cast(context->getProcAddress("glMultiTexCoord3d")); - MultiTexCoord2sv = reinterpret_cast(context->getProcAddress("glMultiTexCoord2sv")); - MultiTexCoord2s = reinterpret_cast(context->getProcAddress("glMultiTexCoord2s")); - MultiTexCoord2iv = reinterpret_cast(context->getProcAddress("glMultiTexCoord2iv")); - MultiTexCoord2i = reinterpret_cast(context->getProcAddress("glMultiTexCoord2i")); - MultiTexCoord2fv = reinterpret_cast(context->getProcAddress("glMultiTexCoord2fv")); - MultiTexCoord2f = reinterpret_cast(context->getProcAddress("glMultiTexCoord2f")); - MultiTexCoord2dv = reinterpret_cast(context->getProcAddress("glMultiTexCoord2dv")); - MultiTexCoord2d = reinterpret_cast(context->getProcAddress("glMultiTexCoord2d")); - MultiTexCoord1sv = reinterpret_cast(context->getProcAddress("glMultiTexCoord1sv")); - MultiTexCoord1s = reinterpret_cast(context->getProcAddress("glMultiTexCoord1s")); - MultiTexCoord1iv = reinterpret_cast(context->getProcAddress("glMultiTexCoord1iv")); - MultiTexCoord1i = reinterpret_cast(context->getProcAddress("glMultiTexCoord1i")); - MultiTexCoord1fv = reinterpret_cast(context->getProcAddress("glMultiTexCoord1fv")); - MultiTexCoord1f = reinterpret_cast(context->getProcAddress("glMultiTexCoord1f")); - MultiTexCoord1dv = reinterpret_cast(context->getProcAddress("glMultiTexCoord1dv")); - MultiTexCoord1d = reinterpret_cast(context->getProcAddress("glMultiTexCoord1d")); - ClientActiveTexture = reinterpret_cast(context->getProcAddress("glClientActiveTexture")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_DeprecatedBackend, QT_OPENGL_1_3_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::DeprecatedStatus); @@ -1913,48 +579,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus() QOpenGLFunctions_1_4_DeprecatedBackend::QOpenGLFunctions_1_4_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 1.4 deprecated functions - WindowPos3sv = reinterpret_cast(context->getProcAddress("glWindowPos3sv")); - WindowPos3s = reinterpret_cast(context->getProcAddress("glWindowPos3s")); - WindowPos3iv = reinterpret_cast(context->getProcAddress("glWindowPos3iv")); - WindowPos3i = reinterpret_cast(context->getProcAddress("glWindowPos3i")); - WindowPos3fv = reinterpret_cast(context->getProcAddress("glWindowPos3fv")); - WindowPos3f = reinterpret_cast(context->getProcAddress("glWindowPos3f")); - WindowPos3dv = reinterpret_cast(context->getProcAddress("glWindowPos3dv")); - WindowPos3d = reinterpret_cast(context->getProcAddress("glWindowPos3d")); - WindowPos2sv = reinterpret_cast(context->getProcAddress("glWindowPos2sv")); - WindowPos2s = reinterpret_cast(context->getProcAddress("glWindowPos2s")); - WindowPos2iv = reinterpret_cast(context->getProcAddress("glWindowPos2iv")); - WindowPos2i = reinterpret_cast(context->getProcAddress("glWindowPos2i")); - WindowPos2fv = reinterpret_cast(context->getProcAddress("glWindowPos2fv")); - WindowPos2f = reinterpret_cast(context->getProcAddress("glWindowPos2f")); - WindowPos2dv = reinterpret_cast(context->getProcAddress("glWindowPos2dv")); - WindowPos2d = reinterpret_cast(context->getProcAddress("glWindowPos2d")); - SecondaryColorPointer = reinterpret_cast(context->getProcAddress("glSecondaryColorPointer")); - SecondaryColor3usv = reinterpret_cast(context->getProcAddress("glSecondaryColor3usv")); - SecondaryColor3us = reinterpret_cast(context->getProcAddress("glSecondaryColor3us")); - SecondaryColor3uiv = reinterpret_cast(context->getProcAddress("glSecondaryColor3uiv")); - SecondaryColor3ui = reinterpret_cast(context->getProcAddress("glSecondaryColor3ui")); - SecondaryColor3ubv = reinterpret_cast(context->getProcAddress("glSecondaryColor3ubv")); - SecondaryColor3ub = reinterpret_cast(context->getProcAddress("glSecondaryColor3ub")); - SecondaryColor3sv = reinterpret_cast(context->getProcAddress("glSecondaryColor3sv")); - SecondaryColor3s = reinterpret_cast(context->getProcAddress("glSecondaryColor3s")); - SecondaryColor3iv = reinterpret_cast(context->getProcAddress("glSecondaryColor3iv")); - SecondaryColor3i = reinterpret_cast(context->getProcAddress("glSecondaryColor3i")); - SecondaryColor3fv = reinterpret_cast(context->getProcAddress("glSecondaryColor3fv")); - SecondaryColor3f = reinterpret_cast(context->getProcAddress("glSecondaryColor3f")); - SecondaryColor3dv = reinterpret_cast(context->getProcAddress("glSecondaryColor3dv")); - SecondaryColor3d = reinterpret_cast(context->getProcAddress("glSecondaryColor3d")); - SecondaryColor3bv = reinterpret_cast(context->getProcAddress("glSecondaryColor3bv")); - SecondaryColor3b = reinterpret_cast(context->getProcAddress("glSecondaryColor3b")); - FogCoordPointer = reinterpret_cast(context->getProcAddress("glFogCoordPointer")); - FogCoorddv = reinterpret_cast(context->getProcAddress("glFogCoorddv")); - FogCoordd = reinterpret_cast(context->getProcAddress("glFogCoordd")); - FogCoordfv = reinterpret_cast(context->getProcAddress("glFogCoordfv")); - FogCoordf = reinterpret_cast(context->getProcAddress("glFogCoordf")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_4_DeprecatedBackend, QT_OPENGL_1_4_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::DeprecatedStatus); @@ -1963,46 +592,11 @@ QOpenGLVersionStatus QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus() QOpenGLFunctions_2_0_DeprecatedBackend::QOpenGLFunctions_2_0_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 2.0 deprecated functions - VertexAttrib4usv = reinterpret_cast(context->getProcAddress("glVertexAttrib4usv")); - VertexAttrib4uiv = reinterpret_cast(context->getProcAddress("glVertexAttrib4uiv")); - VertexAttrib4ubv = reinterpret_cast(context->getProcAddress("glVertexAttrib4ubv")); - VertexAttrib4sv = reinterpret_cast(context->getProcAddress("glVertexAttrib4sv")); - VertexAttrib4s = reinterpret_cast(context->getProcAddress("glVertexAttrib4s")); - VertexAttrib4iv = reinterpret_cast(context->getProcAddress("glVertexAttrib4iv")); - VertexAttrib4fv = reinterpret_cast(context->getProcAddress("glVertexAttrib4fv")); - VertexAttrib4f = reinterpret_cast(context->getProcAddress("glVertexAttrib4f")); - VertexAttrib4dv = reinterpret_cast(context->getProcAddress("glVertexAttrib4dv")); - VertexAttrib4d = reinterpret_cast(context->getProcAddress("glVertexAttrib4d")); - VertexAttrib4bv = reinterpret_cast(context->getProcAddress("glVertexAttrib4bv")); - VertexAttrib4Nusv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nusv")); - VertexAttrib4Nuiv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nuiv")); - VertexAttrib4Nubv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nubv")); - VertexAttrib4Nub = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nub")); - VertexAttrib4Nsv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nsv")); - VertexAttrib4Niv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Niv")); - VertexAttrib4Nbv = reinterpret_cast(context->getProcAddress("glVertexAttrib4Nbv")); - VertexAttrib3sv = reinterpret_cast(context->getProcAddress("glVertexAttrib3sv")); - VertexAttrib3s = reinterpret_cast(context->getProcAddress("glVertexAttrib3s")); - VertexAttrib3fv = reinterpret_cast(context->getProcAddress("glVertexAttrib3fv")); - VertexAttrib3f = reinterpret_cast(context->getProcAddress("glVertexAttrib3f")); - VertexAttrib3dv = reinterpret_cast(context->getProcAddress("glVertexAttrib3dv")); - VertexAttrib3d = reinterpret_cast(context->getProcAddress("glVertexAttrib3d")); - VertexAttrib2sv = reinterpret_cast(context->getProcAddress("glVertexAttrib2sv")); - VertexAttrib2s = reinterpret_cast(context->getProcAddress("glVertexAttrib2s")); - VertexAttrib2fv = reinterpret_cast(context->getProcAddress("glVertexAttrib2fv")); - VertexAttrib2f = reinterpret_cast(context->getProcAddress("glVertexAttrib2f")); - VertexAttrib2dv = reinterpret_cast(context->getProcAddress("glVertexAttrib2dv")); - VertexAttrib2d = reinterpret_cast(context->getProcAddress("glVertexAttrib2d")); - VertexAttrib1sv = reinterpret_cast(context->getProcAddress("glVertexAttrib1sv")); - VertexAttrib1s = reinterpret_cast(context->getProcAddress("glVertexAttrib1s")); - VertexAttrib1fv = reinterpret_cast(context->getProcAddress("glVertexAttrib1fv")); - VertexAttrib1f = reinterpret_cast(context->getProcAddress("glVertexAttrib1f")); - VertexAttrib1dv = reinterpret_cast(context->getProcAddress("glVertexAttrib1dv")); - VertexAttrib1d = reinterpret_cast(context->getProcAddress("glVertexAttrib1d")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_0_DeprecatedBackend, QT_OPENGL_2_0_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_2_0_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::DeprecatedStatus); @@ -2011,30 +605,11 @@ QOpenGLVersionStatus QOpenGLFunctions_2_0_DeprecatedBackend::versionStatus() QOpenGLFunctions_3_0_DeprecatedBackend::QOpenGLFunctions_3_0_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 3.0 deprecated functions - VertexAttribI4usv = reinterpret_cast(context->getProcAddress("glVertexAttribI4usv")); - VertexAttribI4ubv = reinterpret_cast(context->getProcAddress("glVertexAttribI4ubv")); - VertexAttribI4sv = reinterpret_cast(context->getProcAddress("glVertexAttribI4sv")); - VertexAttribI4bv = reinterpret_cast(context->getProcAddress("glVertexAttribI4bv")); - VertexAttribI4uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI4uiv")); - VertexAttribI3uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI3uiv")); - VertexAttribI2uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI2uiv")); - VertexAttribI1uiv = reinterpret_cast(context->getProcAddress("glVertexAttribI1uiv")); - VertexAttribI4iv = reinterpret_cast(context->getProcAddress("glVertexAttribI4iv")); - VertexAttribI3iv = reinterpret_cast(context->getProcAddress("glVertexAttribI3iv")); - VertexAttribI2iv = reinterpret_cast(context->getProcAddress("glVertexAttribI2iv")); - VertexAttribI1iv = reinterpret_cast(context->getProcAddress("glVertexAttribI1iv")); - VertexAttribI4ui = reinterpret_cast(context->getProcAddress("glVertexAttribI4ui")); - VertexAttribI3ui = reinterpret_cast(context->getProcAddress("glVertexAttribI3ui")); - VertexAttribI2ui = reinterpret_cast(context->getProcAddress("glVertexAttribI2ui")); - VertexAttribI1ui = reinterpret_cast(context->getProcAddress("glVertexAttribI1ui")); - VertexAttribI4i = reinterpret_cast(context->getProcAddress("glVertexAttribI4i")); - VertexAttribI3i = reinterpret_cast(context->getProcAddress("glVertexAttribI3i")); - VertexAttribI2i = reinterpret_cast(context->getProcAddress("glVertexAttribI2i")); - VertexAttribI1i = reinterpret_cast(context->getProcAddress("glVertexAttribI1i")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_0_DeprecatedBackend, QT_OPENGL_3_0_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_3_0_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::DeprecatedStatus); @@ -2043,40 +618,11 @@ QOpenGLVersionStatus QOpenGLFunctions_3_0_DeprecatedBackend::versionStatus() QOpenGLFunctions_3_3_DeprecatedBackend::QOpenGLFunctions_3_3_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 3.3 deprecated functions - SecondaryColorP3uiv = reinterpret_cast(context->getProcAddress("glSecondaryColorP3uiv")); - SecondaryColorP3ui = reinterpret_cast(context->getProcAddress("glSecondaryColorP3ui")); - ColorP4uiv = reinterpret_cast(context->getProcAddress("glColorP4uiv")); - ColorP4ui = reinterpret_cast(context->getProcAddress("glColorP4ui")); - ColorP3uiv = reinterpret_cast(context->getProcAddress("glColorP3uiv")); - ColorP3ui = reinterpret_cast(context->getProcAddress("glColorP3ui")); - NormalP3uiv = reinterpret_cast(context->getProcAddress("glNormalP3uiv")); - NormalP3ui = reinterpret_cast(context->getProcAddress("glNormalP3ui")); - MultiTexCoordP4uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP4uiv")); - MultiTexCoordP4ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP4ui")); - MultiTexCoordP3uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP3uiv")); - MultiTexCoordP3ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP3ui")); - MultiTexCoordP2uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP2uiv")); - MultiTexCoordP2ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP2ui")); - MultiTexCoordP1uiv = reinterpret_cast(context->getProcAddress("glMultiTexCoordP1uiv")); - MultiTexCoordP1ui = reinterpret_cast(context->getProcAddress("glMultiTexCoordP1ui")); - TexCoordP4uiv = reinterpret_cast(context->getProcAddress("glTexCoordP4uiv")); - TexCoordP4ui = reinterpret_cast(context->getProcAddress("glTexCoordP4ui")); - TexCoordP3uiv = reinterpret_cast(context->getProcAddress("glTexCoordP3uiv")); - TexCoordP3ui = reinterpret_cast(context->getProcAddress("glTexCoordP3ui")); - TexCoordP2uiv = reinterpret_cast(context->getProcAddress("glTexCoordP2uiv")); - TexCoordP2ui = reinterpret_cast(context->getProcAddress("glTexCoordP2ui")); - TexCoordP1uiv = reinterpret_cast(context->getProcAddress("glTexCoordP1uiv")); - TexCoordP1ui = reinterpret_cast(context->getProcAddress("glTexCoordP1ui")); - VertexP4uiv = reinterpret_cast(context->getProcAddress("glVertexP4uiv")); - VertexP4ui = reinterpret_cast(context->getProcAddress("glVertexP4ui")); - VertexP3uiv = reinterpret_cast(context->getProcAddress("glVertexP3uiv")); - VertexP3ui = reinterpret_cast(context->getProcAddress("glVertexP3ui")); - VertexP2uiv = reinterpret_cast(context->getProcAddress("glVertexP2uiv")); - VertexP2ui = reinterpret_cast(context->getProcAddress("glVertexP2ui")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_3_DeprecatedBackend, QT_OPENGL_3_3_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::DeprecatedStatus); @@ -2085,22 +631,11 @@ QOpenGLVersionStatus QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus() QOpenGLFunctions_4_5_DeprecatedBackend::QOpenGLFunctions_4_5_DeprecatedBackend(QOpenGLContext *context) : QOpenGLVersionFunctionsBackend(context) { - // OpenGL 4.5 deprecated functions - GetnMinmax = reinterpret_cast(context->getProcAddress("glGetnMinmax")); - GetnHistogram = reinterpret_cast(context->getProcAddress("glGetnHistogram")); - GetnSeparableFilter = reinterpret_cast(context->getProcAddress("glGetnSeparableFilter")); - GetnConvolutionFilter = reinterpret_cast(context->getProcAddress("glGetnConvolutionFilter")); - GetnColorTable = reinterpret_cast(context->getProcAddress("glGetnColorTable")); - GetnPolygonStipple = reinterpret_cast(context->getProcAddress("glGetnPolygonStipple")); - GetnPixelMapusv = reinterpret_cast(context->getProcAddress("glGetnPixelMapusv")); - GetnPixelMapuiv = reinterpret_cast(context->getProcAddress("glGetnPixelMapuiv")); - GetnPixelMapfv = reinterpret_cast(context->getProcAddress("glGetnPixelMapfv")); - GetnMapiv = reinterpret_cast(context->getProcAddress("glGetnMapiv")); - GetnMapfv = reinterpret_cast(context->getProcAddress("glGetnMapfv")); - GetnMapdv = reinterpret_cast(context->getProcAddress("glGetnMapdv")); - + init(); } +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_5_DeprecatedBackend, QT_OPENGL_4_5_DEPRECATED_FUNCTIONS) + QOpenGLVersionStatus QOpenGLFunctions_4_5_DeprecatedBackend::versionStatus() { return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::DeprecatedStatus); diff --git a/src/gui/opengl/qopenglversionfunctions.h b/src/gui/opengl/qopenglversionfunctions.h index 20b21b8103..5d58d5248a 100644 --- a/src/gui/opengl/qopenglversionfunctions.h +++ b/src/gui/opengl/qopenglversionfunctions.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) +** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtGui module of the Qt Toolkit. @@ -74,6 +75,23 @@ class QOpenGLContext; qFatal("This function was erroneously included in previous versions of Qt and is here only for binary compatibility. " \ "If you need to use this function, please use a legacy OpenGL version or a Compatibility profile.") +#define QT_OPENGL_DECLARE_FUNCTIONS(ret, name, args) \ + ret (QOPENGLF_APIENTRYP name)args; +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 + +#define QT_OPENGL_DECLARE(FUNCTIONS) \ +public: \ + struct Functions { \ + FUNCTIONS(QT_OPENGL_DECLARE_FUNCTIONS) \ + }; \ + union { \ + QFunctionPointer functions[FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS)]; \ + Functions f; \ + }; \ +private: \ + void init() + + struct QOpenGLVersionStatus { enum OpenGLStatus { @@ -184,55 +202,57 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.0 core functions - void (QOPENGLF_APIENTRYP Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP DepthRange)(GLdouble nearVal, GLdouble farVal); - GLboolean (QOPENGLF_APIENTRYP IsEnabled)(GLenum cap); - void (QOPENGLF_APIENTRYP GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetTexParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); - const GLubyte * (QOPENGLF_APIENTRYP GetString)(GLenum name); - void (QOPENGLF_APIENTRYP GetIntegerv)(GLenum pname, GLint *data); - void (QOPENGLF_APIENTRYP GetFloatv)(GLenum pname, GLfloat *data); - GLenum (QOPENGLF_APIENTRYP GetError)(); - void (QOPENGLF_APIENTRYP GetDoublev)(GLenum pname, GLdouble *data); - void (QOPENGLF_APIENTRYP GetBooleanv)(GLenum pname, GLboolean *data); - void (QOPENGLF_APIENTRYP ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); - void (QOPENGLF_APIENTRYP ReadBuffer)(GLenum src); - void (QOPENGLF_APIENTRYP PixelStorei)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP PixelStoref)(GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP DepthFunc)(GLenum func); - void (QOPENGLF_APIENTRYP StencilOp)(GLenum fail, GLenum zfail, GLenum zpass); - void (QOPENGLF_APIENTRYP StencilFunc)(GLenum func, GLint ref, GLuint mask); - void (QOPENGLF_APIENTRYP LogicOp)(GLenum opcode); - void (QOPENGLF_APIENTRYP BlendFunc)(GLenum sfactor, GLenum dfactor); - void (QOPENGLF_APIENTRYP Flush)(); - void (QOPENGLF_APIENTRYP Finish)(); - void (QOPENGLF_APIENTRYP Enable)(GLenum cap); - void (QOPENGLF_APIENTRYP Disable)(GLenum cap); - void (QOPENGLF_APIENTRYP DepthMask)(GLboolean flag); - void (QOPENGLF_APIENTRYP ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - void (QOPENGLF_APIENTRYP StencilMask)(GLuint mask); - void (QOPENGLF_APIENTRYP ClearDepth)(GLdouble depth); - void (QOPENGLF_APIENTRYP ClearStencil)(GLint s); - void (QOPENGLF_APIENTRYP ClearColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); - void (QOPENGLF_APIENTRYP Clear)(GLbitfield mask); - void (QOPENGLF_APIENTRYP DrawBuffer)(GLenum buf); - void (QOPENGLF_APIENTRYP TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP TexParameteriv)(GLenum target, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP TexParameteri)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP TexParameterfv)(GLenum target, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP TexParameterf)(GLenum target, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP Scissor)(GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP PolygonMode)(GLenum face, GLenum mode); - void (QOPENGLF_APIENTRYP PointSize)(GLfloat size); - void (QOPENGLF_APIENTRYP LineWidth)(GLfloat width); - void (QOPENGLF_APIENTRYP Hint)(GLenum target, GLenum mode); - void (QOPENGLF_APIENTRYP FrontFace)(GLenum mode); - void (QOPENGLF_APIENTRYP CullFace)(GLenum mode); - +#define QT_OPENGL_1_0_FUNCTIONS(F) \ + F(void, Viewport, (GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, DepthRange, (GLdouble nearVal, GLdouble farVal)) \ + F(GLboolean, IsEnabled, (GLenum cap)) \ + F(void, GetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint *params)) \ + F(void, GetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat *params)) \ + F(void, GetTexParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, GetTexParameterfv, (GLenum target, GLenum pname, GLfloat *params)) \ + F(void, GetTexImage, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)) \ + F(const GLubyte *, GetString, (GLenum name)) \ + F(void, GetIntegerv, (GLenum pname, GLint *data)) \ + F(void, GetFloatv, (GLenum pname, GLfloat *data)) \ + F(GLenum, GetError, ()) \ + F(void, GetDoublev, (GLenum pname, GLdouble *data)) \ + F(void, GetBooleanv, (GLenum pname, GLboolean *data)) \ + F(void, ReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)) \ + F(void, ReadBuffer, (GLenum src)) \ + F(void, PixelStorei, (GLenum pname, GLint param)) \ + F(void, PixelStoref, (GLenum pname, GLfloat param)) \ + F(void, DepthFunc, (GLenum func)) \ + F(void, StencilOp, (GLenum fail, GLenum zfail, GLenum zpass)) \ + F(void, StencilFunc, (GLenum func, GLint ref, GLuint mask)) \ + F(void, LogicOp, (GLenum opcode)) \ + F(void, BlendFunc, (GLenum sfactor, GLenum dfactor)) \ + F(void, Flush, ()) \ + F(void, Finish, ()) \ + F(void, Enable, (GLenum cap)) \ + F(void, Disable, (GLenum cap)) \ + F(void, DepthMask, (GLboolean flag)) \ + F(void, ColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)) \ + F(void, StencilMask, (GLuint mask)) \ + F(void, ClearDepth, (GLdouble depth)) \ + F(void, ClearStencil, (GLint s)) \ + F(void, ClearColor, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) \ + F(void, Clear, (GLbitfield mask)) \ + F(void, DrawBuffer, (GLenum buf)) \ + F(void, TexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) \ + F(void, TexImage1D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) \ + F(void, TexParameteriv, (GLenum target, GLenum pname, const GLint *params)) \ + F(void, TexParameteri, (GLenum target, GLenum pname, GLint param)) \ + F(void, TexParameterfv, (GLenum target, GLenum pname, const GLfloat *params)) \ + F(void, TexParameterf, (GLenum target, GLenum pname, GLfloat param)) \ + F(void, Scissor, (GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, PolygonMode, (GLenum face, GLenum mode)) \ + F(void, PointSize, (GLfloat size)) \ + F(void, LineWidth, (GLfloat width)) \ + F(void, Hint, (GLenum target, GLenum mode)) \ + F(void, FrontFace, (GLenum mode)) \ + F(void, CullFace, (GLenum mode)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_0_FUNCTIONS); }; class QOpenGLFunctions_1_1_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -243,23 +263,25 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.1 core functions - void (QOPENGLF_APIENTRYP Indexubv)(const GLubyte *c); - void (QOPENGLF_APIENTRYP Indexub)(GLubyte c); - GLboolean (QOPENGLF_APIENTRYP IsTexture)(GLuint texture); - void (QOPENGLF_APIENTRYP GenTextures)(GLsizei n, GLuint *textures); - void (QOPENGLF_APIENTRYP DeleteTextures)(GLsizei n, const GLuint *textures); - void (QOPENGLF_APIENTRYP BindTexture)(GLenum target, GLuint texture); - void (QOPENGLF_APIENTRYP TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); - void (QOPENGLF_APIENTRYP CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - void (QOPENGLF_APIENTRYP CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); - void (QOPENGLF_APIENTRYP PolygonOffset)(GLfloat factor, GLfloat units); - void (QOPENGLF_APIENTRYP GetPointerv)(GLenum pname, GLvoid* *params); - void (QOPENGLF_APIENTRYP DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); - void (QOPENGLF_APIENTRYP DrawArrays)(GLenum mode, GLint first, GLsizei count); - +#define QT_OPENGL_1_1_FUNCTIONS(F) \ + F(void, Indexubv, (const GLubyte *c)) \ + F(void, Indexub, (GLubyte c)) \ + F(GLboolean, IsTexture, (GLuint texture)) \ + F(void, GenTextures, (GLsizei n, GLuint *textures)) \ + F(void, DeleteTextures, (GLsizei n, const GLuint *textures)) \ + F(void, BindTexture, (GLenum target, GLuint texture)) \ + F(void, TexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)) \ + F(void, TexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)) \ + F(void, CopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, CopyTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) \ + F(void, CopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) \ + F(void, CopyTexImage1D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)) \ + F(void, PolygonOffset, (GLfloat factor, GLfloat units)) \ + F(void, GetPointerv, (GLenum pname, GLvoid* *params)) \ + F(void, DrawElements, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)) \ + F(void, DrawArrays, (GLenum mode, GLint first, GLsizei count)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_1_FUNCTIONS); }; class QOpenGLFunctions_1_2_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -270,13 +292,15 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.2 core functions - void (QOPENGLF_APIENTRYP CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); - void (QOPENGLF_APIENTRYP BlendEquation)(GLenum mode); - void (QOPENGLF_APIENTRYP BlendColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); - +#define QT_OPENGL_1_2_FUNCTIONS(F) \ + F(void, CopyTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, TexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels)) \ + F(void, TexImage3D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) \ + F(void, DrawRangeElements, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices)) \ + F(void, BlendEquation, (GLenum mode)) \ + F(void, BlendColor, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_2_FUNCTIONS); }; class QOpenGLFunctions_1_3_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -287,16 +311,18 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.3 core functions - void (QOPENGLF_APIENTRYP GetCompressedTexImage)(GLenum target, GLint level, GLvoid *img); - void (QOPENGLF_APIENTRYP CompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data); - void (QOPENGLF_APIENTRYP CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data); - void (QOPENGLF_APIENTRYP CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data); - void (QOPENGLF_APIENTRYP CompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data); - void (QOPENGLF_APIENTRYP CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data); - void (QOPENGLF_APIENTRYP CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data); - void (QOPENGLF_APIENTRYP SampleCoverage)(GLfloat value, GLboolean invert); - void (QOPENGLF_APIENTRYP ActiveTexture)(GLenum texture); - +#define QT_OPENGL_1_3_FUNCTIONS(F) \ + F(void, GetCompressedTexImage, (GLenum target, GLint level, GLvoid *img)) \ + F(void, CompressedTexSubImage1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data)) \ + F(void, CompressedTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data)) \ + F(void, CompressedTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data)) \ + F(void, CompressedTexImage1D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data)) \ + F(void, CompressedTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data)) \ + F(void, CompressedTexImage3D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data)) \ + F(void, SampleCoverage, (GLfloat value, GLboolean invert)) \ + F(void, ActiveTexture, (GLenum texture)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_3_FUNCTIONS); }; class QOpenGLFunctions_1_4_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -307,14 +333,16 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.4 core functions - void (QOPENGLF_APIENTRYP PointParameteriv)(GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP PointParameteri)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP PointParameterfv)(GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP PointParameterf)(GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP MultiDrawElements)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount); - void (QOPENGLF_APIENTRYP MultiDrawArrays)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); - void (QOPENGLF_APIENTRYP BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); - +#define QT_OPENGL_1_4_FUNCTIONS(F) \ + F(void, PointParameteriv, (GLenum pname, const GLint *params)) \ + F(void, PointParameteri, (GLenum pname, GLint param)) \ + F(void, PointParameterfv, (GLenum pname, const GLfloat *params)) \ + F(void, PointParameterf, (GLenum pname, GLfloat param)) \ + F(void, MultiDrawElements, (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount)) \ + F(void, MultiDrawArrays, (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)) \ + F(void, BlendFuncSeparate, (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_4_FUNCTIONS); }; class QOpenGLFunctions_1_5_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -325,26 +353,28 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.5 core functions - void (QOPENGLF_APIENTRYP GetBufferPointerv)(GLenum target, GLenum pname, GLvoid* *params); - void (QOPENGLF_APIENTRYP GetBufferParameteriv)(GLenum target, GLenum pname, GLint *params); - GLboolean (QOPENGLF_APIENTRYP UnmapBuffer)(GLenum target); - GLvoid* (QOPENGLF_APIENTRYP MapBuffer)(GLenum target, GLenum access); - void (QOPENGLF_APIENTRYP GetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data); - void (QOPENGLF_APIENTRYP BufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data); - void (QOPENGLF_APIENTRYP BufferData)(GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage); - GLboolean (QOPENGLF_APIENTRYP IsBuffer)(GLuint buffer); - void (QOPENGLF_APIENTRYP GenBuffers)(GLsizei n, GLuint *buffers); - void (QOPENGLF_APIENTRYP DeleteBuffers)(GLsizei n, const GLuint *buffers); - void (QOPENGLF_APIENTRYP BindBuffer)(GLenum target, GLuint buffer); - void (QOPENGLF_APIENTRYP GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params); - void (QOPENGLF_APIENTRYP GetQueryObjectiv)(GLuint id, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetQueryiv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP EndQuery)(GLenum target); - void (QOPENGLF_APIENTRYP BeginQuery)(GLenum target, GLuint id); - GLboolean (QOPENGLF_APIENTRYP IsQuery)(GLuint id); - void (QOPENGLF_APIENTRYP DeleteQueries)(GLsizei n, const GLuint *ids); - void (QOPENGLF_APIENTRYP GenQueries)(GLsizei n, GLuint *ids); - +#define QT_OPENGL_1_5_FUNCTIONS(F) \ + F(void, GetBufferPointerv, (GLenum target, GLenum pname, GLvoid* *params)) \ + F(void, GetBufferParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(GLboolean, UnmapBuffer, (GLenum target)) \ + F(GLvoid*, MapBuffer, (GLenum target, GLenum access)) \ + F(void, GetBufferSubData, (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)) \ + F(void, BufferSubData, (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data)) \ + F(void, BufferData, (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)) \ + F(GLboolean, IsBuffer, (GLuint buffer)) \ + F(void, GenBuffers, (GLsizei n, GLuint *buffers)) \ + F(void, DeleteBuffers, (GLsizei n, const GLuint *buffers)) \ + F(void, BindBuffer, (GLenum target, GLuint buffer)) \ + F(void, GetQueryObjectuiv, (GLuint id, GLenum pname, GLuint *params)) \ + F(void, GetQueryObjectiv, (GLuint id, GLenum pname, GLint *params)) \ + F(void, GetQueryiv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, EndQuery, (GLenum target)) \ + F(void, BeginQuery, (GLenum target, GLuint id)) \ + F(GLboolean, IsQuery, (GLuint id)) \ + F(void, DeleteQueries, (GLsizei n, const GLuint *ids)) \ + F(void, GenQueries, (GLsizei n, GLuint *ids)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_5_FUNCTIONS); }; class QOpenGLFunctions_2_0_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -355,99 +385,102 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 2.0 core functions - void (QOPENGLF_APIENTRYP VertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP ValidateProgram)(GLuint program); - void (QOPENGLF_APIENTRYP UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP Uniform4iv)(GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP Uniform3iv)(GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP Uniform2iv)(GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP Uniform1iv)(GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP Uniform4fv)(GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP Uniform3fv)(GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP Uniform2fv)(GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP Uniform1fv)(GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP Uniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - void (QOPENGLF_APIENTRYP Uniform3i)(GLint location, GLint v0, GLint v1, GLint v2); - void (QOPENGLF_APIENTRYP Uniform2i)(GLint location, GLint v0, GLint v1); - void (QOPENGLF_APIENTRYP Uniform1i)(GLint location, GLint v0); - void (QOPENGLF_APIENTRYP Uniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - void (QOPENGLF_APIENTRYP Uniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - void (QOPENGLF_APIENTRYP Uniform2f)(GLint location, GLfloat v0, GLfloat v1); - void (QOPENGLF_APIENTRYP Uniform1f)(GLint location, GLfloat v0); - void (QOPENGLF_APIENTRYP UseProgram)(GLuint program); - void (QOPENGLF_APIENTRYP ShaderSource)(GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length); - void (QOPENGLF_APIENTRYP LinkProgram)(GLuint program); - GLboolean (QOPENGLF_APIENTRYP IsShader)(GLuint shader); - GLboolean (QOPENGLF_APIENTRYP IsProgram)(GLuint program); - void (QOPENGLF_APIENTRYP GetVertexAttribPointerv)(GLuint index, GLenum pname, GLvoid* *pointer); - void (QOPENGLF_APIENTRYP GetVertexAttribiv)(GLuint index, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetVertexAttribdv)(GLuint index, GLenum pname, GLdouble *params); - void (QOPENGLF_APIENTRYP GetUniformiv)(GLuint program, GLint location, GLint *params); - void (QOPENGLF_APIENTRYP GetUniformfv)(GLuint program, GLint location, GLfloat *params); - GLint (QOPENGLF_APIENTRYP GetUniformLocation)(GLuint program, const GLchar *name); - void (QOPENGLF_APIENTRYP GetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); - void (QOPENGLF_APIENTRYP GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (QOPENGLF_APIENTRYP GetShaderiv)(GLuint shader, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (QOPENGLF_APIENTRYP GetProgramiv)(GLuint program, GLenum pname, GLint *params); - GLint (QOPENGLF_APIENTRYP GetAttribLocation)(GLuint program, const GLchar *name); - void (QOPENGLF_APIENTRYP GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); - void (QOPENGLF_APIENTRYP GetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); - void (QOPENGLF_APIENTRYP GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); - void (QOPENGLF_APIENTRYP EnableVertexAttribArray)(GLuint index); - void (QOPENGLF_APIENTRYP DisableVertexAttribArray)(GLuint index); - void (QOPENGLF_APIENTRYP DetachShader)(GLuint program, GLuint shader); - void (QOPENGLF_APIENTRYP DeleteShader)(GLuint shader); - void (QOPENGLF_APIENTRYP DeleteProgram)(GLuint program); - GLuint (QOPENGLF_APIENTRYP CreateShader)(GLenum type); - GLuint (QOPENGLF_APIENTRYP CreateProgram)(); - void (QOPENGLF_APIENTRYP CompileShader)(GLuint shader); - void (QOPENGLF_APIENTRYP BindAttribLocation)(GLuint program, GLuint index, const GLchar *name); - void (QOPENGLF_APIENTRYP AttachShader)(GLuint program, GLuint shader); - void (QOPENGLF_APIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); - void (QOPENGLF_APIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); - void (QOPENGLF_APIENTRYP StencilOpSeparate)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); - void (QOPENGLF_APIENTRYP DrawBuffers)(GLsizei n, const GLenum *bufs); - void (QOPENGLF_APIENTRYP BlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha); - void (QOPENGLF_APIENTRYP VertexAttrib4usv)(GLuint index, const GLushort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4ubv)(GLuint index, const GLubyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib4sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); - void (QOPENGLF_APIENTRYP VertexAttrib4iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP VertexAttrib4dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - void (QOPENGLF_APIENTRYP VertexAttrib4bv)(GLuint index, const GLbyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nusv)(GLuint index, const GLushort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nuiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nubv)(GLuint index, const GLubyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); - void (QOPENGLF_APIENTRYP VertexAttrib4Nsv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Niv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nbv)(GLuint index, const GLbyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib3sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z); - void (QOPENGLF_APIENTRYP VertexAttrib3fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP VertexAttrib3dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP VertexAttrib2sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib2s)(GLuint index, GLshort x, GLshort y); - void (QOPENGLF_APIENTRYP VertexAttrib2fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib2f)(GLuint index, GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP VertexAttrib2dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib2d)(GLuint index, GLdouble x, GLdouble y); - void (QOPENGLF_APIENTRYP VertexAttrib1sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib1s)(GLuint index, GLshort x); - void (QOPENGLF_APIENTRYP VertexAttrib1fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib1f)(GLuint index, GLfloat x); - void (QOPENGLF_APIENTRYP VertexAttrib1dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib1d)(GLuint index, GLdouble x); +#define QT_OPENGL_2_0_FUNCTIONS(F) \ + F(void, VertexAttribPointer, (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer)) \ + F(void, ValidateProgram, (GLuint program)) \ + F(void, UniformMatrix4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, Uniform4iv, (GLint location, GLsizei count, const GLint *value)) \ + F(void, Uniform3iv, (GLint location, GLsizei count, const GLint *value)) \ + F(void, Uniform2iv, (GLint location, GLsizei count, const GLint *value)) \ + F(void, Uniform1iv, (GLint location, GLsizei count, const GLint *value)) \ + F(void, Uniform4fv, (GLint location, GLsizei count, const GLfloat *value)) \ + F(void, Uniform3fv, (GLint location, GLsizei count, const GLfloat *value)) \ + F(void, Uniform2fv, (GLint location, GLsizei count, const GLfloat *value)) \ + F(void, Uniform1fv, (GLint location, GLsizei count, const GLfloat *value)) \ + F(void, Uniform4i, (GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) \ + F(void, Uniform3i, (GLint location, GLint v0, GLint v1, GLint v2)) \ + F(void, Uniform2i, (GLint location, GLint v0, GLint v1)) \ + F(void, Uniform1i, (GLint location, GLint v0)) \ + F(void, Uniform4f, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) \ + F(void, Uniform3f, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) \ + F(void, Uniform2f, (GLint location, GLfloat v0, GLfloat v1)) \ + F(void, Uniform1f, (GLint location, GLfloat v0)) \ + F(void, UseProgram, (GLuint program)) \ + F(void, ShaderSource, (GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length)) \ + F(void, LinkProgram, (GLuint program)) \ + F(GLboolean, IsShader, (GLuint shader)) \ + F(GLboolean, IsProgram, (GLuint program)) \ + F(void, GetVertexAttribPointerv, (GLuint index, GLenum pname, GLvoid* *pointer)) \ + F(void, GetVertexAttribiv, (GLuint index, GLenum pname, GLint *params)) \ + F(void, GetVertexAttribfv, (GLuint index, GLenum pname, GLfloat *params)) \ + F(void, GetVertexAttribdv, (GLuint index, GLenum pname, GLdouble *params)) \ + F(void, GetUniformiv, (GLuint program, GLint location, GLint *params)) \ + F(void, GetUniformfv, (GLuint program, GLint location, GLfloat *params)) \ + F(GLint, GetUniformLocation, (GLuint program, const GLchar *name)) \ + F(void, GetShaderSource, (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)) \ + F(void, GetShaderInfoLog, (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) \ + F(void, GetShaderiv, (GLuint shader, GLenum pname, GLint *params)) \ + F(void, GetProgramInfoLog, (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) \ + F(void, GetProgramiv, (GLuint program, GLenum pname, GLint *params)) \ + F(GLint, GetAttribLocation, (GLuint program, const GLchar *name)) \ + F(void, GetAttachedShaders, (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)) \ + F(void, GetActiveUniform, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)) \ + F(void, GetActiveAttrib, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)) \ + F(void, EnableVertexAttribArray, (GLuint index)) \ + F(void, DisableVertexAttribArray, (GLuint index)) \ + F(void, DetachShader, (GLuint program, GLuint shader)) \ + F(void, DeleteShader, (GLuint shader)) \ + F(void, DeleteProgram, (GLuint program)) \ + F(GLuint, CreateShader, (GLenum type)) \ + F(GLuint, CreateProgram, ()) \ + F(void, CompileShader, (GLuint shader)) \ + F(void, BindAttribLocation, (GLuint program, GLuint index, const GLchar *name)) \ + F(void, AttachShader, (GLuint program, GLuint shader)) \ + F(void, StencilMaskSeparate, (GLenum face, GLuint mask)) \ + F(void, StencilFuncSeparate, (GLenum face, GLenum func, GLint ref, GLuint mask)) \ + F(void, StencilOpSeparate, (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)) \ + F(void, DrawBuffers, (GLsizei n, const GLenum *bufs)) \ + F(void, BlendEquationSeparate, (GLenum modeRGB, GLenum modeAlpha)) \ + F(void, VertexAttrib4usv, (GLuint index, const GLushort *v)) \ + F(void, VertexAttrib4uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttrib4ubv, (GLuint index, const GLubyte *v)) \ + F(void, VertexAttrib4sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib4s, (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)) \ + F(void, VertexAttrib4iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttrib4fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib4f, (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, VertexAttrib4dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib4d, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) \ + F(void, VertexAttrib4bv, (GLuint index, const GLbyte *v)) \ + F(void, VertexAttrib4Nusv, (GLuint index, const GLushort *v)) \ + F(void, VertexAttrib4Nuiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttrib4Nubv, (GLuint index, const GLubyte *v)) \ + F(void, VertexAttrib4Nub, (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)) \ + F(void, VertexAttrib4Nsv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib4Niv, (GLuint index, const GLint *v)) \ + F(void, VertexAttrib4Nbv, (GLuint index, const GLbyte *v)) \ + F(void, VertexAttrib3sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib3s, (GLuint index, GLshort x, GLshort y, GLshort z)) \ + F(void, VertexAttrib3fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib3f, (GLuint index, GLfloat x, GLfloat y, GLfloat z)) \ + F(void, VertexAttrib3dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib3d, (GLuint index, GLdouble x, GLdouble y, GLdouble z)) \ + F(void, VertexAttrib2sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib2s, (GLuint index, GLshort x, GLshort y)) \ + F(void, VertexAttrib2fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib2f, (GLuint index, GLfloat x, GLfloat y)) \ + F(void, VertexAttrib2dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib2d, (GLuint index, GLdouble x, GLdouble y)) \ + F(void, VertexAttrib1sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib1s, (GLuint index, GLshort x)) \ + F(void, VertexAttrib1fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib1f, (GLuint index, GLfloat x)) \ + F(void, VertexAttrib1dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib1d, (GLuint index, GLdouble x)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_2_0_FUNCTIONS); }; class QOpenGLFunctions_2_1_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -458,13 +491,15 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 2.1 core functions - void (QOPENGLF_APIENTRYP UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - +#define QT_OPENGL_2_1_FUNCTIONS(F) \ + F(void, UniformMatrix4x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix3x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix4x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix2x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix3x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix2x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_2_1_FUNCTIONS); }; class QOpenGLFunctions_3_0_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -475,90 +510,93 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 3.0 core functions - GLboolean (QOPENGLF_APIENTRYP IsVertexArray)(GLuint array); - void (QOPENGLF_APIENTRYP GenVertexArrays)(GLsizei n, GLuint *arrays); - void (QOPENGLF_APIENTRYP DeleteVertexArrays)(GLsizei n, const GLuint *arrays); - void (QOPENGLF_APIENTRYP BindVertexArray)(GLuint array); - void (QOPENGLF_APIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); - GLvoid* (QOPENGLF_APIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - void (QOPENGLF_APIENTRYP FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); - void (QOPENGLF_APIENTRYP RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - void (QOPENGLF_APIENTRYP GenerateMipmap)(GLenum target); - void (QOPENGLF_APIENTRYP GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - void (QOPENGLF_APIENTRYP FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); - void (QOPENGLF_APIENTRYP FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - void (QOPENGLF_APIENTRYP FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - GLenum (QOPENGLF_APIENTRYP CheckFramebufferStatus)(GLenum target); - void (QOPENGLF_APIENTRYP GenFramebuffers)(GLsizei n, GLuint *framebuffers); - void (QOPENGLF_APIENTRYP DeleteFramebuffers)(GLsizei n, const GLuint *framebuffers); - void (QOPENGLF_APIENTRYP BindFramebuffer)(GLenum target, GLuint framebuffer); - GLboolean (QOPENGLF_APIENTRYP IsFramebuffer)(GLuint framebuffer); - void (QOPENGLF_APIENTRYP GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP GenRenderbuffers)(GLsizei n, GLuint *renderbuffers); - void (QOPENGLF_APIENTRYP DeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers); - void (QOPENGLF_APIENTRYP BindRenderbuffer)(GLenum target, GLuint renderbuffer); - GLboolean (QOPENGLF_APIENTRYP IsRenderbuffer)(GLuint renderbuffer); - const GLubyte * (QOPENGLF_APIENTRYP GetStringi)(GLenum name, GLuint index); - void (QOPENGLF_APIENTRYP ClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); - void (QOPENGLF_APIENTRYP ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value); - void (QOPENGLF_APIENTRYP ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value); - void (QOPENGLF_APIENTRYP ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value); - void (QOPENGLF_APIENTRYP GetTexParameterIuiv)(GLenum target, GLenum pname, GLuint *params); - void (QOPENGLF_APIENTRYP GetTexParameterIiv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP TexParameterIuiv)(GLenum target, GLenum pname, const GLuint *params); - void (QOPENGLF_APIENTRYP TexParameterIiv)(GLenum target, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP Uniform4uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform3uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform2uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform1uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - void (QOPENGLF_APIENTRYP Uniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2); - void (QOPENGLF_APIENTRYP Uniform2ui)(GLint location, GLuint v0, GLuint v1); - void (QOPENGLF_APIENTRYP Uniform1ui)(GLint location, GLuint v0); - GLint (QOPENGLF_APIENTRYP GetFragDataLocation)(GLuint program, const GLchar *name); - void (QOPENGLF_APIENTRYP BindFragDataLocation)(GLuint program, GLuint color, const GLchar *name); - void (QOPENGLF_APIENTRYP GetUniformuiv)(GLuint program, GLint location, GLuint *params); - void (QOPENGLF_APIENTRYP GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params); - void (QOPENGLF_APIENTRYP GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP EndConditionalRender)(); - void (QOPENGLF_APIENTRYP BeginConditionalRender)(GLuint id, GLenum mode); - void (QOPENGLF_APIENTRYP ClampColor)(GLenum target, GLenum clamp); - void (QOPENGLF_APIENTRYP GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); - void (QOPENGLF_APIENTRYP TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode); - void (QOPENGLF_APIENTRYP BindBufferBase)(GLenum target, GLuint index, GLuint buffer); - void (QOPENGLF_APIENTRYP BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); - void (QOPENGLF_APIENTRYP EndTransformFeedback)(); - void (QOPENGLF_APIENTRYP BeginTransformFeedback)(GLenum primitiveMode); - GLboolean (QOPENGLF_APIENTRYP IsEnabledi)(GLenum target, GLuint index); - void (QOPENGLF_APIENTRYP Disablei)(GLenum target, GLuint index); - void (QOPENGLF_APIENTRYP Enablei)(GLenum target, GLuint index); - void (QOPENGLF_APIENTRYP GetIntegeri_v)(GLenum target, GLuint index, GLint *data); - void (QOPENGLF_APIENTRYP GetBooleani_v)(GLenum target, GLuint index, GLboolean *data); - void (QOPENGLF_APIENTRYP ColorMaski)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); - void (QOPENGLF_APIENTRYP VertexAttribI4usv)(GLuint index, const GLushort *v); - void (QOPENGLF_APIENTRYP VertexAttribI4ubv)(GLuint index, const GLubyte *v); - void (QOPENGLF_APIENTRYP VertexAttribI4sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttribI4bv)(GLuint index, const GLbyte *v); - void (QOPENGLF_APIENTRYP VertexAttribI4uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI3uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI2uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI1uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI4iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI3iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI2iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI1iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); - void (QOPENGLF_APIENTRYP VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z); - void (QOPENGLF_APIENTRYP VertexAttribI2ui)(GLuint index, GLuint x, GLuint y); - void (QOPENGLF_APIENTRYP VertexAttribI1ui)(GLuint index, GLuint x); - void (QOPENGLF_APIENTRYP VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z); - void (QOPENGLF_APIENTRYP VertexAttribI2i)(GLuint index, GLint x, GLint y); - void (QOPENGLF_APIENTRYP VertexAttribI1i)(GLuint index, GLint x); +#define QT_OPENGL_3_0_FUNCTIONS(F) \ + F(GLboolean, IsVertexArray, (GLuint array)) \ + F(void, GenVertexArrays, (GLsizei n, GLuint *arrays)) \ + F(void, DeleteVertexArrays, (GLsizei n, const GLuint *arrays)) \ + F(void, BindVertexArray, (GLuint array)) \ + F(void, FlushMappedBufferRange, (GLenum target, GLintptr offset, GLsizeiptr length)) \ + F(GLvoid *, MapBufferRange, (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)) \ + F(void, FramebufferTextureLayer, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) \ + F(void, RenderbufferStorageMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, BlitFramebuffer, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) \ + F(void, GenerateMipmap, (GLenum target)) \ + F(void, GetFramebufferAttachmentParameteriv, (GLenum target, GLenum attachment, GLenum pname, GLint *params)) \ + F(void, FramebufferRenderbuffer, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) \ + F(void, FramebufferTexture3D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) \ + F(void, FramebufferTexture2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) \ + F(void, FramebufferTexture1D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) \ + F(GLenum, CheckFramebufferStatus, (GLenum target)) \ + F(void, GenFramebuffers, (GLsizei n, GLuint *framebuffers)) \ + F(void, DeleteFramebuffers, (GLsizei n, const GLuint *framebuffers)) \ + F(void, BindFramebuffer, (GLenum target, GLuint framebuffer)) \ + F(GLboolean, IsFramebuffer, (GLuint framebuffer)) \ + F(void, GetRenderbufferParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, RenderbufferStorage, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, GenRenderbuffers, (GLsizei n, GLuint *renderbuffers)) \ + F(void, DeleteRenderbuffers, (GLsizei n, const GLuint *renderbuffers)) \ + F(void, BindRenderbuffer, (GLenum target, GLuint renderbuffer)) \ + F(GLboolean, IsRenderbuffer, (GLuint renderbuffer)) \ + F(const GLubyte *, GetStringi, (GLenum name, GLuint index)) \ + F(void, ClearBufferfi, (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)) \ + F(void, ClearBufferfv, (GLenum buffer, GLint drawbuffer, const GLfloat *value)) \ + F(void, ClearBufferuiv, (GLenum buffer, GLint drawbuffer, const GLuint *value)) \ + F(void, ClearBufferiv, (GLenum buffer, GLint drawbuffer, const GLint *value)) \ + F(void, GetTexParameterIuiv, (GLenum target, GLenum pname, GLuint *params)) \ + F(void, GetTexParameterIiv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, TexParameterIuiv, (GLenum target, GLenum pname, const GLuint *params)) \ + F(void, TexParameterIiv, (GLenum target, GLenum pname, const GLint *params)) \ + F(void, Uniform4uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, Uniform3uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, Uniform2uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, Uniform1uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, Uniform4ui, (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) \ + F(void, Uniform3ui, (GLint location, GLuint v0, GLuint v1, GLuint v2)) \ + F(void, Uniform2ui, (GLint location, GLuint v0, GLuint v1)) \ + F(void, Uniform1ui, (GLint location, GLuint v0)) \ + F(GLint, GetFragDataLocation, (GLuint program, const GLchar *name)) \ + F(void, BindFragDataLocation, (GLuint program, GLuint color, const GLchar *name)) \ + F(void, GetUniformuiv, (GLuint program, GLint location, GLuint *params)) \ + F(void, GetVertexAttribIuiv, (GLuint index, GLenum pname, GLuint *params)) \ + F(void, GetVertexAttribIiv, (GLuint index, GLenum pname, GLint *params)) \ + F(void, VertexAttribIPointer, (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, EndConditionalRender, ()) \ + F(void, BeginConditionalRender, (GLuint id, GLenum mode)) \ + F(void, ClampColor, (GLenum target, GLenum clamp)) \ + F(void, GetTransformFeedbackVarying, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) \ + F(void, TransformFeedbackVaryings, (GLuint program, GLsizei count, const GLchar* const *varyings, GLenum bufferMode)) \ + F(void, BindBufferBase, (GLenum target, GLuint index, GLuint buffer)) \ + F(void, BindBufferRange, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) \ + F(void, EndTransformFeedback, ()) \ + F(void, BeginTransformFeedback, (GLenum primitiveMode)) \ + F(GLboolean, IsEnabledi, (GLenum target, GLuint index)) \ + F(void, Disablei, (GLenum target, GLuint index)) \ + F(void, Enablei, (GLenum target, GLuint index)) \ + F(void, GetIntegeri_v,(GLenum target, GLuint index, GLint *data)) \ + F(void, GetBooleani_v,(GLenum target, GLuint index, GLboolean *data)) \ + F(void, ColorMaski, (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a)) \ + F(void, VertexAttribI4usv, (GLuint index, const GLushort *v)) \ + F(void, VertexAttribI4ubv, (GLuint index, const GLubyte *v)) \ + F(void, VertexAttribI4sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttribI4bv, (GLuint index, const GLbyte *v)) \ + F(void, VertexAttribI4uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI3uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI2uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI1uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI4iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI3iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI2iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI1iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI4ui, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) \ + F(void, VertexAttribI3ui, (GLuint index, GLuint x, GLuint y, GLuint z)) \ + F(void, VertexAttribI2ui, (GLuint index, GLuint x, GLuint y)) \ + F(void, VertexAttribI1ui, (GLuint index, GLuint x)) \ + F(void, VertexAttribI4i, (GLuint index, GLint x, GLint y, GLint z, GLint w)) \ + F(void, VertexAttribI3i, (GLuint index, GLint x, GLint y, GLint z)) \ + F(void, VertexAttribI2i, (GLuint index, GLint x, GLint y)) \ + F(void, VertexAttribI1i, (GLuint index, GLint x)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_3_0_FUNCTIONS); }; class QOpenGLFunctions_3_1_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -569,19 +607,21 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 3.1 core functions - void (QOPENGLF_APIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); - void (QOPENGLF_APIENTRYP UniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); - void (QOPENGLF_APIENTRYP GetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); - void (QOPENGLF_APIENTRYP GetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); - GLuint (QOPENGLF_APIENTRYP GetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName); - void (QOPENGLF_APIENTRYP GetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); - void (QOPENGLF_APIENTRYP GetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices); - void (QOPENGLF_APIENTRYP PrimitiveRestartIndex)(GLuint index); - void (QOPENGLF_APIENTRYP TexBuffer)(GLenum target, GLenum internalformat, GLuint buffer); - void (QOPENGLF_APIENTRYP DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount); - void (QOPENGLF_APIENTRYP DrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); - +#define QT_OPENGL_3_1_FUNCTIONS(F) \ + F(void, CopyBufferSubData, (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)) \ + F(void, UniformBlockBinding, (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)) \ + F(void, GetActiveUniformBlockName, (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)) \ + F(void, GetActiveUniformBlockiv, (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)) \ + F(GLuint, GetUniformBlockIndex, (GLuint program, const GLchar *uniformBlockName)) \ + F(void, GetActiveUniformName, (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)) \ + F(void, GetActiveUniformsiv, (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)) \ + F(void, GetUniformIndices, (GLuint program, GLsizei uniformCount, const GLchar* const *uniformNames, GLuint *uniformIndices)) \ + F(void, PrimitiveRestartIndex, (GLuint index)) \ + F(void, TexBuffer, (GLenum target, GLenum internalformat, GLuint buffer)) \ + F(void, DrawElementsInstanced, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount)) \ + F(void, DrawArraysInstanced, (GLenum mode, GLint first, GLsizei count, GLsizei instancecount)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_3_1_FUNCTIONS); }; class QOpenGLFunctions_3_2_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -592,26 +632,28 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 3.2 core functions - void (QOPENGLF_APIENTRYP SampleMaski)(GLuint maskNumber, GLbitfield mask); - void (QOPENGLF_APIENTRYP GetMultisamplefv)(GLenum pname, GLuint index, GLfloat *val); - void (QOPENGLF_APIENTRYP TexImage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP TexImage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); - void (QOPENGLF_APIENTRYP GetInteger64v)(GLenum pname, GLint64 *data); - void (QOPENGLF_APIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); - GLenum (QOPENGLF_APIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); - void (QOPENGLF_APIENTRYP DeleteSync)(GLsync sync); - GLboolean (QOPENGLF_APIENTRYP IsSync)(GLsync sync); - GLsync (QOPENGLF_APIENTRYP FenceSync)(GLenum condition, GLbitfield flags); - void (QOPENGLF_APIENTRYP ProvokingVertex)(GLenum mode); - void (QOPENGLF_APIENTRYP MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex); - void (QOPENGLF_APIENTRYP DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex); - void (QOPENGLF_APIENTRYP DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); - void (QOPENGLF_APIENTRYP DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex); - void (QOPENGLF_APIENTRYP FramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level); - void (QOPENGLF_APIENTRYP GetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 *params); - void (QOPENGLF_APIENTRYP GetInteger64i_v)(GLenum target, GLuint index, GLint64 *data); - +#define QT_OPENGL_3_2_FUNCTIONS(F) \ + F(void, SampleMaski, (GLuint maskNumber, GLbitfield mask)) \ + F(void, GetMultisamplefv, (GLenum pname, GLuint index, GLfloat *val)) \ + F(void, TexImage3DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)) \ + F(void, TexImage2DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)) \ + F(void, GetSynciv, (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)) \ + F(void, GetInteger64v, (GLenum pname, GLint64 *data)) \ + F(void, WaitSync, (GLsync sync, GLbitfield flags, GLuint64 timeout)) \ + F(GLenum, ClientWaitSync, (GLsync sync, GLbitfield flags, GLuint64 timeout)) \ + F(void, DeleteSync, (GLsync sync)) \ + F(GLboolean, IsSync, (GLsync sync)) \ + F(GLsync, FenceSync, (GLenum condition, GLbitfield flags)) \ + F(void, ProvokingVertex, (GLenum mode)) \ + F(void, MultiDrawElementsBaseVertex, (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei drawcount, const GLint *basevertex)) \ + F(void, DrawElementsInstancedBaseVertex, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei instancecount, GLint basevertex)) \ + F(void, DrawRangeElementsBaseVertex, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)) \ + F(void, DrawElementsBaseVertex, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex)) \ + F(void, FramebufferTexture, (GLenum target, GLenum attachment, GLuint texture, GLint level)) \ + F(void, GetBufferParameteri64v, (GLenum target, GLenum pname, GLint64 *params)) \ + F(void, GetInteger64i_v,(GLenum target, GLuint index, GLint64 *data)) + + QT_OPENGL_DECLARE(QT_OPENGL_3_2_FUNCTIONS); }; class QOpenGLFunctions_3_3_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -622,65 +664,67 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 3.3 core functions - void (QOPENGLF_APIENTRYP VertexAttribP4uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexAttribP4ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); - void (QOPENGLF_APIENTRYP VertexAttribP3uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexAttribP3ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); - void (QOPENGLF_APIENTRYP VertexAttribP2uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexAttribP2ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); - void (QOPENGLF_APIENTRYP VertexAttribP1uiv)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexAttribP1ui)(GLuint index, GLenum type, GLboolean normalized, GLuint value); - void (QOPENGLF_APIENTRYP SecondaryColorP3uiv)(GLenum type, const GLuint *color); - void (QOPENGLF_APIENTRYP SecondaryColorP3ui)(GLenum type, GLuint color); - void (QOPENGLF_APIENTRYP ColorP4uiv)(GLenum type, const GLuint *color); - void (QOPENGLF_APIENTRYP ColorP4ui)(GLenum type, GLuint color); - void (QOPENGLF_APIENTRYP ColorP3uiv)(GLenum type, const GLuint *color); - void (QOPENGLF_APIENTRYP ColorP3ui)(GLenum type, GLuint color); - void (QOPENGLF_APIENTRYP NormalP3uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP NormalP3ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP4uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP4ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP3uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP3ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP2uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP2ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP1uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP1ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP4uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP4ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP3uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP3ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP2uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP2ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP1uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP1ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP VertexP4uiv)(GLenum type, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexP4ui)(GLenum type, GLuint value); - void (QOPENGLF_APIENTRYP VertexP3uiv)(GLenum type, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexP3ui)(GLenum type, GLuint value); - void (QOPENGLF_APIENTRYP VertexP2uiv)(GLenum type, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexP2ui)(GLenum type, GLuint value); - void (QOPENGLF_APIENTRYP GetQueryObjectui64v)(GLuint id, GLenum pname, GLuint64 *params); - void (QOPENGLF_APIENTRYP GetQueryObjecti64v)(GLuint id, GLenum pname, GLint64 *params); - void (QOPENGLF_APIENTRYP QueryCounter)(GLuint id, GLenum target); - void (QOPENGLF_APIENTRYP GetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint *params); - void (QOPENGLF_APIENTRYP GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP SamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint *param); - void (QOPENGLF_APIENTRYP SamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint *param); - void (QOPENGLF_APIENTRYP SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *param); - void (QOPENGLF_APIENTRYP SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *param); - void (QOPENGLF_APIENTRYP SamplerParameteri)(GLuint sampler, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP BindSampler)(GLuint unit, GLuint sampler); - GLboolean (QOPENGLF_APIENTRYP IsSampler)(GLuint sampler); - void (QOPENGLF_APIENTRYP DeleteSamplers)(GLsizei count, const GLuint *samplers); - void (QOPENGLF_APIENTRYP GenSamplers)(GLsizei count, GLuint *samplers); - GLint (QOPENGLF_APIENTRYP GetFragDataIndex)(GLuint program, const GLchar *name); - void (QOPENGLF_APIENTRYP BindFragDataLocationIndexed)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); - void (QOPENGLF_APIENTRYP VertexAttribDivisor)(GLuint index, GLuint divisor); - +#define QT_OPENGL_3_3_FUNCTIONS(F) \ + F(void, VertexAttribP4uiv, (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)) \ + F(void, VertexAttribP4ui, (GLuint index, GLenum type, GLboolean normalized, GLuint value)) \ + F(void, VertexAttribP3uiv, (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)) \ + F(void, VertexAttribP3ui, (GLuint index, GLenum type, GLboolean normalized, GLuint value)) \ + F(void, VertexAttribP2uiv, (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)) \ + F(void, VertexAttribP2ui, (GLuint index, GLenum type, GLboolean normalized, GLuint value)) \ + F(void, VertexAttribP1uiv, (GLuint index, GLenum type, GLboolean normalized, const GLuint *value)) \ + F(void, VertexAttribP1ui, (GLuint index, GLenum type, GLboolean normalized, GLuint value)) \ + F(void, SecondaryColorP3uiv, (GLenum type, const GLuint *color)) \ + F(void, SecondaryColorP3ui, (GLenum type, GLuint color)) \ + F(void, ColorP4uiv, (GLenum type, const GLuint *color)) \ + F(void, ColorP4ui, (GLenum type, GLuint color)) \ + F(void, ColorP3uiv, (GLenum type, const GLuint *color)) \ + F(void, ColorP3ui, (GLenum type, GLuint color)) \ + F(void, NormalP3uiv, (GLenum type, const GLuint *coords)) \ + F(void, NormalP3ui, (GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP4uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP4ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP3uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP3ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP2uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP2ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP1uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP1ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, TexCoordP4uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP4ui, (GLenum type, GLuint coords)) \ + F(void, TexCoordP3uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP3ui, (GLenum type, GLuint coords)) \ + F(void, TexCoordP2uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP2ui, (GLenum type, GLuint coords)) \ + F(void, TexCoordP1uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP1ui, (GLenum type, GLuint coords)) \ + F(void, VertexP4uiv, (GLenum type, const GLuint *value)) \ + F(void, VertexP4ui, (GLenum type, GLuint value)) \ + F(void, VertexP3uiv, (GLenum type, const GLuint *value)) \ + F(void, VertexP3ui, (GLenum type, GLuint value)) \ + F(void, VertexP2uiv, (GLenum type, const GLuint *value)) \ + F(void, VertexP2ui, (GLenum type, GLuint value)) \ + F(void, GetQueryObjectui64v, (GLuint id, GLenum pname, GLuint64 *params)) \ + F(void, GetQueryObjecti64v, (GLuint id, GLenum pname, GLint64 *params)) \ + F(void, QueryCounter, (GLuint id, GLenum target)) \ + F(void, GetSamplerParameterIuiv, (GLuint sampler, GLenum pname, GLuint *params)) \ + F(void, GetSamplerParameterfv, (GLuint sampler, GLenum pname, GLfloat *params)) \ + F(void, GetSamplerParameterIiv, (GLuint sampler, GLenum pname, GLint *params)) \ + F(void, GetSamplerParameteriv, (GLuint sampler, GLenum pname, GLint *params)) \ + F(void, SamplerParameterIuiv, (GLuint sampler, GLenum pname, const GLuint *param)) \ + F(void, SamplerParameterIiv, (GLuint sampler, GLenum pname, const GLint *param)) \ + F(void, SamplerParameterfv, (GLuint sampler, GLenum pname, const GLfloat *param)) \ + F(void, SamplerParameterf, (GLuint sampler, GLenum pname, GLfloat param)) \ + F(void, SamplerParameteriv, (GLuint sampler, GLenum pname, const GLint *param)) \ + F(void, SamplerParameteri, (GLuint sampler, GLenum pname, GLint param)) \ + F(void, BindSampler, (GLuint unit, GLuint sampler)) \ + F(GLboolean, IsSampler, (GLuint sampler)) \ + F(void, DeleteSamplers, (GLsizei count, const GLuint *samplers)) \ + F(void, GenSamplers, (GLsizei count, GLuint *samplers)) \ + F(GLint, GetFragDataIndex, (GLuint program, const GLchar *name)) \ + F(void, BindFragDataLocationIndexed, (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)) \ + F(void, VertexAttribDivisor, (GLuint index, GLuint divisor)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_3_3_FUNCTIONS); }; class QOpenGLFunctions_4_0_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -691,53 +735,55 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 4.0 core functions - void (QOPENGLF_APIENTRYP GetQueryIndexediv)(GLenum target, GLuint index, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP EndQueryIndexed)(GLenum target, GLuint index); - void (QOPENGLF_APIENTRYP BeginQueryIndexed)(GLenum target, GLuint index, GLuint id); - void (QOPENGLF_APIENTRYP DrawTransformFeedbackStream)(GLenum mode, GLuint id, GLuint stream); - void (QOPENGLF_APIENTRYP DrawTransformFeedback)(GLenum mode, GLuint id); - void (QOPENGLF_APIENTRYP ResumeTransformFeedback)(); - void (QOPENGLF_APIENTRYP PauseTransformFeedback)(); - GLboolean (QOPENGLF_APIENTRYP IsTransformFeedback)(GLuint id); - void (QOPENGLF_APIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint *ids); - void (QOPENGLF_APIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint *ids); - void (QOPENGLF_APIENTRYP BindTransformFeedback)(GLenum target, GLuint id); - void (QOPENGLF_APIENTRYP PatchParameterfv)(GLenum pname, const GLfloat *values); - void (QOPENGLF_APIENTRYP PatchParameteri)(GLenum pname, GLint value); - void (QOPENGLF_APIENTRYP GetProgramStageiv)(GLuint program, GLenum shadertype, GLenum pname, GLint *values); - void (QOPENGLF_APIENTRYP GetUniformSubroutineuiv)(GLenum shadertype, GLint location, GLuint *params); - void (QOPENGLF_APIENTRYP UniformSubroutinesuiv)(GLenum shadertype, GLsizei count, const GLuint *indices); - void (QOPENGLF_APIENTRYP GetActiveSubroutineName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); - void (QOPENGLF_APIENTRYP GetActiveSubroutineUniformName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); - void (QOPENGLF_APIENTRYP GetActiveSubroutineUniformiv)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values); - GLuint (QOPENGLF_APIENTRYP GetSubroutineIndex)(GLuint program, GLenum shadertype, const GLchar *name); - GLint (QOPENGLF_APIENTRYP GetSubroutineUniformLocation)(GLuint program, GLenum shadertype, const GLchar *name); - void (QOPENGLF_APIENTRYP GetUniformdv)(GLuint program, GLint location, GLdouble *params); - void (QOPENGLF_APIENTRYP UniformMatrix4x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix4x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix2x4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix2x3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix4dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix3dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP UniformMatrix2dv)(GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP Uniform4dv)(GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP Uniform3dv)(GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP Uniform2dv)(GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP Uniform1dv)(GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP Uniform4d)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - void (QOPENGLF_APIENTRYP Uniform3d)(GLint location, GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP Uniform2d)(GLint location, GLdouble x, GLdouble y); - void (QOPENGLF_APIENTRYP Uniform1d)(GLint location, GLdouble x); - void (QOPENGLF_APIENTRYP DrawElementsIndirect)(GLenum mode, GLenum type, const GLvoid *indirect); - void (QOPENGLF_APIENTRYP DrawArraysIndirect)(GLenum mode, const GLvoid *indirect); - void (QOPENGLF_APIENTRYP BlendFuncSeparatei)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); - void (QOPENGLF_APIENTRYP BlendFunci)(GLuint buf, GLenum src, GLenum dst); - void (QOPENGLF_APIENTRYP BlendEquationSeparatei)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); - void (QOPENGLF_APIENTRYP BlendEquationi)(GLuint buf, GLenum mode); - void (QOPENGLF_APIENTRYP MinSampleShading)(GLfloat value); - +#define QT_OPENGL_4_0_FUNCTIONS(F) \ + F(void, GetQueryIndexediv, (GLenum target, GLuint index, GLenum pname, GLint *params)) \ + F(void, EndQueryIndexed, (GLenum target, GLuint index)) \ + F(void, BeginQueryIndexed, (GLenum target, GLuint index, GLuint id)) \ + F(void, DrawTransformFeedbackStream, (GLenum mode, GLuint id, GLuint stream)) \ + F(void, DrawTransformFeedback, (GLenum mode, GLuint id)) \ + F(void, ResumeTransformFeedback, ()) \ + F(void, PauseTransformFeedback, ()) \ + F(GLboolean, IsTransformFeedback, (GLuint id)) \ + F(void, GenTransformFeedbacks, (GLsizei n, GLuint *ids)) \ + F(void, DeleteTransformFeedbacks, (GLsizei n, const GLuint *ids)) \ + F(void, BindTransformFeedback, (GLenum target, GLuint id)) \ + F(void, PatchParameterfv, (GLenum pname, const GLfloat *values)) \ + F(void, PatchParameteri, (GLenum pname, GLint value)) \ + F(void, GetProgramStageiv, (GLuint program, GLenum shadertype, GLenum pname, GLint *values)) \ + F(void, GetUniformSubroutineuiv, (GLenum shadertype, GLint location, GLuint *params)) \ + F(void, UniformSubroutinesuiv, (GLenum shadertype, GLsizei count, const GLuint *indices)) \ + F(void, GetActiveSubroutineName, (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)) \ + F(void, GetActiveSubroutineUniformName, (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)) \ + F(void, GetActiveSubroutineUniformiv, (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values)) \ + F(GLuint, GetSubroutineIndex, (GLuint program, GLenum shadertype, const GLchar *name)) \ + F(GLint, GetSubroutineUniformLocation, (GLuint program, GLenum shadertype, const GLchar *name)) \ + F(void, GetUniformdv, (GLuint program, GLint location, GLdouble *params)) \ + F(void, UniformMatrix4x3dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix4x2dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix3x4dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix3x2dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix2x4dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix2x3dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix4dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix3dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, UniformMatrix2dv, (GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, Uniform4dv, (GLint location, GLsizei count, const GLdouble *value)) \ + F(void, Uniform3dv, (GLint location, GLsizei count, const GLdouble *value)) \ + F(void, Uniform2dv, (GLint location, GLsizei count, const GLdouble *value)) \ + F(void, Uniform1dv, (GLint location, GLsizei count, const GLdouble *value)) \ + F(void, Uniform4d, (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) \ + F(void, Uniform3d, (GLint location, GLdouble x, GLdouble y, GLdouble z)) \ + F(void, Uniform2d, (GLint location, GLdouble x, GLdouble y)) \ + F(void, Uniform1d, (GLint location, GLdouble x)) \ + F(void, DrawElementsIndirect, (GLenum mode, GLenum type, const GLvoid *indirect)) \ + F(void, DrawArraysIndirect, (GLenum mode, const GLvoid *indirect)) \ + F(void, BlendFuncSeparatei, (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)) \ + F(void, BlendFunci, (GLuint buf, GLenum src, GLenum dst)) \ + F(void, BlendEquationSeparatei, (GLuint buf, GLenum modeRGB, GLenum modeAlpha)) \ + F(void, BlendEquationi, (GLuint buf, GLenum mode)) \ + F(void, MinSampleShading, (GLfloat value)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_4_0_FUNCTIONS); }; class QOpenGLFunctions_4_1_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -748,95 +794,97 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 4.1 core functions - void (QOPENGLF_APIENTRYP GetDoublei_v)(GLenum target, GLuint index, GLdouble *data); - void (QOPENGLF_APIENTRYP GetFloati_v)(GLenum target, GLuint index, GLfloat *data); - void (QOPENGLF_APIENTRYP DepthRangeIndexed)(GLuint index, GLdouble n, GLdouble f); - void (QOPENGLF_APIENTRYP DepthRangeArrayv)(GLuint first, GLsizei count, const GLdouble *v); - void (QOPENGLF_APIENTRYP ScissorIndexedv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP ScissorIndexed)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP ScissorArrayv)(GLuint first, GLsizei count, const GLint *v); - void (QOPENGLF_APIENTRYP ViewportIndexedfv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP ViewportIndexedf)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); - void (QOPENGLF_APIENTRYP ViewportArrayv)(GLuint first, GLsizei count, const GLfloat *v); - void (QOPENGLF_APIENTRYP GetVertexAttribLdv)(GLuint index, GLenum pname, GLdouble *params); - void (QOPENGLF_APIENTRYP VertexAttribLPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP VertexAttribL4dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttribL3dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttribL2dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttribL1dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttribL4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - void (QOPENGLF_APIENTRYP VertexAttribL3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP VertexAttribL2d)(GLuint index, GLdouble x, GLdouble y); - void (QOPENGLF_APIENTRYP VertexAttribL1d)(GLuint index, GLdouble x); - void (QOPENGLF_APIENTRYP GetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (QOPENGLF_APIENTRYP ValidateProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2dv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - void (QOPENGLF_APIENTRYP ProgramUniform4dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniform4d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); - void (QOPENGLF_APIENTRYP ProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - void (QOPENGLF_APIENTRYP ProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - void (QOPENGLF_APIENTRYP ProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); - void (QOPENGLF_APIENTRYP ProgramUniform3dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniform3d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); - void (QOPENGLF_APIENTRYP ProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - void (QOPENGLF_APIENTRYP ProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); - void (QOPENGLF_APIENTRYP ProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1); - void (QOPENGLF_APIENTRYP ProgramUniform2dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniform2d)(GLuint program, GLint location, GLdouble v0, GLdouble v1); - void (QOPENGLF_APIENTRYP ProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1); - void (QOPENGLF_APIENTRYP ProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1); - void (QOPENGLF_APIENTRYP ProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform1ui)(GLuint program, GLint location, GLuint v0); - void (QOPENGLF_APIENTRYP ProgramUniform1dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); - void (QOPENGLF_APIENTRYP ProgramUniform1d)(GLuint program, GLint location, GLdouble v0); - void (QOPENGLF_APIENTRYP ProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform1f)(GLuint program, GLint location, GLfloat v0); - void (QOPENGLF_APIENTRYP ProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform1i)(GLuint program, GLint location, GLint v0); - void (QOPENGLF_APIENTRYP GetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint *params); - GLboolean (QOPENGLF_APIENTRYP IsProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP GenProgramPipelines)(GLsizei n, GLuint *pipelines); - void (QOPENGLF_APIENTRYP DeleteProgramPipelines)(GLsizei n, const GLuint *pipelines); - void (QOPENGLF_APIENTRYP BindProgramPipeline)(GLuint pipeline); - GLuint (QOPENGLF_APIENTRYP CreateShaderProgramv)(GLenum type, GLsizei count, const GLchar* const *strings); - void (QOPENGLF_APIENTRYP ActiveShaderProgram)(GLuint pipeline, GLuint program); - void (QOPENGLF_APIENTRYP UseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program); - void (QOPENGLF_APIENTRYP ProgramParameteri)(GLuint program, GLenum pname, GLint value); - void (QOPENGLF_APIENTRYP ProgramBinary)(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length); - void (QOPENGLF_APIENTRYP GetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); - void (QOPENGLF_APIENTRYP ClearDepthf)(GLfloat dd); - void (QOPENGLF_APIENTRYP DepthRangef)(GLfloat n, GLfloat f); - void (QOPENGLF_APIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); - void (QOPENGLF_APIENTRYP ShaderBinary)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length); - void (QOPENGLF_APIENTRYP ReleaseShaderCompiler)(); - +#define QT_OPENGL_4_1_FUNCTIONS(F) \ + F(void, GetDoublei_v, (GLenum target, GLuint index, GLdouble *data)) \ + F(void, GetFloati_v,(GLenum target, GLuint index, GLfloat *data)) \ + F(void, DepthRangeIndexed, (GLuint index, GLdouble n, GLdouble f)) \ + F(void, DepthRangeArrayv, (GLuint first, GLsizei count, const GLdouble *v)) \ + F(void, ScissorIndexedv, (GLuint index, const GLint *v)) \ + F(void, ScissorIndexed, (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height)) \ + F(void, ScissorArrayv, (GLuint first, GLsizei count, const GLint *v)) \ + F(void, ViewportIndexedfv, (GLuint index, const GLfloat *v)) \ + F(void, ViewportIndexedf, (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)) \ + F(void, ViewportArrayv, (GLuint first, GLsizei count, const GLfloat *v)) \ + F(void, GetVertexAttribLdv, (GLuint index, GLenum pname, GLdouble *params)) \ + F(void, VertexAttribLPointer, (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, VertexAttribL4dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttribL3dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttribL2dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttribL1dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttribL4d, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) \ + F(void, VertexAttribL3d, (GLuint index, GLdouble x, GLdouble y, GLdouble z)) \ + F(void, VertexAttribL2d, (GLuint index, GLdouble x, GLdouble y)) \ + F(void, VertexAttribL1d, (GLuint index, GLdouble x)) \ + F(void, GetProgramPipelineInfoLog, (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) \ + F(void, ValidateProgramPipeline, (GLuint pipeline)) \ + F(void, ProgramUniformMatrix4x3dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix3x4dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix4x2dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix2x4dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix3x2dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix2x3dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix4x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix3x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix4x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix2x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix3x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix2x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix4dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix3dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix2dv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble *value)) \ + F(void, ProgramUniformMatrix4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniform4uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform4ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) \ + F(void, ProgramUniform4dv, (GLuint program, GLint location, GLsizei count, const GLdouble *value)) \ + F(void, ProgramUniform4d, (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3)) \ + F(void, ProgramUniform4fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniform4f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) \ + F(void, ProgramUniform4iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform4i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) \ + F(void, ProgramUniform3uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform3ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)) \ + F(void, ProgramUniform3dv, (GLuint program, GLint location, GLsizei count, const GLdouble *value)) \ + F(void, ProgramUniform3d, (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2)) \ + F(void, ProgramUniform3fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniform3f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) \ + F(void, ProgramUniform3iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform3i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2)) \ + F(void, ProgramUniform2uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform2ui, (GLuint program, GLint location, GLuint v0, GLuint v1)) \ + F(void, ProgramUniform2dv, (GLuint program, GLint location, GLsizei count, const GLdouble *value)) \ + F(void, ProgramUniform2d, (GLuint program, GLint location, GLdouble v0, GLdouble v1)) \ + F(void, ProgramUniform2fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniform2f, (GLuint program, GLint location, GLfloat v0, GLfloat v1)) \ + F(void, ProgramUniform2iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform2i, (GLuint program, GLint location, GLint v0, GLint v1)) \ + F(void, ProgramUniform1uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform1ui, (GLuint program, GLint location, GLuint v0)) \ + F(void, ProgramUniform1dv, (GLuint program, GLint location, GLsizei count, const GLdouble *value)) \ + F(void, ProgramUniform1d, (GLuint program, GLint location, GLdouble v0)) \ + F(void, ProgramUniform1fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniform1f, (GLuint program, GLint location, GLfloat v0)) \ + F(void, ProgramUniform1iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform1i, (GLuint program, GLint location, GLint v0)) \ + F(void, GetProgramPipelineiv, (GLuint pipeline, GLenum pname, GLint *params)) \ + F(GLboolean, IsProgramPipeline, (GLuint pipeline)) \ + F(void, GenProgramPipelines, (GLsizei n, GLuint *pipelines)) \ + F(void, DeleteProgramPipelines, (GLsizei n, const GLuint *pipelines)) \ + F(void, BindProgramPipeline, (GLuint pipeline)) \ + F(GLuint, CreateShaderProgramv, (GLenum type, GLsizei count, const GLchar* const *strings)) \ + F(void, ActiveShaderProgram, (GLuint pipeline, GLuint program)) \ + F(void, UseProgramStages, (GLuint pipeline, GLbitfield stages, GLuint program)) \ + F(void, ProgramParameteri, (GLuint program, GLenum pname, GLint value)) \ + F(void, ProgramBinary, (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLsizei length)) \ + F(void, GetProgramBinary, (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary)) \ + F(void, ClearDepthf, (GLfloat dd)) \ + F(void, DepthRangef, (GLfloat n, GLfloat f)) \ + F(void, GetShaderPrecisionFormat, (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)) \ + F(void, ShaderBinary, (GLsizei count, const GLuint *shaders, GLenum binaryformat, const GLvoid *binary, GLsizei length)) \ + F(void, ReleaseShaderCompiler, ()) \ + + QT_OPENGL_DECLARE(QT_OPENGL_4_1_FUNCTIONS); }; class QOpenGLFunctions_4_2_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -847,19 +895,21 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 4.2 core functions - void (QOPENGLF_APIENTRYP TexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - void (QOPENGLF_APIENTRYP TexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP TexStorage1D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); - void (QOPENGLF_APIENTRYP MemoryBarrier)(GLbitfield barriers); - void (QOPENGLF_APIENTRYP BindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); - void (QOPENGLF_APIENTRYP GetActiveAtomicCounterBufferiv)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); - void (QOPENGLF_APIENTRYP DrawTransformFeedbackStreamInstanced)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); - void (QOPENGLF_APIENTRYP DrawTransformFeedbackInstanced)(GLenum mode, GLuint id, GLsizei instancecount); - void (QOPENGLF_APIENTRYP DrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); - void (QOPENGLF_APIENTRYP DrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); - void (QOPENGLF_APIENTRYP DrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); - +#define QT_OPENGL_4_2_FUNCTIONS(F) \ + F(void, TexStorage3D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) \ + F(void, TexStorage2D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, TexStorage1D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)) \ + F(void, MemoryBarrier, (GLbitfield barriers)) \ + F(void, BindImageTexture, (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)) \ + F(void, GetActiveAtomicCounterBufferiv, (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params)) \ + F(void, GetInternalformativ, (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)) \ + F(void, DrawTransformFeedbackStreamInstanced, (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount)) \ + F(void, DrawTransformFeedbackInstanced, (GLenum mode, GLuint id, GLsizei instancecount)) \ + F(void, DrawElementsInstancedBaseVertexBaseInstance, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance)) \ + F(void, DrawElementsInstancedBaseInstance, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance)) \ + F(void, DrawArraysInstancedBaseInstance, (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_4_2_FUNCTIONS); }; class QOpenGLFunctions_4_3_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -870,50 +920,52 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 4.3 core functions - void (QOPENGLF_APIENTRYP TexStorage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP TexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP TexBufferRange)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); - void (QOPENGLF_APIENTRYP ShaderStorageBlockBinding)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); - GLint (QOPENGLF_APIENTRYP GetProgramResourceLocationIndex)(GLuint program, GLenum programInterface, const GLchar *name); - GLint (QOPENGLF_APIENTRYP GetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar *name); - void (QOPENGLF_APIENTRYP GetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); - void (QOPENGLF_APIENTRYP GetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); - GLuint (QOPENGLF_APIENTRYP GetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar *name); - void (QOPENGLF_APIENTRYP GetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP MultiDrawElementsIndirect)(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); - void (QOPENGLF_APIENTRYP MultiDrawArraysIndirect)(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); - void (QOPENGLF_APIENTRYP InvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP InvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments); - void (QOPENGLF_APIENTRYP InvalidateBufferData)(GLuint buffer); - void (QOPENGLF_APIENTRYP InvalidateBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr length); - void (QOPENGLF_APIENTRYP InvalidateTexImage)(GLuint texture, GLint level); - void (QOPENGLF_APIENTRYP InvalidateTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); - void (QOPENGLF_APIENTRYP GetInternalformati64v)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params); - void (QOPENGLF_APIENTRYP GetFramebufferParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP FramebufferParameteri)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP VertexBindingDivisor)(GLuint bindingindex, GLuint divisor); - void (QOPENGLF_APIENTRYP VertexAttribBinding)(GLuint attribindex, GLuint bindingindex); - void (QOPENGLF_APIENTRYP VertexAttribLFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP BindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); - void (QOPENGLF_APIENTRYP TextureView)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); - void (QOPENGLF_APIENTRYP CopyImageSubData)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); - void (QOPENGLF_APIENTRYP DispatchComputeIndirect)(GLintptr indirect); - void (QOPENGLF_APIENTRYP DispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); - void (QOPENGLF_APIENTRYP ClearBufferSubData)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); - void (QOPENGLF_APIENTRYP ClearBufferData)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); - void (QOPENGLF_APIENTRYP GetObjectPtrLabel)(const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); - void (QOPENGLF_APIENTRYP ObjectPtrLabel)(const GLvoid *ptr, GLsizei length, const GLchar *label); - void (QOPENGLF_APIENTRYP GetObjectLabel)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); - void (QOPENGLF_APIENTRYP ObjectLabel)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label); - void (QOPENGLF_APIENTRYP PopDebugGroup)(); - void (QOPENGLF_APIENTRYP PushDebugGroup)(GLenum source, GLuint id, GLsizei length, const GLchar *message); - GLuint (QOPENGLF_APIENTRYP GetDebugMessageLog)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); - void (QOPENGLF_APIENTRYP DebugMessageCallback)(GLDEBUGPROC callback, const GLvoid *userParam); - void (QOPENGLF_APIENTRYP DebugMessageInsert)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); - void (QOPENGLF_APIENTRYP DebugMessageControl)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); - +#define QT_OPENGL_4_3_FUNCTIONS(F) \ + F(void, TexStorage3DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)) \ + F(void, TexStorage2DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)) \ + F(void, TexBufferRange, (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)) \ + F(void, ShaderStorageBlockBinding, (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding)) \ + F(GLint, GetProgramResourceLocationIndex, (GLuint program, GLenum programInterface, const GLchar *name)) \ + F(GLint, GetProgramResourceLocation, (GLuint program, GLenum programInterface, const GLchar *name)) \ + F(void, GetProgramResourceiv, (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params)) \ + F(void, GetProgramResourceName, (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)) \ + F(GLuint, GetProgramResourceIndex, (GLuint program, GLenum programInterface, const GLchar *name)) \ + F(void, GetProgramInterfaceiv, (GLuint program, GLenum programInterface, GLenum pname, GLint *params)) \ + F(void, MultiDrawElementsIndirect, (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride)) \ + F(void, MultiDrawArraysIndirect, (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride)) \ + F(void, InvalidateSubFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, InvalidateFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum *attachments)) \ + F(void, InvalidateBufferData, (GLuint buffer)) \ + F(void, InvalidateBufferSubData, (GLuint buffer, GLintptr offset, GLsizeiptr length)) \ + F(void, InvalidateTexImage, (GLuint texture, GLint level)) \ + F(void, InvalidateTexSubImage, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth)) \ + F(void, GetInternalformati64v, (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params)) \ + F(void, GetFramebufferParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, FramebufferParameteri, (GLenum target, GLenum pname, GLint param)) \ + F(void, VertexBindingDivisor, (GLuint bindingindex, GLuint divisor)) \ + F(void, VertexAttribBinding, (GLuint attribindex, GLuint bindingindex)) \ + F(void, VertexAttribLFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) \ + F(void, VertexAttribIFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) \ + F(void, VertexAttribFormat, (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)) \ + F(void, BindVertexBuffer, (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)) \ + F(void, TextureView, (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers)) \ + F(void, CopyImageSubData, (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)) \ + F(void, DispatchComputeIndirect, (GLintptr indirect)) \ + F(void, DispatchCompute, (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)) \ + F(void, ClearBufferSubData, (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)) \ + F(void, ClearBufferData, (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data)) \ + F(void, GetObjectPtrLabel, (const GLvoid *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)) \ + F(void, ObjectPtrLabel, (const GLvoid *ptr, GLsizei length, const GLchar *label)) \ + F(void, GetObjectLabel, (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)) \ + F(void, ObjectLabel, (GLenum identifier, GLuint name, GLsizei length, const GLchar *label)) \ + F(void, PopDebugGroup, ()) \ + F(void, PushDebugGroup, (GLenum source, GLuint id, GLsizei length, const GLchar *message)) \ + F(GLuint, GetDebugMessageLog, (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)) \ + F(void, DebugMessageCallback, (GLDEBUGPROC callback, const GLvoid *userParam)) \ + F(void, DebugMessageInsert, (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)) \ + F(void, DebugMessageControl, (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_4_3_FUNCTIONS); }; class QOpenGLFunctions_4_4_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -924,16 +976,18 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 4.4 core functions - void (QOPENGLF_APIENTRYP BindVertexBuffers)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); - void (QOPENGLF_APIENTRYP BindImageTextures)(GLuint first, GLsizei count, const GLuint *textures); - void (QOPENGLF_APIENTRYP BindSamplers)(GLuint first, GLsizei count, const GLuint *samplers); - void (QOPENGLF_APIENTRYP BindTextures)(GLuint first, GLsizei count, const GLuint *textures); - void (QOPENGLF_APIENTRYP BindBuffersRange)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes); - void (QOPENGLF_APIENTRYP BindBuffersBase)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers); - void (QOPENGLF_APIENTRYP ClearTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); - void (QOPENGLF_APIENTRYP ClearTexImage)(GLuint texture, GLint level, GLenum format, GLenum type, const void *data); - void (QOPENGLF_APIENTRYP BufferStorage)(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); - +#define QT_OPENGL_4_4_FUNCTIONS(F) \ + F(void, BindVertexBuffers, (GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides)) \ + F(void, BindImageTextures, (GLuint first, GLsizei count, const GLuint *textures)) \ + F(void, BindSamplers, (GLuint first, GLsizei count, const GLuint *samplers)) \ + F(void, BindTextures, (GLuint first, GLsizei count, const GLuint *textures)) \ + F(void, BindBuffersRange, (GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes)) \ + F(void, BindBuffersBase, (GLenum target, GLuint first, GLsizei count, const GLuint *buffers)) \ + F(void, ClearTexSubImage, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data)) \ + F(void, ClearTexImage, (GLuint texture, GLint level, GLenum format, GLenum type, const void *data)) \ + F(void, BufferStorage, (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_4_4_FUNCTIONS); }; class QOpenGLFunctions_4_5_CoreBackend : public QOpenGLVersionFunctionsBackend @@ -944,113 +998,115 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 4.5 core functions - void (QOPENGLF_APIENTRYP TextureBarrier)(); - void (QOPENGLF_APIENTRYP ReadnPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); - void (QOPENGLF_APIENTRYP GetnUniformuiv)(GLuint program, GLint location, GLsizei bufSize, GLuint *params); - void (QOPENGLF_APIENTRYP GetnUniformiv)(GLuint program, GLint location, GLsizei bufSize, GLint *params); - void (QOPENGLF_APIENTRYP GetnUniformfv)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params); - void (QOPENGLF_APIENTRYP GetnUniformdv)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params); - void (QOPENGLF_APIENTRYP GetnTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); - void (QOPENGLF_APIENTRYP GetnCompressedTexImage)(GLenum target, GLint lod, GLsizei bufSize, void *pixels); - GLenum (QOPENGLF_APIENTRYP GetGraphicsResetStatus)(); - void (QOPENGLF_APIENTRYP GetCompressedTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); - void (QOPENGLF_APIENTRYP GetTextureSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); - void (QOPENGLF_APIENTRYP MemoryBarrierByRegion)(GLbitfield barriers); - void (QOPENGLF_APIENTRYP CreateQueries)(GLenum target, GLsizei n, GLuint *ids); - void (QOPENGLF_APIENTRYP CreateProgramPipelines)(GLsizei n, GLuint *pipelines); - void (QOPENGLF_APIENTRYP CreateSamplers)(GLsizei n, GLuint *samplers); - void (QOPENGLF_APIENTRYP GetVertexArrayIndexed64iv)(GLuint vaobj, GLuint index, GLenum pname, GLint64 *param); - void (QOPENGLF_APIENTRYP GetVertexArrayIndexediv)(GLuint vaobj, GLuint index, GLenum pname, GLint *param); - void (QOPENGLF_APIENTRYP GetVertexArrayiv)(GLuint vaobj, GLenum pname, GLint *param); - void (QOPENGLF_APIENTRYP VertexArrayBindingDivisor)(GLuint vaobj, GLuint bindingindex, GLuint divisor); - void (QOPENGLF_APIENTRYP VertexArrayAttribLFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexArrayAttribIFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexArrayAttribFormat)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexArrayAttribBinding)(GLuint vaobj, GLuint attribindex, GLuint bindingindex); - void (QOPENGLF_APIENTRYP VertexArrayVertexBuffers)(GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); - void (QOPENGLF_APIENTRYP VertexArrayVertexBuffer)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); - void (QOPENGLF_APIENTRYP VertexArrayElementBuffer)(GLuint vaobj, GLuint buffer); - void (QOPENGLF_APIENTRYP EnableVertexArrayAttrib)(GLuint vaobj, GLuint index); - void (QOPENGLF_APIENTRYP DisableVertexArrayAttrib)(GLuint vaobj, GLuint index); - void (QOPENGLF_APIENTRYP CreateVertexArrays)(GLsizei n, GLuint *arrays); - void (QOPENGLF_APIENTRYP GetTextureParameteriv)(GLuint texture, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTextureParameterIuiv)(GLuint texture, GLenum pname, GLuint *params); - void (QOPENGLF_APIENTRYP GetTextureParameterIiv)(GLuint texture, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTextureParameterfv)(GLuint texture, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetTextureLevelParameteriv)(GLuint texture, GLint level, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTextureLevelParameterfv)(GLuint texture, GLint level, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetCompressedTextureImage)(GLuint texture, GLint level, GLsizei bufSize, void *pixels); - void (QOPENGLF_APIENTRYP GetTextureImage)(GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); - void (QOPENGLF_APIENTRYP BindTextureUnit)(GLuint unit, GLuint texture); - void (QOPENGLF_APIENTRYP GenerateTextureMipmap)(GLuint texture); - void (QOPENGLF_APIENTRYP TextureParameteriv)(GLuint texture, GLenum pname, const GLint *param); - void (QOPENGLF_APIENTRYP TextureParameterIuiv)(GLuint texture, GLenum pname, const GLuint *params); - void (QOPENGLF_APIENTRYP TextureParameterIiv)(GLuint texture, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP TextureParameteri)(GLuint texture, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP TextureParameterfv)(GLuint texture, GLenum pname, const GLfloat *param); - void (QOPENGLF_APIENTRYP TextureParameterf)(GLuint texture, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP CopyTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CopyTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CopyTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); - void (QOPENGLF_APIENTRYP CompressedTextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); - void (QOPENGLF_APIENTRYP CompressedTextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); - void (QOPENGLF_APIENTRYP CompressedTextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); - void (QOPENGLF_APIENTRYP TextureSubImage3D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); - void (QOPENGLF_APIENTRYP TextureSubImage2D)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); - void (QOPENGLF_APIENTRYP TextureSubImage1D)(GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); - void (QOPENGLF_APIENTRYP TextureStorage3DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP TextureStorage2DMultisample)(GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP TextureStorage3D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - void (QOPENGLF_APIENTRYP TextureStorage2D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP TextureStorage1D)(GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); - void (QOPENGLF_APIENTRYP TextureBufferRange)(GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size); - void (QOPENGLF_APIENTRYP TextureBuffer)(GLuint texture, GLenum internalformat, GLuint buffer); - void (QOPENGLF_APIENTRYP CreateTextures)(GLenum target, GLsizei n, GLuint *textures); - void (QOPENGLF_APIENTRYP GetNamedRenderbufferParameteriv)(GLuint renderbuffer, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP NamedRenderbufferStorageMultisample)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP NamedRenderbufferStorage)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CreateRenderbuffers)(GLsizei n, GLuint *renderbuffers); - void (QOPENGLF_APIENTRYP GetNamedFramebufferAttachmentParameteriv)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetNamedFramebufferParameteriv)(GLuint framebuffer, GLenum pname, GLint *param); - GLenum (QOPENGLF_APIENTRYP CheckNamedFramebufferStatus)(GLuint framebuffer, GLenum target); - void (QOPENGLF_APIENTRYP BlitNamedFramebuffer)(GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - void (QOPENGLF_APIENTRYP ClearNamedFramebufferfi)(GLuint framebuffer, GLenum buffer, GLfloat depth, GLint stencil); - void (QOPENGLF_APIENTRYP ClearNamedFramebufferfv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value); - void (QOPENGLF_APIENTRYP ClearNamedFramebufferuiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value); - void (QOPENGLF_APIENTRYP ClearNamedFramebufferiv)(GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value); - void (QOPENGLF_APIENTRYP InvalidateNamedFramebufferSubData)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP InvalidateNamedFramebufferData)(GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments); - void (QOPENGLF_APIENTRYP NamedFramebufferReadBuffer)(GLuint framebuffer, GLenum src); - void (QOPENGLF_APIENTRYP NamedFramebufferDrawBuffers)(GLuint framebuffer, GLsizei n, const GLenum *bufs); - void (QOPENGLF_APIENTRYP NamedFramebufferDrawBuffer)(GLuint framebuffer, GLenum buf); - void (QOPENGLF_APIENTRYP NamedFramebufferTextureLayer)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); - void (QOPENGLF_APIENTRYP NamedFramebufferTexture)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); - void (QOPENGLF_APIENTRYP NamedFramebufferParameteri)(GLuint framebuffer, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP NamedFramebufferRenderbuffer)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - void (QOPENGLF_APIENTRYP CreateFramebuffers)(GLsizei n, GLuint *framebuffers); - void (QOPENGLF_APIENTRYP GetNamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizei size, void *data); - void (QOPENGLF_APIENTRYP GetNamedBufferPointerv)(GLuint buffer, GLenum pname, GLvoid* *params); - void (QOPENGLF_APIENTRYP GetNamedBufferParameteri64v)(GLuint buffer, GLenum pname, GLint64 *params); - void (QOPENGLF_APIENTRYP GetNamedBufferParameteriv)(GLuint buffer, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP FlushMappedNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizei length); - GLboolean (QOPENGLF_APIENTRYP UnmapNamedBuffer)(GLuint buffer); - GLvoid* (QOPENGLF_APIENTRYP MapNamedBufferRange)(GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access); - GLvoid* (QOPENGLF_APIENTRYP MapNamedBuffer)(GLuint buffer, GLenum access); - void (QOPENGLF_APIENTRYP ClearNamedBufferSubData)(GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data); - void (QOPENGLF_APIENTRYP ClearNamedBufferData)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); - void (QOPENGLF_APIENTRYP CopyNamedBufferSubData)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size); - void (QOPENGLF_APIENTRYP NamedBufferSubData)(GLuint buffer, GLintptr offset, GLsizei size, const void *data); - void (QOPENGLF_APIENTRYP NamedBufferData)(GLuint buffer, GLsizei size, const void *data, GLenum usage); - void (QOPENGLF_APIENTRYP NamedBufferStorage)(GLuint buffer, GLsizei size, const void *data, GLbitfield flags); - void (QOPENGLF_APIENTRYP CreateBuffers)(GLsizei n, GLuint *buffers); - void (QOPENGLF_APIENTRYP GetTransformFeedbacki64_v)(GLuint xfb, GLenum pname, GLuint index, GLint64 *param); - void (QOPENGLF_APIENTRYP GetTransformFeedbacki_v)(GLuint xfb, GLenum pname, GLuint index, GLint *param); - void (QOPENGLF_APIENTRYP GetTransformFeedbackiv)(GLuint xfb, GLenum pname, GLint *param); - void (QOPENGLF_APIENTRYP TransformFeedbackBufferRange)(GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size); - void (QOPENGLF_APIENTRYP TransformFeedbackBufferBase)(GLuint xfb, GLuint index, GLuint buffer); - void (QOPENGLF_APIENTRYP CreateTransformFeedbacks)(GLsizei n, GLuint *ids); - void (QOPENGLF_APIENTRYP ClipControl)(GLenum origin, GLenum depth); - +#define QT_OPENGL_4_5_FUNCTIONS(F) \ + F(void, TextureBarrier, ()) \ + F(void, ReadnPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)) \ + F(void, GetnUniformuiv, (GLuint program, GLint location, GLsizei bufSize, GLuint *params)) \ + F(void, GetnUniformiv, (GLuint program, GLint location, GLsizei bufSize, GLint *params)) \ + F(void, GetnUniformfv, (GLuint program, GLint location, GLsizei bufSize, GLfloat *params)) \ + F(void, GetnUniformdv, (GLuint program, GLint location, GLsizei bufSize, GLdouble *params)) \ + F(void, GetnTexImage, (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels)) \ + F(void, GetnCompressedTexImage, (GLenum target, GLint lod, GLsizei bufSize, void *pixels)) \ + F(GLenum, GetGraphicsResetStatus, ()) \ + F(void, GetCompressedTextureSubImage, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels)) \ + F(void, GetTextureSubImage, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels)) \ + F(void, MemoryBarrierByRegion, (GLbitfield barriers)) \ + F(void, CreateQueries, (GLenum target, GLsizei n, GLuint *ids)) \ + F(void, CreateProgramPipelines, (GLsizei n, GLuint *pipelines)) \ + F(void, CreateSamplers, (GLsizei n, GLuint *samplers)) \ + F(void, GetVertexArrayIndexed64iv, (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param)) \ + F(void, GetVertexArrayIndexediv, (GLuint vaobj, GLuint index, GLenum pname, GLint *param)) \ + F(void, GetVertexArrayiv, (GLuint vaobj, GLenum pname, GLint *param)) \ + F(void, VertexArrayBindingDivisor, (GLuint vaobj, GLuint bindingindex, GLuint divisor)) \ + F(void, VertexArrayAttribLFormat, (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) \ + F(void, VertexArrayAttribIFormat, (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) \ + F(void, VertexArrayAttribFormat, (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)) \ + F(void, VertexArrayAttribBinding, (GLuint vaobj, GLuint attribindex, GLuint bindingindex)) \ + F(void, VertexArrayVertexBuffers, (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides)) \ + F(void, VertexArrayVertexBuffer, (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)) \ + F(void, VertexArrayElementBuffer, (GLuint vaobj, GLuint buffer)) \ + F(void, EnableVertexArrayAttrib, (GLuint vaobj, GLuint index)) \ + F(void, DisableVertexArrayAttrib, (GLuint vaobj, GLuint index)) \ + F(void, CreateVertexArrays, (GLsizei n, GLuint *arrays)) \ + F(void, GetTextureParameteriv, (GLuint texture, GLenum pname, GLint *params)) \ + F(void, GetTextureParameterIuiv, (GLuint texture, GLenum pname, GLuint *params)) \ + F(void, GetTextureParameterIiv, (GLuint texture, GLenum pname, GLint *params)) \ + F(void, GetTextureParameterfv, (GLuint texture, GLenum pname, GLfloat *params)) \ + F(void, GetTextureLevelParameteriv, (GLuint texture, GLint level, GLenum pname, GLint *params)) \ + F(void, GetTextureLevelParameterfv, (GLuint texture, GLint level, GLenum pname, GLfloat *params)) \ + F(void, GetCompressedTextureImage, (GLuint texture, GLint level, GLsizei bufSize, void *pixels)) \ + F(void, GetTextureImage, (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels)) \ + F(void, BindTextureUnit, (GLuint unit, GLuint texture)) \ + F(void, GenerateTextureMipmap, (GLuint texture)) \ + F(void, TextureParameteriv, (GLuint texture, GLenum pname, const GLint *param)) \ + F(void, TextureParameterIuiv, (GLuint texture, GLenum pname, const GLuint *params)) \ + F(void, TextureParameterIiv, (GLuint texture, GLenum pname, const GLint *params)) \ + F(void, TextureParameteri, (GLuint texture, GLenum pname, GLint param)) \ + F(void, TextureParameterfv, (GLuint texture, GLenum pname, const GLfloat *param)) \ + F(void, TextureParameterf, (GLuint texture, GLenum pname, GLfloat param)) \ + F(void, CopyTextureSubImage3D, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, CopyTextureSubImage2D, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, CopyTextureSubImage1D, (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) \ + F(void, CompressedTextureSubImage3D, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)) \ + F(void, CompressedTextureSubImage2D, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)) \ + F(void, CompressedTextureSubImage1D, (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)) \ + F(void, TextureSubImage3D, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)) \ + F(void, TextureSubImage2D, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)) \ + F(void, TextureSubImage1D, (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)) \ + F(void, TextureStorage3DMultisample, (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)) \ + F(void, TextureStorage2DMultisample, (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)) \ + F(void, TextureStorage3D, (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) \ + F(void, TextureStorage2D, (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, TextureStorage1D, (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width)) \ + F(void, TextureBufferRange, (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizei size)) \ + F(void, TextureBuffer, (GLuint texture, GLenum internalformat, GLuint buffer)) \ + F(void, CreateTextures, (GLenum target, GLsizei n, GLuint *textures)) \ + F(void, GetNamedRenderbufferParameteriv, (GLuint renderbuffer, GLenum pname, GLint *params)) \ + F(void, NamedRenderbufferStorageMultisample, (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, NamedRenderbufferStorage, (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, CreateRenderbuffers, (GLsizei n, GLuint *renderbuffers)) \ + F(void, GetNamedFramebufferAttachmentParameteriv, (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)) \ + F(void, GetNamedFramebufferParameteriv, (GLuint framebuffer, GLenum pname, GLint *param)) \ + F(GLenum, CheckNamedFramebufferStatus, (GLuint framebuffer, GLenum target)) \ + F(void, BlitNamedFramebuffer, (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) \ + F(void, ClearNamedFramebufferfi, (GLuint framebuffer, GLenum buffer, GLfloat depth, GLint stencil)) \ + F(void, ClearNamedFramebufferfv, (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value)) \ + F(void, ClearNamedFramebufferuiv, (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value)) \ + F(void, ClearNamedFramebufferiv, (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value)) \ + F(void, InvalidateNamedFramebufferSubData, (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, InvalidateNamedFramebufferData, (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments)) \ + F(void, NamedFramebufferReadBuffer, (GLuint framebuffer, GLenum src)) \ + F(void, NamedFramebufferDrawBuffers, (GLuint framebuffer, GLsizei n, const GLenum *bufs)) \ + F(void, NamedFramebufferDrawBuffer, (GLuint framebuffer, GLenum buf)) \ + F(void, NamedFramebufferTextureLayer, (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)) \ + F(void, NamedFramebufferTexture, (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)) \ + F(void, NamedFramebufferParameteri, (GLuint framebuffer, GLenum pname, GLint param)) \ + F(void, NamedFramebufferRenderbuffer, (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) \ + F(void, CreateFramebuffers, (GLsizei n, GLuint *framebuffers)) \ + F(void, GetNamedBufferSubData, (GLuint buffer, GLintptr offset, GLsizei size, void *data)) \ + F(void, GetNamedBufferPointerv, (GLuint buffer, GLenum pname, GLvoid* *params)) \ + F(void, GetNamedBufferParameteri64v, (GLuint buffer, GLenum pname, GLint64 *params)) \ + F(void, GetNamedBufferParameteriv, (GLuint buffer, GLenum pname, GLint *params)) \ + F(void, FlushMappedNamedBufferRange, (GLuint buffer, GLintptr offset, GLsizei length)) \ + F(GLboolean, UnmapNamedBuffer, (GLuint buffer)) \ + F(GLvoid *, MapNamedBufferRange, (GLuint buffer, GLintptr offset, GLsizei length, GLbitfield access)) \ + F(GLvoid *, MapNamedBuffer, (GLuint buffer, GLenum access)) \ + F(void, ClearNamedBufferSubData, (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizei size, GLenum format, GLenum type, const void *data)) \ + F(void, ClearNamedBufferData, (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data)) \ + F(void, CopyNamedBufferSubData, (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizei size)) \ + F(void, NamedBufferSubData, (GLuint buffer, GLintptr offset, GLsizei size, const void *data)) \ + F(void, NamedBufferData, (GLuint buffer, GLsizei size, const void *data, GLenum usage)) \ + F(void, NamedBufferStorage, (GLuint buffer, GLsizei size, const void *data, GLbitfield flags)) \ + F(void, CreateBuffers, (GLsizei n, GLuint *buffers)) \ + F(void, GetTransformFeedbacki64_v,(GLuint xfb, GLenum pname, GLuint index, GLint64 *param)) \ + F(void, GetTransformFeedbacki_v,(GLuint xfb, GLenum pname, GLuint index, GLint *param)) \ + F(void, GetTransformFeedbackiv, (GLuint xfb, GLenum pname, GLint *param)) \ + F(void, TransformFeedbackBufferRange, (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizei size)) \ + F(void, TransformFeedbackBufferBase, (GLuint xfb, GLuint index, GLuint buffer)) \ + F(void, CreateTransformFeedbacks, (GLsizei n, GLuint *ids)) \ + F(void, ClipControl, (GLenum origin, GLenum depth)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_4_5_FUNCTIONS); }; class QOpenGLFunctions_1_0_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1061,265 +1117,267 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.0 deprecated functions - void (QOPENGLF_APIENTRYP Translatef)(GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP Translated)(GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP Scalef)(GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP Scaled)(GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP Rotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP PushMatrix)(); - void (QOPENGLF_APIENTRYP PopMatrix)(); - void (QOPENGLF_APIENTRYP Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); - void (QOPENGLF_APIENTRYP MultMatrixd)(const GLdouble *m); - void (QOPENGLF_APIENTRYP MultMatrixf)(const GLfloat *m); - void (QOPENGLF_APIENTRYP MatrixMode)(GLenum mode); - void (QOPENGLF_APIENTRYP LoadMatrixd)(const GLdouble *m); - void (QOPENGLF_APIENTRYP LoadMatrixf)(const GLfloat *m); - void (QOPENGLF_APIENTRYP LoadIdentity)(); - void (QOPENGLF_APIENTRYP Frustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); - GLboolean (QOPENGLF_APIENTRYP IsList)(GLuint list); - void (QOPENGLF_APIENTRYP GetTexGeniv)(GLenum coord, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexGenfv)(GLenum coord, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetTexGendv)(GLenum coord, GLenum pname, GLdouble *params); - void (QOPENGLF_APIENTRYP GetTexEnviv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetPolygonStipple)(GLubyte *mask); - void (QOPENGLF_APIENTRYP GetPixelMapusv)(GLenum map, GLushort *values); - void (QOPENGLF_APIENTRYP GetPixelMapuiv)(GLenum map, GLuint *values); - void (QOPENGLF_APIENTRYP GetPixelMapfv)(GLenum map, GLfloat *values); - void (QOPENGLF_APIENTRYP GetMaterialiv)(GLenum face, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetMaterialfv)(GLenum face, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetMapiv)(GLenum target, GLenum query, GLint *v); - void (QOPENGLF_APIENTRYP GetMapfv)(GLenum target, GLenum query, GLfloat *v); - void (QOPENGLF_APIENTRYP GetMapdv)(GLenum target, GLenum query, GLdouble *v); - void (QOPENGLF_APIENTRYP GetLightiv)(GLenum light, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetLightfv)(GLenum light, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetClipPlane)(GLenum plane, GLdouble *equation); - void (QOPENGLF_APIENTRYP DrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP CopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); - void (QOPENGLF_APIENTRYP PixelMapusv)(GLenum map, GLsizei mapsize, const GLushort *values); - void (QOPENGLF_APIENTRYP PixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint *values); - void (QOPENGLF_APIENTRYP PixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat *values); - void (QOPENGLF_APIENTRYP PixelTransferi)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP PixelTransferf)(GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP PixelZoom)(GLfloat xfactor, GLfloat yfactor); - void (QOPENGLF_APIENTRYP AlphaFunc)(GLenum func, GLfloat ref); - void (QOPENGLF_APIENTRYP EvalPoint2)(GLint i, GLint j); - void (QOPENGLF_APIENTRYP EvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); - void (QOPENGLF_APIENTRYP EvalPoint1)(GLint i); - void (QOPENGLF_APIENTRYP EvalMesh1)(GLenum mode, GLint i1, GLint i2); - void (QOPENGLF_APIENTRYP EvalCoord2fv)(const GLfloat *u); - void (QOPENGLF_APIENTRYP EvalCoord2f)(GLfloat u, GLfloat v); - void (QOPENGLF_APIENTRYP EvalCoord2dv)(const GLdouble *u); - void (QOPENGLF_APIENTRYP EvalCoord2d)(GLdouble u, GLdouble v); - void (QOPENGLF_APIENTRYP EvalCoord1fv)(const GLfloat *u); - void (QOPENGLF_APIENTRYP EvalCoord1f)(GLfloat u); - void (QOPENGLF_APIENTRYP EvalCoord1dv)(const GLdouble *u); - void (QOPENGLF_APIENTRYP EvalCoord1d)(GLdouble u); - void (QOPENGLF_APIENTRYP MapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); - void (QOPENGLF_APIENTRYP MapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); - void (QOPENGLF_APIENTRYP MapGrid1f)(GLint un, GLfloat u1, GLfloat u2); - void (QOPENGLF_APIENTRYP MapGrid1d)(GLint un, GLdouble u1, GLdouble u2); - void (QOPENGLF_APIENTRYP Map2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); - void (QOPENGLF_APIENTRYP Map2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); - void (QOPENGLF_APIENTRYP Map1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); - void (QOPENGLF_APIENTRYP Map1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); - void (QOPENGLF_APIENTRYP PushAttrib)(GLbitfield mask); - void (QOPENGLF_APIENTRYP PopAttrib)(); - void (QOPENGLF_APIENTRYP Accum)(GLenum op, GLfloat value); - void (QOPENGLF_APIENTRYP IndexMask)(GLuint mask); - void (QOPENGLF_APIENTRYP ClearIndex)(GLfloat c); - void (QOPENGLF_APIENTRYP ClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); - void (QOPENGLF_APIENTRYP PushName)(GLuint name); - void (QOPENGLF_APIENTRYP PopName)(); - void (QOPENGLF_APIENTRYP PassThrough)(GLfloat token); - void (QOPENGLF_APIENTRYP LoadName)(GLuint name); - void (QOPENGLF_APIENTRYP InitNames)(); - GLint (QOPENGLF_APIENTRYP RenderMode)(GLenum mode); - void (QOPENGLF_APIENTRYP SelectBuffer)(GLsizei size, GLuint *buffer); - void (QOPENGLF_APIENTRYP FeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer); - void (QOPENGLF_APIENTRYP TexGeniv)(GLenum coord, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP TexGeni)(GLenum coord, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP TexGenfv)(GLenum coord, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP TexGenf)(GLenum coord, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP TexGendv)(GLenum coord, GLenum pname, const GLdouble *params); - void (QOPENGLF_APIENTRYP TexGend)(GLenum coord, GLenum pname, GLdouble param); - void (QOPENGLF_APIENTRYP TexEnviv)(GLenum target, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP TexEnvi)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP TexEnvfv)(GLenum target, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP TexEnvf)(GLenum target, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP ShadeModel)(GLenum mode); - void (QOPENGLF_APIENTRYP PolygonStipple)(const GLubyte *mask); - void (QOPENGLF_APIENTRYP Materialiv)(GLenum face, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP Materiali)(GLenum face, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP Materialfv)(GLenum face, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP Materialf)(GLenum face, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP LineStipple)(GLint factor, GLushort pattern); - void (QOPENGLF_APIENTRYP LightModeliv)(GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP LightModeli)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP LightModelfv)(GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP LightModelf)(GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP Lightiv)(GLenum light, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP Lighti)(GLenum light, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP Lightfv)(GLenum light, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP Lightf)(GLenum light, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP Fogiv)(GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP Fogi)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP Fogfv)(GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP Fogf)(GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP ColorMaterial)(GLenum face, GLenum mode); - void (QOPENGLF_APIENTRYP ClipPlane)(GLenum plane, const GLdouble *equation); - void (QOPENGLF_APIENTRYP Vertex4sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w); - void (QOPENGLF_APIENTRYP Vertex4iv)(const GLint *v); - void (QOPENGLF_APIENTRYP Vertex4i)(GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP Vertex4fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP Vertex4dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); - void (QOPENGLF_APIENTRYP Vertex3sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP Vertex3s)(GLshort x, GLshort y, GLshort z); - void (QOPENGLF_APIENTRYP Vertex3iv)(const GLint *v); - void (QOPENGLF_APIENTRYP Vertex3i)(GLint x, GLint y, GLint z); - void (QOPENGLF_APIENTRYP Vertex3fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP Vertex3f)(GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP Vertex3dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP Vertex3d)(GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP Vertex2sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP Vertex2s)(GLshort x, GLshort y); - void (QOPENGLF_APIENTRYP Vertex2iv)(const GLint *v); - void (QOPENGLF_APIENTRYP Vertex2i)(GLint x, GLint y); - void (QOPENGLF_APIENTRYP Vertex2fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP Vertex2f)(GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP Vertex2dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP Vertex2d)(GLdouble x, GLdouble y); - void (QOPENGLF_APIENTRYP TexCoord4sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP TexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q); - void (QOPENGLF_APIENTRYP TexCoord4iv)(const GLint *v); - void (QOPENGLF_APIENTRYP TexCoord4i)(GLint s, GLint t, GLint r, GLint q); - void (QOPENGLF_APIENTRYP TexCoord4fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); - void (QOPENGLF_APIENTRYP TexCoord4dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP TexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q); - void (QOPENGLF_APIENTRYP TexCoord3sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP TexCoord3s)(GLshort s, GLshort t, GLshort r); - void (QOPENGLF_APIENTRYP TexCoord3iv)(const GLint *v); - void (QOPENGLF_APIENTRYP TexCoord3i)(GLint s, GLint t, GLint r); - void (QOPENGLF_APIENTRYP TexCoord3fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP TexCoord3f)(GLfloat s, GLfloat t, GLfloat r); - void (QOPENGLF_APIENTRYP TexCoord3dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP TexCoord3d)(GLdouble s, GLdouble t, GLdouble r); - void (QOPENGLF_APIENTRYP TexCoord2sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP TexCoord2s)(GLshort s, GLshort t); - void (QOPENGLF_APIENTRYP TexCoord2iv)(const GLint *v); - void (QOPENGLF_APIENTRYP TexCoord2i)(GLint s, GLint t); - void (QOPENGLF_APIENTRYP TexCoord2fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP TexCoord2f)(GLfloat s, GLfloat t); - void (QOPENGLF_APIENTRYP TexCoord2dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP TexCoord2d)(GLdouble s, GLdouble t); - void (QOPENGLF_APIENTRYP TexCoord1sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP TexCoord1s)(GLshort s); - void (QOPENGLF_APIENTRYP TexCoord1iv)(const GLint *v); - void (QOPENGLF_APIENTRYP TexCoord1i)(GLint s); - void (QOPENGLF_APIENTRYP TexCoord1fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP TexCoord1f)(GLfloat s); - void (QOPENGLF_APIENTRYP TexCoord1dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP TexCoord1d)(GLdouble s); - void (QOPENGLF_APIENTRYP Rectsv)(const GLshort *v1, const GLshort *v2); - void (QOPENGLF_APIENTRYP Rects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2); - void (QOPENGLF_APIENTRYP Rectiv)(const GLint *v1, const GLint *v2); - void (QOPENGLF_APIENTRYP Recti)(GLint x1, GLint y1, GLint x2, GLint y2); - void (QOPENGLF_APIENTRYP Rectfv)(const GLfloat *v1, const GLfloat *v2); - void (QOPENGLF_APIENTRYP Rectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); - void (QOPENGLF_APIENTRYP Rectdv)(const GLdouble *v1, const GLdouble *v2); - void (QOPENGLF_APIENTRYP Rectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); - void (QOPENGLF_APIENTRYP RasterPos4sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP RasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w); - void (QOPENGLF_APIENTRYP RasterPos4iv)(const GLint *v); - void (QOPENGLF_APIENTRYP RasterPos4i)(GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP RasterPos4fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP RasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP RasterPos4dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP RasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); - void (QOPENGLF_APIENTRYP RasterPos3sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP RasterPos3s)(GLshort x, GLshort y, GLshort z); - void (QOPENGLF_APIENTRYP RasterPos3iv)(const GLint *v); - void (QOPENGLF_APIENTRYP RasterPos3i)(GLint x, GLint y, GLint z); - void (QOPENGLF_APIENTRYP RasterPos3fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP RasterPos3f)(GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP RasterPos3dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP RasterPos3d)(GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP RasterPos2sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP RasterPos2s)(GLshort x, GLshort y); - void (QOPENGLF_APIENTRYP RasterPos2iv)(const GLint *v); - void (QOPENGLF_APIENTRYP RasterPos2i)(GLint x, GLint y); - void (QOPENGLF_APIENTRYP RasterPos2fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP RasterPos2f)(GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP RasterPos2dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP RasterPos2d)(GLdouble x, GLdouble y); - void (QOPENGLF_APIENTRYP Normal3sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP Normal3s)(GLshort nx, GLshort ny, GLshort nz); - void (QOPENGLF_APIENTRYP Normal3iv)(const GLint *v); - void (QOPENGLF_APIENTRYP Normal3i)(GLint nx, GLint ny, GLint nz); - void (QOPENGLF_APIENTRYP Normal3fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz); - void (QOPENGLF_APIENTRYP Normal3dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz); - void (QOPENGLF_APIENTRYP Normal3bv)(const GLbyte *v); - void (QOPENGLF_APIENTRYP Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz); - void (QOPENGLF_APIENTRYP Indexsv)(const GLshort *c); - void (QOPENGLF_APIENTRYP Indexs)(GLshort c); - void (QOPENGLF_APIENTRYP Indexiv)(const GLint *c); - void (QOPENGLF_APIENTRYP Indexi)(GLint c); - void (QOPENGLF_APIENTRYP Indexfv)(const GLfloat *c); - void (QOPENGLF_APIENTRYP Indexf)(GLfloat c); - void (QOPENGLF_APIENTRYP Indexdv)(const GLdouble *c); - void (QOPENGLF_APIENTRYP Indexd)(GLdouble c); - void (QOPENGLF_APIENTRYP End)(); - void (QOPENGLF_APIENTRYP EdgeFlagv)(const GLboolean *flag); - void (QOPENGLF_APIENTRYP EdgeFlag)(GLboolean flag); - void (QOPENGLF_APIENTRYP Color4usv)(const GLushort *v); - void (QOPENGLF_APIENTRYP Color4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha); - void (QOPENGLF_APIENTRYP Color4uiv)(const GLuint *v); - void (QOPENGLF_APIENTRYP Color4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha); - void (QOPENGLF_APIENTRYP Color4ubv)(const GLubyte *v); - void (QOPENGLF_APIENTRYP Color4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); - void (QOPENGLF_APIENTRYP Color4sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP Color4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha); - void (QOPENGLF_APIENTRYP Color4iv)(const GLint *v); - void (QOPENGLF_APIENTRYP Color4i)(GLint red, GLint green, GLint blue, GLint alpha); - void (QOPENGLF_APIENTRYP Color4fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); - void (QOPENGLF_APIENTRYP Color4dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP Color4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); - void (QOPENGLF_APIENTRYP Color4bv)(const GLbyte *v); - void (QOPENGLF_APIENTRYP Color4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); - void (QOPENGLF_APIENTRYP Color3usv)(const GLushort *v); - void (QOPENGLF_APIENTRYP Color3us)(GLushort red, GLushort green, GLushort blue); - void (QOPENGLF_APIENTRYP Color3uiv)(const GLuint *v); - void (QOPENGLF_APIENTRYP Color3ui)(GLuint red, GLuint green, GLuint blue); - void (QOPENGLF_APIENTRYP Color3ubv)(const GLubyte *v); - void (QOPENGLF_APIENTRYP Color3ub)(GLubyte red, GLubyte green, GLubyte blue); - void (QOPENGLF_APIENTRYP Color3sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP Color3s)(GLshort red, GLshort green, GLshort blue); - void (QOPENGLF_APIENTRYP Color3iv)(const GLint *v); - void (QOPENGLF_APIENTRYP Color3i)(GLint red, GLint green, GLint blue); - void (QOPENGLF_APIENTRYP Color3fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP Color3f)(GLfloat red, GLfloat green, GLfloat blue); - void (QOPENGLF_APIENTRYP Color3dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP Color3d)(GLdouble red, GLdouble green, GLdouble blue); - void (QOPENGLF_APIENTRYP Color3bv)(const GLbyte *v); - void (QOPENGLF_APIENTRYP Color3b)(GLbyte red, GLbyte green, GLbyte blue); - void (QOPENGLF_APIENTRYP Bitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); - void (QOPENGLF_APIENTRYP Begin)(GLenum mode); - void (QOPENGLF_APIENTRYP ListBase)(GLuint base); - GLuint (QOPENGLF_APIENTRYP GenLists)(GLsizei range); - void (QOPENGLF_APIENTRYP DeleteLists)(GLuint list, GLsizei range); - void (QOPENGLF_APIENTRYP CallLists)(GLsizei n, GLenum type, const GLvoid *lists); - void (QOPENGLF_APIENTRYP CallList)(GLuint list); - void (QOPENGLF_APIENTRYP EndList)(); - void (QOPENGLF_APIENTRYP NewList)(GLuint list, GLenum mode); - +#define QT_OPENGL_1_0_DEPRECATED_FUNCTIONS(F) \ + F(void, Translatef, (GLfloat x, GLfloat y, GLfloat z)) \ + F(void, Translated, (GLdouble x, GLdouble y, GLdouble z)) \ + F(void, Scalef, (GLfloat x, GLfloat y, GLfloat z)) \ + F(void, Scaled, (GLdouble x, GLdouble y, GLdouble z)) \ + F(void, Rotatef, (GLfloat angle, GLfloat x, GLfloat y, GLfloat z)) \ + F(void, Rotated, (GLdouble angle, GLdouble x, GLdouble y, GLdouble z)) \ + F(void, PushMatrix, ()) \ + F(void, PopMatrix, ()) \ + F(void, Ortho, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) \ + F(void, MultMatrixd, (const GLdouble *m)) \ + F(void, MultMatrixf, (const GLfloat *m)) \ + F(void, MatrixMode, (GLenum mode)) \ + F(void, LoadMatrixd, (const GLdouble *m)) \ + F(void, LoadMatrixf, (const GLfloat *m)) \ + F(void, LoadIdentity, ()) \ + F(void, Frustum, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) \ + F(GLboolean, IsList, (GLuint list)) \ + F(void, GetTexGeniv, (GLenum coord, GLenum pname, GLint *params)) \ + F(void, GetTexGenfv, (GLenum coord, GLenum pname, GLfloat *params)) \ + F(void, GetTexGendv, (GLenum coord, GLenum pname, GLdouble *params)) \ + F(void, GetTexEnviv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, GetTexEnvfv, (GLenum target, GLenum pname, GLfloat *params)) \ + F(void, GetPolygonStipple, (GLubyte *mask)) \ + F(void, GetPixelMapusv, (GLenum map, GLushort *values)) \ + F(void, GetPixelMapuiv, (GLenum map, GLuint *values)) \ + F(void, GetPixelMapfv, (GLenum map, GLfloat *values)) \ + F(void, GetMaterialiv, (GLenum face, GLenum pname, GLint *params)) \ + F(void, GetMaterialfv, (GLenum face, GLenum pname, GLfloat *params)) \ + F(void, GetMapiv, (GLenum target, GLenum query, GLint *v)) \ + F(void, GetMapfv, (GLenum target, GLenum query, GLfloat *v)) \ + F(void, GetMapdv, (GLenum target, GLenum query, GLdouble *v)) \ + F(void, GetLightiv, (GLenum light, GLenum pname, GLint *params)) \ + F(void, GetLightfv, (GLenum light, GLenum pname, GLfloat *params)) \ + F(void, GetClipPlane, (GLenum plane, GLdouble *equation)) \ + F(void, DrawPixels, (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)) \ + F(void, CopyPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)) \ + F(void, PixelMapusv, (GLenum map, GLsizei mapsize, const GLushort *values)) \ + F(void, PixelMapuiv, (GLenum map, GLsizei mapsize, const GLuint *values)) \ + F(void, PixelMapfv, (GLenum map, GLsizei mapsize, const GLfloat *values)) \ + F(void, PixelTransferi, (GLenum pname, GLint param)) \ + F(void, PixelTransferf, (GLenum pname, GLfloat param)) \ + F(void, PixelZoom, (GLfloat xfactor, GLfloat yfactor)) \ + F(void, AlphaFunc, (GLenum func, GLfloat ref)) \ + F(void, EvalPoint2, (GLint i, GLint j)) \ + F(void, EvalMesh2, (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)) \ + F(void, EvalPoint1, (GLint i)) \ + F(void, EvalMesh1, (GLenum mode, GLint i1, GLint i2)) \ + F(void, EvalCoord2fv, (const GLfloat *u)) \ + F(void, EvalCoord2f, (GLfloat u, GLfloat v)) \ + F(void, EvalCoord2dv, (const GLdouble *u)) \ + F(void, EvalCoord2d, (GLdouble u, GLdouble v)) \ + F(void, EvalCoord1fv, (const GLfloat *u)) \ + F(void, EvalCoord1f, (GLfloat u)) \ + F(void, EvalCoord1dv, (const GLdouble *u)) \ + F(void, EvalCoord1d, (GLdouble u)) \ + F(void, MapGrid2f, (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)) \ + F(void, MapGrid2d, (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)) \ + F(void, MapGrid1f, (GLint un, GLfloat u1, GLfloat u2)) \ + F(void, MapGrid1d, (GLint un, GLdouble u1, GLdouble u2)) \ + F(void, Map2f, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)) \ + F(void, Map2d, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)) \ + F(void, Map1f, (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)) \ + F(void, Map1d, (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)) \ + F(void, PushAttrib, (GLbitfield mask)) \ + F(void, PopAttrib, ()) \ + F(void, Accum, (GLenum op, GLfloat value)) \ + F(void, IndexMask, (GLuint mask)) \ + F(void, ClearIndex, (GLfloat c)) \ + F(void, ClearAccum, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) \ + F(void, PushName, (GLuint name)) \ + F(void, PopName, ()) \ + F(void, PassThrough, (GLfloat token)) \ + F(void, LoadName, (GLuint name)) \ + F(void, InitNames, ()) \ + F(GLint, RenderMode, (GLenum mode)) \ + F(void, SelectBuffer, (GLsizei size, GLuint *buffer)) \ + F(void, FeedbackBuffer, (GLsizei size, GLenum type, GLfloat *buffer)) \ + F(void, TexGeniv, (GLenum coord, GLenum pname, const GLint *params)) \ + F(void, TexGeni, (GLenum coord, GLenum pname, GLint param)) \ + F(void, TexGenfv, (GLenum coord, GLenum pname, const GLfloat *params)) \ + F(void, TexGenf, (GLenum coord, GLenum pname, GLfloat param)) \ + F(void, TexGendv, (GLenum coord, GLenum pname, const GLdouble *params)) \ + F(void, TexGend, (GLenum coord, GLenum pname, GLdouble param)) \ + F(void, TexEnviv, (GLenum target, GLenum pname, const GLint *params)) \ + F(void, TexEnvi, (GLenum target, GLenum pname, GLint param)) \ + F(void, TexEnvfv, (GLenum target, GLenum pname, const GLfloat *params)) \ + F(void, TexEnvf, (GLenum target, GLenum pname, GLfloat param)) \ + F(void, ShadeModel, (GLenum mode)) \ + F(void, PolygonStipple, (const GLubyte *mask)) \ + F(void, Materialiv, (GLenum face, GLenum pname, const GLint *params)) \ + F(void, Materiali, (GLenum face, GLenum pname, GLint param)) \ + F(void, Materialfv, (GLenum face, GLenum pname, const GLfloat *params)) \ + F(void, Materialf, (GLenum face, GLenum pname, GLfloat param)) \ + F(void, LineStipple, (GLint factor, GLushort pattern)) \ + F(void, LightModeliv, (GLenum pname, const GLint *params)) \ + F(void, LightModeli, (GLenum pname, GLint param)) \ + F(void, LightModelfv, (GLenum pname, const GLfloat *params)) \ + F(void, LightModelf, (GLenum pname, GLfloat param)) \ + F(void, Lightiv, (GLenum light, GLenum pname, const GLint *params)) \ + F(void, Lighti, (GLenum light, GLenum pname, GLint param)) \ + F(void, Lightfv, (GLenum light, GLenum pname, const GLfloat *params)) \ + F(void, Lightf, (GLenum light, GLenum pname, GLfloat param)) \ + F(void, Fogiv, (GLenum pname, const GLint *params)) \ + F(void, Fogi, (GLenum pname, GLint param)) \ + F(void, Fogfv, (GLenum pname, const GLfloat *params)) \ + F(void, Fogf, (GLenum pname, GLfloat param)) \ + F(void, ColorMaterial, (GLenum face, GLenum mode)) \ + F(void, ClipPlane, (GLenum plane, const GLdouble *equation)) \ + F(void, Vertex4sv, (const GLshort *v)) \ + F(void, Vertex4s, (GLshort x, GLshort y, GLshort z, GLshort w)) \ + F(void, Vertex4iv, (const GLint *v)) \ + F(void, Vertex4i, (GLint x, GLint y, GLint z, GLint w)) \ + F(void, Vertex4fv, (const GLfloat *v)) \ + F(void, Vertex4f, (GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, Vertex4dv, (const GLdouble *v)) \ + F(void, Vertex4d, (GLdouble x, GLdouble y, GLdouble z, GLdouble w)) \ + F(void, Vertex3sv, (const GLshort *v)) \ + F(void, Vertex3s, (GLshort x, GLshort y, GLshort z)) \ + F(void, Vertex3iv, (const GLint *v)) \ + F(void, Vertex3i, (GLint x, GLint y, GLint z)) \ + F(void, Vertex3fv, (const GLfloat *v)) \ + F(void, Vertex3f, (GLfloat x, GLfloat y, GLfloat z)) \ + F(void, Vertex3dv, (const GLdouble *v)) \ + F(void, Vertex3d, (GLdouble x, GLdouble y, GLdouble z)) \ + F(void, Vertex2sv, (const GLshort *v)) \ + F(void, Vertex2s, (GLshort x, GLshort y)) \ + F(void, Vertex2iv, (const GLint *v)) \ + F(void, Vertex2i, (GLint x, GLint y)) \ + F(void, Vertex2fv, (const GLfloat *v)) \ + F(void, Vertex2f, (GLfloat x, GLfloat y)) \ + F(void, Vertex2dv, (const GLdouble *v)) \ + F(void, Vertex2d, (GLdouble x, GLdouble y)) \ + F(void, TexCoord4sv, (const GLshort *v)) \ + F(void, TexCoord4s, (GLshort s, GLshort t, GLshort r, GLshort q)) \ + F(void, TexCoord4iv, (const GLint *v)) \ + F(void, TexCoord4i, (GLint s, GLint t, GLint r, GLint q)) \ + F(void, TexCoord4fv, (const GLfloat *v)) \ + F(void, TexCoord4f, (GLfloat s, GLfloat t, GLfloat r, GLfloat q)) \ + F(void, TexCoord4dv, (const GLdouble *v)) \ + F(void, TexCoord4d, (GLdouble s, GLdouble t, GLdouble r, GLdouble q)) \ + F(void, TexCoord3sv, (const GLshort *v)) \ + F(void, TexCoord3s, (GLshort s, GLshort t, GLshort r)) \ + F(void, TexCoord3iv, (const GLint *v)) \ + F(void, TexCoord3i, (GLint s, GLint t, GLint r)) \ + F(void, TexCoord3fv, (const GLfloat *v)) \ + F(void, TexCoord3f, (GLfloat s, GLfloat t, GLfloat r)) \ + F(void, TexCoord3dv, (const GLdouble *v)) \ + F(void, TexCoord3d, (GLdouble s, GLdouble t, GLdouble r)) \ + F(void, TexCoord2sv, (const GLshort *v)) \ + F(void, TexCoord2s, (GLshort s, GLshort t)) \ + F(void, TexCoord2iv, (const GLint *v)) \ + F(void, TexCoord2i, (GLint s, GLint t)) \ + F(void, TexCoord2fv, (const GLfloat *v)) \ + F(void, TexCoord2f, (GLfloat s, GLfloat t)) \ + F(void, TexCoord2dv, (const GLdouble *v)) \ + F(void, TexCoord2d, (GLdouble s, GLdouble t)) \ + F(void, TexCoord1sv, (const GLshort *v)) \ + F(void, TexCoord1s, (GLshort s)) \ + F(void, TexCoord1iv, (const GLint *v)) \ + F(void, TexCoord1i, (GLint s)) \ + F(void, TexCoord1fv, (const GLfloat *v)) \ + F(void, TexCoord1f, (GLfloat s)) \ + F(void, TexCoord1dv, (const GLdouble *v)) \ + F(void, TexCoord1d, (GLdouble s)) \ + F(void, Rectsv, (const GLshort *v1, const GLshort *v2)) \ + F(void, Rects, (GLshort x1, GLshort y1, GLshort x2, GLshort y2)) \ + F(void, Rectiv, (const GLint *v1, const GLint *v2)) \ + F(void, Recti, (GLint x1, GLint y1, GLint x2, GLint y2)) \ + F(void, Rectfv, (const GLfloat *v1, const GLfloat *v2)) \ + F(void, Rectf, (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)) \ + F(void, Rectdv, (const GLdouble *v1, const GLdouble *v2)) \ + F(void, Rectd, (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)) \ + F(void, RasterPos4sv, (const GLshort *v)) \ + F(void, RasterPos4s, (GLshort x, GLshort y, GLshort z, GLshort w)) \ + F(void, RasterPos4iv, (const GLint *v)) \ + F(void, RasterPos4i, (GLint x, GLint y, GLint z, GLint w)) \ + F(void, RasterPos4fv, (const GLfloat *v)) \ + F(void, RasterPos4f, (GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, RasterPos4dv, (const GLdouble *v)) \ + F(void, RasterPos4d, (GLdouble x, GLdouble y, GLdouble z, GLdouble w)) \ + F(void, RasterPos3sv, (const GLshort *v)) \ + F(void, RasterPos3s, (GLshort x, GLshort y, GLshort z)) \ + F(void, RasterPos3iv, (const GLint *v)) \ + F(void, RasterPos3i, (GLint x, GLint y, GLint z)) \ + F(void, RasterPos3fv, (const GLfloat *v)) \ + F(void, RasterPos3f, (GLfloat x, GLfloat y, GLfloat z)) \ + F(void, RasterPos3dv, (const GLdouble *v)) \ + F(void, RasterPos3d, (GLdouble x, GLdouble y, GLdouble z)) \ + F(void, RasterPos2sv, (const GLshort *v)) \ + F(void, RasterPos2s, (GLshort x, GLshort y)) \ + F(void, RasterPos2iv, (const GLint *v)) \ + F(void, RasterPos2i, (GLint x, GLint y)) \ + F(void, RasterPos2fv, (const GLfloat *v)) \ + F(void, RasterPos2f, (GLfloat x, GLfloat y)) \ + F(void, RasterPos2dv, (const GLdouble *v)) \ + F(void, RasterPos2d, (GLdouble x, GLdouble y)) \ + F(void, Normal3sv, (const GLshort *v)) \ + F(void, Normal3s, (GLshort nx, GLshort ny, GLshort nz)) \ + F(void, Normal3iv, (const GLint *v)) \ + F(void, Normal3i, (GLint nx, GLint ny, GLint nz)) \ + F(void, Normal3fv, (const GLfloat *v)) \ + F(void, Normal3f, (GLfloat nx, GLfloat ny, GLfloat nz)) \ + F(void, Normal3dv, (const GLdouble *v)) \ + F(void, Normal3d, (GLdouble nx, GLdouble ny, GLdouble nz)) \ + F(void, Normal3bv, (const GLbyte *v)) \ + F(void, Normal3b, (GLbyte nx, GLbyte ny, GLbyte nz)) \ + F(void, Indexsv, (const GLshort *c)) \ + F(void, Indexs, (GLshort c)) \ + F(void, Indexiv, (const GLint *c)) \ + F(void, Indexi, (GLint c)) \ + F(void, Indexfv, (const GLfloat *c)) \ + F(void, Indexf, (GLfloat c)) \ + F(void, Indexdv, (const GLdouble *c)) \ + F(void, Indexd, (GLdouble c)) \ + F(void, End, ()) \ + F(void, EdgeFlagv, (const GLboolean *flag)) \ + F(void, EdgeFlag, (GLboolean flag)) \ + F(void, Color4usv, (const GLushort *v)) \ + F(void, Color4us, (GLushort red, GLushort green, GLushort blue, GLushort alpha)) \ + F(void, Color4uiv, (const GLuint *v)) \ + F(void, Color4ui, (GLuint red, GLuint green, GLuint blue, GLuint alpha)) \ + F(void, Color4ubv, (const GLubyte *v)) \ + F(void, Color4ub, (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha)) \ + F(void, Color4sv, (const GLshort *v)) \ + F(void, Color4s, (GLshort red, GLshort green, GLshort blue, GLshort alpha)) \ + F(void, Color4iv, (const GLint *v)) \ + F(void, Color4i, (GLint red, GLint green, GLint blue, GLint alpha)) \ + F(void, Color4fv, (const GLfloat *v)) \ + F(void, Color4f, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) \ + F(void, Color4dv, (const GLdouble *v)) \ + F(void, Color4d, (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)) \ + F(void, Color4bv, (const GLbyte *v)) \ + F(void, Color4b, (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha)) \ + F(void, Color3usv, (const GLushort *v)) \ + F(void, Color3us, (GLushort red, GLushort green, GLushort blue)) \ + F(void, Color3uiv, (const GLuint *v)) \ + F(void, Color3ui, (GLuint red, GLuint green, GLuint blue)) \ + F(void, Color3ubv, (const GLubyte *v)) \ + F(void, Color3ub, (GLubyte red, GLubyte green, GLubyte blue)) \ + F(void, Color3sv, (const GLshort *v)) \ + F(void, Color3s, (GLshort red, GLshort green, GLshort blue)) \ + F(void, Color3iv, (const GLint *v)) \ + F(void, Color3i, (GLint red, GLint green, GLint blue)) \ + F(void, Color3fv, (const GLfloat *v)) \ + F(void, Color3f, (GLfloat red, GLfloat green, GLfloat blue)) \ + F(void, Color3dv, (const GLdouble *v)) \ + F(void, Color3d, (GLdouble red, GLdouble green, GLdouble blue)) \ + F(void, Color3bv, (const GLbyte *v)) \ + F(void, Color3b, (GLbyte red, GLbyte green, GLbyte blue)) \ + F(void, Bitmap, (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)) \ + F(void, Begin, (GLenum mode)) \ + F(void, ListBase, (GLuint base)) \ + F(GLuint, GenLists, (GLsizei range)) \ + F(void, DeleteLists, (GLuint list, GLsizei range)) \ + F(void, CallLists, (GLsizei n, GLenum type, const GLvoid *lists)) \ + F(void, CallList, (GLuint list)) \ + F(void, EndList, ()) \ + F(void, NewList, (GLuint list, GLenum mode)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_0_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_1_1_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1330,23 +1388,26 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.1 deprecated functions - void (QOPENGLF_APIENTRYP PushClientAttrib)(GLbitfield mask); - void (QOPENGLF_APIENTRYP PopClientAttrib)(); - void (QOPENGLF_APIENTRYP PrioritizeTextures)(GLsizei n, const GLuint *textures, const GLfloat *priorities); - GLboolean (QOPENGLF_APIENTRYP AreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences); - void (QOPENGLF_APIENTRYP VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP NormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP IndexPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP EnableClientState)(GLenum array); - void (QOPENGLF_APIENTRYP EdgeFlagPointer)(GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP DisableClientState)(GLenum array); - void (QOPENGLF_APIENTRYP ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP ArrayElement)(GLint i); - void (QOPENGLF_APIENTRYP Indexubv)(const GLubyte *c); - void (QOPENGLF_APIENTRYP Indexub)(GLubyte c); - void (QOPENGLF_APIENTRYP GetPointerv)(GLenum pname, GLvoid* *params); +#define QT_OPENGL_1_1_DEPRECATED_FUNCTIONS(F) \ + F(void, PushClientAttrib, (GLbitfield mask)) \ + F(void, PopClientAttrib, ()) \ + F(void, PrioritizeTextures, (GLsizei n, const GLuint *textures, const GLfloat *priorities)) \ + F(GLboolean, AreTexturesResident, (GLsizei n, const GLuint *textures, GLboolean *residences)) \ + F(void, VertexPointer, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, TexCoordPointer, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, NormalPointer, (GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, InterleavedArrays, (GLenum format, GLsizei stride, const GLvoid *pointer)) \ + F(void, IndexPointer, (GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, EnableClientState, (GLenum array)) \ + F(void, EdgeFlagPointer, (GLsizei stride, const GLvoid *pointer)) \ + F(void, DisableClientState, (GLenum array)) \ + F(void, ColorPointer, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, ArrayElement, (GLint i)) \ + F(void, Indexubv, (const GLubyte *c)) \ + F(void, Indexub, (GLubyte c)) \ + F(void, GetPointerv, (GLenum pname, GLvoid* *params)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_1_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_1_2_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1357,39 +1418,41 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.2 deprecated functions - void (QOPENGLF_APIENTRYP ColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP ColorTableParameteriv)(GLenum target, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP CopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); - void (QOPENGLF_APIENTRYP GetColorTable)(GLenum target, GLenum format, GLenum type, GLvoid *table); - void (QOPENGLF_APIENTRYP GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetColorTableParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data); - void (QOPENGLF_APIENTRYP CopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); - void (QOPENGLF_APIENTRYP ConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image); - void (QOPENGLF_APIENTRYP ConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image); - void (QOPENGLF_APIENTRYP ConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params); - void (QOPENGLF_APIENTRYP ConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP ConvolutionParameteri)(GLenum target, GLenum pname, GLint params); - void (QOPENGLF_APIENTRYP ConvolutionParameteriv)(GLenum target, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP CopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); - void (QOPENGLF_APIENTRYP CopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP GetConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLvoid *image); - void (QOPENGLF_APIENTRYP GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span); - void (QOPENGLF_APIENTRYP SeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column); - void (QOPENGLF_APIENTRYP GetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); - void (QOPENGLF_APIENTRYP GetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetHistogramParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values); - void (QOPENGLF_APIENTRYP GetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetMinmaxParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP Histogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); - void (QOPENGLF_APIENTRYP Minmax)(GLenum target, GLenum internalformat, GLboolean sink); - void (QOPENGLF_APIENTRYP ResetHistogram)(GLenum target); - void (QOPENGLF_APIENTRYP ResetMinmax)(GLenum target); - void (QOPENGLF_APIENTRYP ColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table); - +#define QT_OPENGL_1_2_DEPRECATED_FUNCTIONS(F) \ + F(void, ColorTableParameterfv, (GLenum target, GLenum pname, const GLfloat *params)) \ + F(void, ColorTableParameteriv, (GLenum target, GLenum pname, const GLint *params)) \ + F(void, CopyColorTable, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) \ + F(void, GetColorTable, (GLenum target, GLenum format, GLenum type, GLvoid *table)) \ + F(void, GetColorTableParameterfv, (GLenum target, GLenum pname, GLfloat *params)) \ + F(void, GetColorTableParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, ColorSubTable, (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data)) \ + F(void, CopyColorSubTable, (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)) \ + F(void, ConvolutionFilter1D, (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image)) \ + F(void, ConvolutionFilter2D, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image)) \ + F(void, ConvolutionParameterf, (GLenum target, GLenum pname, GLfloat params)) \ + F(void, ConvolutionParameterfv, (GLenum target, GLenum pname, const GLfloat *params)) \ + F(void, ConvolutionParameteri, (GLenum target, GLenum pname, GLint params)) \ + F(void, ConvolutionParameteriv, (GLenum target, GLenum pname, const GLint *params)) \ + F(void, CopyConvolutionFilter1D, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) \ + F(void, CopyConvolutionFilter2D, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, GetConvolutionFilter, (GLenum target, GLenum format, GLenum type, GLvoid *image)) \ + F(void, GetConvolutionParameterfv, (GLenum target, GLenum pname, GLfloat *params)) \ + F(void, GetConvolutionParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, GetSeparableFilter, (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span)) \ + F(void, SeparableFilter2D, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column)) \ + F(void, GetHistogram, (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)) \ + F(void, GetHistogramParameterfv, (GLenum target, GLenum pname, GLfloat *params)) \ + F(void, GetHistogramParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, GetMinmax, (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)) \ + F(void, GetMinmaxParameterfv, (GLenum target, GLenum pname, GLfloat *params)) \ + F(void, GetMinmaxParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, Histogram, (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink)) \ + F(void, Minmax, (GLenum target, GLenum internalformat, GLboolean sink)) \ + F(void, ResetHistogram, (GLenum target)) \ + F(void, ResetMinmax, (GLenum target)) \ + F(void, ColorTable, (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_2_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_1_3_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1400,44 +1463,46 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.3 deprecated functions - void (QOPENGLF_APIENTRYP MultTransposeMatrixd)(const GLdouble *m); - void (QOPENGLF_APIENTRYP MultTransposeMatrixf)(const GLfloat *m); - void (QOPENGLF_APIENTRYP LoadTransposeMatrixd)(const GLdouble *m); - void (QOPENGLF_APIENTRYP LoadTransposeMatrixf)(const GLfloat *m); - void (QOPENGLF_APIENTRYP MultiTexCoord4sv)(GLenum target, const GLshort *v); - void (QOPENGLF_APIENTRYP MultiTexCoord4s)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); - void (QOPENGLF_APIENTRYP MultiTexCoord4iv)(GLenum target, const GLint *v); - void (QOPENGLF_APIENTRYP MultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q); - void (QOPENGLF_APIENTRYP MultiTexCoord4fv)(GLenum target, const GLfloat *v); - void (QOPENGLF_APIENTRYP MultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); - void (QOPENGLF_APIENTRYP MultiTexCoord4dv)(GLenum target, const GLdouble *v); - void (QOPENGLF_APIENTRYP MultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); - void (QOPENGLF_APIENTRYP MultiTexCoord3sv)(GLenum target, const GLshort *v); - void (QOPENGLF_APIENTRYP MultiTexCoord3s)(GLenum target, GLshort s, GLshort t, GLshort r); - void (QOPENGLF_APIENTRYP MultiTexCoord3iv)(GLenum target, const GLint *v); - void (QOPENGLF_APIENTRYP MultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r); - void (QOPENGLF_APIENTRYP MultiTexCoord3fv)(GLenum target, const GLfloat *v); - void (QOPENGLF_APIENTRYP MultiTexCoord3f)(GLenum target, GLfloat s, GLfloat t, GLfloat r); - void (QOPENGLF_APIENTRYP MultiTexCoord3dv)(GLenum target, const GLdouble *v); - void (QOPENGLF_APIENTRYP MultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r); - void (QOPENGLF_APIENTRYP MultiTexCoord2sv)(GLenum target, const GLshort *v); - void (QOPENGLF_APIENTRYP MultiTexCoord2s)(GLenum target, GLshort s, GLshort t); - void (QOPENGLF_APIENTRYP MultiTexCoord2iv)(GLenum target, const GLint *v); - void (QOPENGLF_APIENTRYP MultiTexCoord2i)(GLenum target, GLint s, GLint t); - void (QOPENGLF_APIENTRYP MultiTexCoord2fv)(GLenum target, const GLfloat *v); - void (QOPENGLF_APIENTRYP MultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t); - void (QOPENGLF_APIENTRYP MultiTexCoord2dv)(GLenum target, const GLdouble *v); - void (QOPENGLF_APIENTRYP MultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t); - void (QOPENGLF_APIENTRYP MultiTexCoord1sv)(GLenum target, const GLshort *v); - void (QOPENGLF_APIENTRYP MultiTexCoord1s)(GLenum target, GLshort s); - void (QOPENGLF_APIENTRYP MultiTexCoord1iv)(GLenum target, const GLint *v); - void (QOPENGLF_APIENTRYP MultiTexCoord1i)(GLenum target, GLint s); - void (QOPENGLF_APIENTRYP MultiTexCoord1fv)(GLenum target, const GLfloat *v); - void (QOPENGLF_APIENTRYP MultiTexCoord1f)(GLenum target, GLfloat s); - void (QOPENGLF_APIENTRYP MultiTexCoord1dv)(GLenum target, const GLdouble *v); - void (QOPENGLF_APIENTRYP MultiTexCoord1d)(GLenum target, GLdouble s); - void (QOPENGLF_APIENTRYP ClientActiveTexture)(GLenum texture); - +#define QT_OPENGL_1_3_DEPRECATED_FUNCTIONS(F) \ + F(void, MultTransposeMatrixd, (const GLdouble *m)) \ + F(void, MultTransposeMatrixf, (const GLfloat *m)) \ + F(void, LoadTransposeMatrixd, (const GLdouble *m)) \ + F(void, LoadTransposeMatrixf, (const GLfloat *m)) \ + F(void, MultiTexCoord4sv, (GLenum target, const GLshort *v)) \ + F(void, MultiTexCoord4s, (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)) \ + F(void, MultiTexCoord4iv, (GLenum target, const GLint *v)) \ + F(void, MultiTexCoord4i, (GLenum target, GLint s, GLint t, GLint r, GLint q)) \ + F(void, MultiTexCoord4fv, (GLenum target, const GLfloat *v)) \ + F(void, MultiTexCoord4f, (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)) \ + F(void, MultiTexCoord4dv, (GLenum target, const GLdouble *v)) \ + F(void, MultiTexCoord4d, (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)) \ + F(void, MultiTexCoord3sv, (GLenum target, const GLshort *v)) \ + F(void, MultiTexCoord3s, (GLenum target, GLshort s, GLshort t, GLshort r)) \ + F(void, MultiTexCoord3iv, (GLenum target, const GLint *v)) \ + F(void, MultiTexCoord3i, (GLenum target, GLint s, GLint t, GLint r)) \ + F(void, MultiTexCoord3fv, (GLenum target, const GLfloat *v)) \ + F(void, MultiTexCoord3f, (GLenum target, GLfloat s, GLfloat t, GLfloat r)) \ + F(void, MultiTexCoord3dv, (GLenum target, const GLdouble *v)) \ + F(void, MultiTexCoord3d, (GLenum target, GLdouble s, GLdouble t, GLdouble r)) \ + F(void, MultiTexCoord2sv, (GLenum target, const GLshort *v)) \ + F(void, MultiTexCoord2s, (GLenum target, GLshort s, GLshort t)) \ + F(void, MultiTexCoord2iv, (GLenum target, const GLint *v)) \ + F(void, MultiTexCoord2i, (GLenum target, GLint s, GLint t)) \ + F(void, MultiTexCoord2fv, (GLenum target, const GLfloat *v)) \ + F(void, MultiTexCoord2f, (GLenum target, GLfloat s, GLfloat t)) \ + F(void, MultiTexCoord2dv, (GLenum target, const GLdouble *v)) \ + F(void, MultiTexCoord2d, (GLenum target, GLdouble s, GLdouble t)) \ + F(void, MultiTexCoord1sv, (GLenum target, const GLshort *v)) \ + F(void, MultiTexCoord1s, (GLenum target, GLshort s)) \ + F(void, MultiTexCoord1iv, (GLenum target, const GLint *v)) \ + F(void, MultiTexCoord1i, (GLenum target, GLint s)) \ + F(void, MultiTexCoord1fv, (GLenum target, const GLfloat *v)) \ + F(void, MultiTexCoord1f, (GLenum target, GLfloat s)) \ + F(void, MultiTexCoord1dv, (GLenum target, const GLdouble *v)) \ + F(void, MultiTexCoord1d, (GLenum target, GLdouble s)) \ + F(void, ClientActiveTexture, (GLenum texture)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_3_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_1_4_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1448,45 +1513,47 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 1.4 deprecated functions - void (QOPENGLF_APIENTRYP WindowPos3sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP WindowPos3s)(GLshort x, GLshort y, GLshort z); - void (QOPENGLF_APIENTRYP WindowPos3iv)(const GLint *v); - void (QOPENGLF_APIENTRYP WindowPos3i)(GLint x, GLint y, GLint z); - void (QOPENGLF_APIENTRYP WindowPos3fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP WindowPos3f)(GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP WindowPos3dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP WindowPos3d)(GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP WindowPos2sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP WindowPos2s)(GLshort x, GLshort y); - void (QOPENGLF_APIENTRYP WindowPos2iv)(const GLint *v); - void (QOPENGLF_APIENTRYP WindowPos2i)(GLint x, GLint y); - void (QOPENGLF_APIENTRYP WindowPos2fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP WindowPos2f)(GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP WindowPos2dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP WindowPos2d)(GLdouble x, GLdouble y); - void (QOPENGLF_APIENTRYP SecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP SecondaryColor3usv)(const GLushort *v); - void (QOPENGLF_APIENTRYP SecondaryColor3us)(GLushort red, GLushort green, GLushort blue); - void (QOPENGLF_APIENTRYP SecondaryColor3uiv)(const GLuint *v); - void (QOPENGLF_APIENTRYP SecondaryColor3ui)(GLuint red, GLuint green, GLuint blue); - void (QOPENGLF_APIENTRYP SecondaryColor3ubv)(const GLubyte *v); - void (QOPENGLF_APIENTRYP SecondaryColor3ub)(GLubyte red, GLubyte green, GLubyte blue); - void (QOPENGLF_APIENTRYP SecondaryColor3sv)(const GLshort *v); - void (QOPENGLF_APIENTRYP SecondaryColor3s)(GLshort red, GLshort green, GLshort blue); - void (QOPENGLF_APIENTRYP SecondaryColor3iv)(const GLint *v); - void (QOPENGLF_APIENTRYP SecondaryColor3i)(GLint red, GLint green, GLint blue); - void (QOPENGLF_APIENTRYP SecondaryColor3fv)(const GLfloat *v); - void (QOPENGLF_APIENTRYP SecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue); - void (QOPENGLF_APIENTRYP SecondaryColor3dv)(const GLdouble *v); - void (QOPENGLF_APIENTRYP SecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue); - void (QOPENGLF_APIENTRYP SecondaryColor3bv)(const GLbyte *v); - void (QOPENGLF_APIENTRYP SecondaryColor3b)(GLbyte red, GLbyte green, GLbyte blue); - void (QOPENGLF_APIENTRYP FogCoordPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); - void (QOPENGLF_APIENTRYP FogCoorddv)(const GLdouble *coord); - void (QOPENGLF_APIENTRYP FogCoordd)(GLdouble coord); - void (QOPENGLF_APIENTRYP FogCoordfv)(const GLfloat *coord); - void (QOPENGLF_APIENTRYP FogCoordf)(GLfloat coord); - +#define QT_OPENGL_1_4_DEPRECATED_FUNCTIONS(F) \ + F(void, WindowPos3sv, (const GLshort *v)) \ + F(void, WindowPos3s, (GLshort x, GLshort y, GLshort z)) \ + F(void, WindowPos3iv, (const GLint *v)) \ + F(void, WindowPos3i, (GLint x, GLint y, GLint z)) \ + F(void, WindowPos3fv, (const GLfloat *v)) \ + F(void, WindowPos3f, (GLfloat x, GLfloat y, GLfloat z)) \ + F(void, WindowPos3dv, (const GLdouble *v)) \ + F(void, WindowPos3d, (GLdouble x, GLdouble y, GLdouble z)) \ + F(void, WindowPos2sv, (const GLshort *v)) \ + F(void, WindowPos2s, (GLshort x, GLshort y)) \ + F(void, WindowPos2iv, (const GLint *v)) \ + F(void, WindowPos2i, (GLint x, GLint y)) \ + F(void, WindowPos2fv, (const GLfloat *v)) \ + F(void, WindowPos2f, (GLfloat x, GLfloat y)) \ + F(void, WindowPos2dv, (const GLdouble *v)) \ + F(void, WindowPos2d, (GLdouble x, GLdouble y)) \ + F(void, SecondaryColorPointer, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, SecondaryColor3usv, (const GLushort *v)) \ + F(void, SecondaryColor3us, (GLushort red, GLushort green, GLushort blue)) \ + F(void, SecondaryColor3uiv, (const GLuint *v)) \ + F(void, SecondaryColor3ui, (GLuint red, GLuint green, GLuint blue)) \ + F(void, SecondaryColor3ubv, (const GLubyte *v)) \ + F(void, SecondaryColor3ub, (GLubyte red, GLubyte green, GLubyte blue)) \ + F(void, SecondaryColor3sv, (const GLshort *v)) \ + F(void, SecondaryColor3s, (GLshort red, GLshort green, GLshort blue)) \ + F(void, SecondaryColor3iv, (const GLint *v)) \ + F(void, SecondaryColor3i, (GLint red, GLint green, GLint blue)) \ + F(void, SecondaryColor3fv, (const GLfloat *v)) \ + F(void, SecondaryColor3f, (GLfloat red, GLfloat green, GLfloat blue)) \ + F(void, SecondaryColor3dv, (const GLdouble *v)) \ + F(void, SecondaryColor3d, (GLdouble red, GLdouble green, GLdouble blue)) \ + F(void, SecondaryColor3bv, (const GLbyte *v)) \ + F(void, SecondaryColor3b, (GLbyte red, GLbyte green, GLbyte blue)) \ + F(void, FogCoordPointer, (GLenum type, GLsizei stride, const GLvoid *pointer)) \ + F(void, FogCoorddv, (const GLdouble *coord)) \ + F(void, FogCoordd, (GLdouble coord)) \ + F(void, FogCoordfv, (const GLfloat *coord)) \ + F(void, FogCoordf, (GLfloat coord)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_1_4_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_2_0_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1497,43 +1564,45 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 2.0 deprecated functions - void (QOPENGLF_APIENTRYP VertexAttrib4usv)(GLuint index, const GLushort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4ubv)(GLuint index, const GLubyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib4sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4s)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); - void (QOPENGLF_APIENTRYP VertexAttrib4iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP VertexAttrib4dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); - void (QOPENGLF_APIENTRYP VertexAttrib4bv)(GLuint index, const GLbyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nusv)(GLuint index, const GLushort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nuiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nubv)(GLuint index, const GLubyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nub)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); - void (QOPENGLF_APIENTRYP VertexAttrib4Nsv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Niv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttrib4Nbv)(GLuint index, const GLbyte *v); - void (QOPENGLF_APIENTRYP VertexAttrib3sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib3s)(GLuint index, GLshort x, GLshort y, GLshort z); - void (QOPENGLF_APIENTRYP VertexAttrib3fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP VertexAttrib3dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); - void (QOPENGLF_APIENTRYP VertexAttrib2sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib2s)(GLuint index, GLshort x, GLshort y); - void (QOPENGLF_APIENTRYP VertexAttrib2fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib2f)(GLuint index, GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP VertexAttrib2dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib2d)(GLuint index, GLdouble x, GLdouble y); - void (QOPENGLF_APIENTRYP VertexAttrib1sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttrib1s)(GLuint index, GLshort x); - void (QOPENGLF_APIENTRYP VertexAttrib1fv)(GLuint index, const GLfloat *v); - void (QOPENGLF_APIENTRYP VertexAttrib1f)(GLuint index, GLfloat x); - void (QOPENGLF_APIENTRYP VertexAttrib1dv)(GLuint index, const GLdouble *v); - void (QOPENGLF_APIENTRYP VertexAttrib1d)(GLuint index, GLdouble x); - +#define QT_OPENGL_2_0_DEPRECATED_FUNCTIONS(F) \ + F(void, VertexAttrib4usv, (GLuint index, const GLushort *v)) \ + F(void, VertexAttrib4uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttrib4ubv, (GLuint index, const GLubyte *v)) \ + F(void, VertexAttrib4sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib4s, (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w)) \ + F(void, VertexAttrib4iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttrib4fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib4f, (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, VertexAttrib4dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib4d, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) \ + F(void, VertexAttrib4bv, (GLuint index, const GLbyte *v)) \ + F(void, VertexAttrib4Nusv, (GLuint index, const GLushort *v)) \ + F(void, VertexAttrib4Nuiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttrib4Nubv, (GLuint index, const GLubyte *v)) \ + F(void, VertexAttrib4Nub, (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w)) \ + F(void, VertexAttrib4Nsv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib4Niv, (GLuint index, const GLint *v)) \ + F(void, VertexAttrib4Nbv, (GLuint index, const GLbyte *v)) \ + F(void, VertexAttrib3sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib3s, (GLuint index, GLshort x, GLshort y, GLshort z)) \ + F(void, VertexAttrib3fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib3f, (GLuint index, GLfloat x, GLfloat y, GLfloat z)) \ + F(void, VertexAttrib3dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib3d, (GLuint index, GLdouble x, GLdouble y, GLdouble z)) \ + F(void, VertexAttrib2sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib2s, (GLuint index, GLshort x, GLshort y)) \ + F(void, VertexAttrib2fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib2f, (GLuint index, GLfloat x, GLfloat y)) \ + F(void, VertexAttrib2dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib2d, (GLuint index, GLdouble x, GLdouble y)) \ + F(void, VertexAttrib1sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttrib1s, (GLuint index, GLshort x)) \ + F(void, VertexAttrib1fv, (GLuint index, const GLfloat *v)) \ + F(void, VertexAttrib1f, (GLuint index, GLfloat x)) \ + F(void, VertexAttrib1dv, (GLuint index, const GLdouble *v)) \ + F(void, VertexAttrib1d, (GLuint index, GLdouble x)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_2_0_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_3_0_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1544,27 +1613,29 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 3.0 deprecated functions - void (QOPENGLF_APIENTRYP VertexAttribI4usv)(GLuint index, const GLushort *v); - void (QOPENGLF_APIENTRYP VertexAttribI4ubv)(GLuint index, const GLubyte *v); - void (QOPENGLF_APIENTRYP VertexAttribI4sv)(GLuint index, const GLshort *v); - void (QOPENGLF_APIENTRYP VertexAttribI4bv)(GLuint index, const GLbyte *v); - void (QOPENGLF_APIENTRYP VertexAttribI4uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI3uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI2uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI1uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP VertexAttribI4iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI3iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI2iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI1iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); - void (QOPENGLF_APIENTRYP VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z); - void (QOPENGLF_APIENTRYP VertexAttribI2ui)(GLuint index, GLuint x, GLuint y); - void (QOPENGLF_APIENTRYP VertexAttribI1ui)(GLuint index, GLuint x); - void (QOPENGLF_APIENTRYP VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z); - void (QOPENGLF_APIENTRYP VertexAttribI2i)(GLuint index, GLint x, GLint y); - void (QOPENGLF_APIENTRYP VertexAttribI1i)(GLuint index, GLint x); - +#define QT_OPENGL_3_0_DEPRECATED_FUNCTIONS(F) \ + F(void, VertexAttribI4usv, (GLuint index, const GLushort *v)) \ + F(void, VertexAttribI4ubv, (GLuint index, const GLubyte *v)) \ + F(void, VertexAttribI4sv, (GLuint index, const GLshort *v)) \ + F(void, VertexAttribI4bv, (GLuint index, const GLbyte *v)) \ + F(void, VertexAttribI4uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI3uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI2uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI1uiv, (GLuint index, const GLuint *v)) \ + F(void, VertexAttribI4iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI3iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI2iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI1iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI4ui, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) \ + F(void, VertexAttribI3ui, (GLuint index, GLuint x, GLuint y, GLuint z)) \ + F(void, VertexAttribI2ui, (GLuint index, GLuint x, GLuint y)) \ + F(void, VertexAttribI1ui, (GLuint index, GLuint x)) \ + F(void, VertexAttribI4i, (GLuint index, GLint x, GLint y, GLint z, GLint w)) \ + F(void, VertexAttribI3i, (GLuint index, GLint x, GLint y, GLint z)) \ + F(void, VertexAttribI2i, (GLuint index, GLint x, GLint y)) \ + F(void, VertexAttribI1i, (GLuint index, GLint x)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_3_0_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_3_3_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1575,37 +1646,39 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 3.3 deprecated functions - void (QOPENGLF_APIENTRYP SecondaryColorP3uiv)(GLenum type, const GLuint *color); - void (QOPENGLF_APIENTRYP SecondaryColorP3ui)(GLenum type, GLuint color); - void (QOPENGLF_APIENTRYP ColorP4uiv)(GLenum type, const GLuint *color); - void (QOPENGLF_APIENTRYP ColorP4ui)(GLenum type, GLuint color); - void (QOPENGLF_APIENTRYP ColorP3uiv)(GLenum type, const GLuint *color); - void (QOPENGLF_APIENTRYP ColorP3ui)(GLenum type, GLuint color); - void (QOPENGLF_APIENTRYP NormalP3uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP NormalP3ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP4uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP4ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP3uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP3ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP2uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP2ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP1uiv)(GLenum texture, GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP MultiTexCoordP1ui)(GLenum texture, GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP4uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP4ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP3uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP3ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP2uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP2ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP TexCoordP1uiv)(GLenum type, const GLuint *coords); - void (QOPENGLF_APIENTRYP TexCoordP1ui)(GLenum type, GLuint coords); - void (QOPENGLF_APIENTRYP VertexP4uiv)(GLenum type, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexP4ui)(GLenum type, GLuint value); - void (QOPENGLF_APIENTRYP VertexP3uiv)(GLenum type, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexP3ui)(GLenum type, GLuint value); - void (QOPENGLF_APIENTRYP VertexP2uiv)(GLenum type, const GLuint *value); - void (QOPENGLF_APIENTRYP VertexP2ui)(GLenum type, GLuint value); - +#define QT_OPENGL_3_3_DEPRECATED_FUNCTIONS(F) \ + F(void, SecondaryColorP3uiv, (GLenum type, const GLuint *color)) \ + F(void, SecondaryColorP3ui, (GLenum type, GLuint color)) \ + F(void, ColorP4uiv, (GLenum type, const GLuint *color)) \ + F(void, ColorP4ui, (GLenum type, GLuint color)) \ + F(void, ColorP3uiv, (GLenum type, const GLuint *color)) \ + F(void, ColorP3ui, (GLenum type, GLuint color)) \ + F(void, NormalP3uiv, (GLenum type, const GLuint *coords)) \ + F(void, NormalP3ui, (GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP4uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP4ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP3uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP3ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP2uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP2ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, MultiTexCoordP1uiv, (GLenum texture, GLenum type, const GLuint *coords)) \ + F(void, MultiTexCoordP1ui, (GLenum texture, GLenum type, GLuint coords)) \ + F(void, TexCoordP4uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP4ui, (GLenum type, GLuint coords)) \ + F(void, TexCoordP3uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP3ui, (GLenum type, GLuint coords)) \ + F(void, TexCoordP2uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP2ui, (GLenum type, GLuint coords)) \ + F(void, TexCoordP1uiv, (GLenum type, const GLuint *coords)) \ + F(void, TexCoordP1ui, (GLenum type, GLuint coords)) \ + F(void, VertexP4uiv, (GLenum type, const GLuint *value)) \ + F(void, VertexP4ui, (GLenum type, GLuint value)) \ + F(void, VertexP3uiv, (GLenum type, const GLuint *value)) \ + F(void, VertexP3ui, (GLenum type, GLuint value)) \ + F(void, VertexP2uiv, (GLenum type, const GLuint *value)) \ + F(void, VertexP2ui, (GLenum type, GLuint value)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_3_3_DEPRECATED_FUNCTIONS); }; class QOpenGLFunctions_4_5_DeprecatedBackend : public QOpenGLVersionFunctionsBackend @@ -1616,19 +1689,21 @@ public: static QOpenGLVersionStatus versionStatus(); // OpenGL 4.5 deprecated functions - void (QOPENGLF_APIENTRYP GetnMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values); - void (QOPENGLF_APIENTRYP GetnHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values); - void (QOPENGLF_APIENTRYP GetnSeparableFilter)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span); - void (QOPENGLF_APIENTRYP GetnConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image); - void (QOPENGLF_APIENTRYP GetnColorTable)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table); - void (QOPENGLF_APIENTRYP GetnPolygonStipple)(GLsizei bufSize, GLubyte *pattern); - void (QOPENGLF_APIENTRYP GetnPixelMapusv)(GLenum map, GLsizei bufSize, GLushort *values); - void (QOPENGLF_APIENTRYP GetnPixelMapuiv)(GLenum map, GLsizei bufSize, GLuint *values); - void (QOPENGLF_APIENTRYP GetnPixelMapfv)(GLenum map, GLsizei bufSize, GLfloat *values); - void (QOPENGLF_APIENTRYP GetnMapiv)(GLenum target, GLenum query, GLsizei bufSize, GLint *v); - void (QOPENGLF_APIENTRYP GetnMapfv)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v); - void (QOPENGLF_APIENTRYP GetnMapdv)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v); - +#define QT_OPENGL_4_5_DEPRECATED_FUNCTIONS(F) \ + F(void, GetnMinmax, (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values)) \ + F(void, GetnHistogram, (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values)) \ + F(void, GetnSeparableFilter, (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, GLvoid *span)) \ + F(void, GetnConvolutionFilter, (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image)) \ + F(void, GetnColorTable, (GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *table)) \ + F(void, GetnPolygonStipple, (GLsizei bufSize, GLubyte *pattern)) \ + F(void, GetnPixelMapusv, (GLenum map, GLsizei bufSize, GLushort *values)) \ + F(void, GetnPixelMapuiv, (GLenum map, GLsizei bufSize, GLuint *values)) \ + F(void, GetnPixelMapfv, (GLenum map, GLsizei bufSize, GLfloat *values)) \ + F(void, GetnMapiv, (GLenum target, GLenum query, GLsizei bufSize, GLint *v)) \ + F(void, GetnMapfv, (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v)) \ + F(void, GetnMapdv, (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_4_5_DEPRECATED_FUNCTIONS); }; #else @@ -1638,6 +1713,11 @@ public: #endif // !QT_OPENGL_ES_2 +#undef QT_OPENGL_DECLARE_FUNCTIONS +#undef QT_OPENGL_COUNT_FUNCTIONS +#undef QT_OPENGL_DECLARE + + QT_END_NAMESPACE #endif // QT_NO_OPENGL -- cgit v1.2.3 From c8f9a22f8bccd189b886fedccc4b6fc6fc464b2e Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 28 Jan 2016 12:50:19 +0100 Subject: Inline the constructors for QOpenGLFunctions_X_Backend They are private classes and only called from non inline code in Qt, so the change is safe. Reduces the size of QtGui by another 10k. Change-Id: I67e0592089b9ac89d3f2ab4456024ad7c5a55eca Reviewed-by: Laszlo Agocs Reviewed-by: Sean Harmer --- src/gui/opengl/qopenglversionfunctions.cpp | 160 ---------------------------- src/gui/opengl/qopenglversionfunctions.h | 162 ++++++++++++++++++++++++----- 2 files changed, 135 insertions(+), 187 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglversionfunctions.cpp b/src/gui/opengl/qopenglversionfunctions.cpp index ad44ae9b23..474ffa2be1 100644 --- a/src/gui/opengl/qopenglversionfunctions.cpp +++ b/src/gui/opengl/qopenglversionfunctions.cpp @@ -291,12 +291,6 @@ QOpenGLContext *QAbstractOpenGLFunctions::owningContext() const #if !defined(QT_OPENGL_ES_2) -QOpenGLFunctions_1_0_CoreBackend::QOpenGLFunctions_1_0_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - // OpenGL 1.0 core functions QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_CoreBackend, QT_OPENGL_1_0_FUNCTIONS) @@ -305,12 +299,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_0_CoreBackend::versionStatus() return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_1_1_CoreBackend::QOpenGLFunctions_1_1_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_CoreBackend, QT_OPENGL_1_1_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_1_CoreBackend::versionStatus() @@ -318,12 +306,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_1_CoreBackend::versionStatus() return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_1_2_CoreBackend::QOpenGLFunctions_1_2_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_CoreBackend, QT_OPENGL_1_2_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_2_CoreBackend::versionStatus() @@ -331,12 +313,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_2_CoreBackend::versionStatus() return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_1_3_CoreBackend::QOpenGLFunctions_1_3_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_CoreBackend, QT_OPENGL_1_3_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_3_CoreBackend::versionStatus() @@ -344,10 +320,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_3_CoreBackend::versionStatus() return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_1_4_CoreBackend::QOpenGLFunctions_1_4_CoreBackend(QOpenGLContext *c) - : QOpenGLVersionFunctionsBackend(c) -{ init(); } - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_4_CoreBackend, QT_OPENGL_1_4_FUNCTIONS); QOpenGLVersionStatus QOpenGLFunctions_1_4_CoreBackend::versionStatus() @@ -355,12 +327,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_4_CoreBackend::versionStatus() return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_1_5_CoreBackend::QOpenGLFunctions_1_5_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_5_CoreBackend, QT_OPENGL_1_5_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_5_CoreBackend::versionStatus() @@ -368,12 +334,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_5_CoreBackend::versionStatus() return QOpenGLVersionStatus(1, 5, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_2_0_CoreBackend::QOpenGLFunctions_2_0_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_0_CoreBackend, QT_OPENGL_2_0_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_2_0_CoreBackend::versionStatus() @@ -381,12 +341,6 @@ QOpenGLVersionStatus QOpenGLFunctions_2_0_CoreBackend::versionStatus() return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_2_1_CoreBackend::QOpenGLFunctions_2_1_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_1_CoreBackend, QT_OPENGL_2_1_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_2_1_CoreBackend::versionStatus() @@ -394,12 +348,6 @@ QOpenGLVersionStatus QOpenGLFunctions_2_1_CoreBackend::versionStatus() return QOpenGLVersionStatus(2, 1, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_3_0_CoreBackend::QOpenGLFunctions_3_0_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_0_CoreBackend, QT_OPENGL_3_0_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_3_0_CoreBackend::versionStatus() @@ -407,12 +355,6 @@ QOpenGLVersionStatus QOpenGLFunctions_3_0_CoreBackend::versionStatus() return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_3_1_CoreBackend::QOpenGLFunctions_3_1_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_1_CoreBackend, QT_OPENGL_3_1_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_3_1_CoreBackend::versionStatus() @@ -420,12 +362,6 @@ QOpenGLVersionStatus QOpenGLFunctions_3_1_CoreBackend::versionStatus() return QOpenGLVersionStatus(3, 1, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_3_2_CoreBackend::QOpenGLFunctions_3_2_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_2_CoreBackend, QT_OPENGL_3_2_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_3_2_CoreBackend::versionStatus() @@ -433,12 +369,6 @@ QOpenGLVersionStatus QOpenGLFunctions_3_2_CoreBackend::versionStatus() return QOpenGLVersionStatus(3, 2, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_3_3_CoreBackend::QOpenGLFunctions_3_3_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_3_CoreBackend, QT_OPENGL_3_3_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_3_3_CoreBackend::versionStatus() @@ -446,12 +376,6 @@ QOpenGLVersionStatus QOpenGLFunctions_3_3_CoreBackend::versionStatus() return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_4_0_CoreBackend::QOpenGLFunctions_4_0_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_0_CoreBackend, QT_OPENGL_4_0_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_4_0_CoreBackend::versionStatus() @@ -459,12 +383,6 @@ QOpenGLVersionStatus QOpenGLFunctions_4_0_CoreBackend::versionStatus() return QOpenGLVersionStatus(4, 0, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_4_1_CoreBackend::QOpenGLFunctions_4_1_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_1_CoreBackend, QT_OPENGL_4_1_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_4_1_CoreBackend::versionStatus() @@ -472,12 +390,6 @@ QOpenGLVersionStatus QOpenGLFunctions_4_1_CoreBackend::versionStatus() return QOpenGLVersionStatus(4, 1, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_4_2_CoreBackend::QOpenGLFunctions_4_2_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_2_CoreBackend, QT_OPENGL_4_2_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_4_2_CoreBackend::versionStatus() @@ -485,12 +397,6 @@ QOpenGLVersionStatus QOpenGLFunctions_4_2_CoreBackend::versionStatus() return QOpenGLVersionStatus(4, 2, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_4_3_CoreBackend::QOpenGLFunctions_4_3_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_3_CoreBackend, QT_OPENGL_4_3_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_4_3_CoreBackend::versionStatus() @@ -498,12 +404,6 @@ QOpenGLVersionStatus QOpenGLFunctions_4_3_CoreBackend::versionStatus() return QOpenGLVersionStatus(4, 3, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_4_4_CoreBackend::QOpenGLFunctions_4_4_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_4_CoreBackend, QT_OPENGL_4_4_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_4_4_CoreBackend::versionStatus() @@ -511,12 +411,6 @@ QOpenGLVersionStatus QOpenGLFunctions_4_4_CoreBackend::versionStatus() return QOpenGLVersionStatus(4, 4, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_4_5_CoreBackend::QOpenGLFunctions_4_5_CoreBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_5_CoreBackend, QT_OPENGL_4_5_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_4_5_CoreBackend::versionStatus() @@ -524,12 +418,6 @@ QOpenGLVersionStatus QOpenGLFunctions_4_5_CoreBackend::versionStatus() return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::CoreStatus); } -QOpenGLFunctions_1_0_DeprecatedBackend::QOpenGLFunctions_1_0_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_DeprecatedBackend, QT_OPENGL_1_0_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus() @@ -537,12 +425,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_1_1_DeprecatedBackend::QOpenGLFunctions_1_1_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_DeprecatedBackend, QT_OPENGL_1_1_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus() @@ -550,12 +432,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_1_2_DeprecatedBackend::QOpenGLFunctions_1_2_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_DeprecatedBackend, QT_OPENGL_1_2_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus() @@ -563,12 +439,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_1_3_DeprecatedBackend::QOpenGLFunctions_1_3_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_DeprecatedBackend, QT_OPENGL_1_3_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus() @@ -576,12 +446,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_1_4_DeprecatedBackend::QOpenGLFunctions_1_4_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_4_DeprecatedBackend, QT_OPENGL_1_4_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus() @@ -589,12 +453,6 @@ QOpenGLVersionStatus QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_2_0_DeprecatedBackend::QOpenGLFunctions_2_0_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_0_DeprecatedBackend, QT_OPENGL_2_0_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_2_0_DeprecatedBackend::versionStatus() @@ -602,12 +460,6 @@ QOpenGLVersionStatus QOpenGLFunctions_2_0_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_3_0_DeprecatedBackend::QOpenGLFunctions_3_0_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_0_DeprecatedBackend, QT_OPENGL_3_0_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_3_0_DeprecatedBackend::versionStatus() @@ -615,12 +467,6 @@ QOpenGLVersionStatus QOpenGLFunctions_3_0_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_3_3_DeprecatedBackend::QOpenGLFunctions_3_3_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_3_DeprecatedBackend, QT_OPENGL_3_3_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus() @@ -628,12 +474,6 @@ QOpenGLVersionStatus QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus() return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::DeprecatedStatus); } -QOpenGLFunctions_4_5_DeprecatedBackend::QOpenGLFunctions_4_5_DeprecatedBackend(QOpenGLContext *context) - : QOpenGLVersionFunctionsBackend(context) -{ - init(); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_5_DeprecatedBackend, QT_OPENGL_4_5_DEPRECATED_FUNCTIONS) QOpenGLVersionStatus QOpenGLFunctions_4_5_DeprecatedBackend::versionStatus() diff --git a/src/gui/opengl/qopenglversionfunctions.h b/src/gui/opengl/qopenglversionfunctions.h index 5d58d5248a..e5fad20c96 100644 --- a/src/gui/opengl/qopenglversionfunctions.h +++ b/src/gui/opengl/qopenglversionfunctions.h @@ -197,7 +197,11 @@ inline QAbstractOpenGLFunctionsPrivate *QAbstractOpenGLFunctionsPrivate::get(QAb class QOpenGLFunctions_1_0_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_0_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_1_0_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -258,7 +262,11 @@ public: class QOpenGLFunctions_1_1_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_1_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_1_1_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -287,7 +295,11 @@ public: class QOpenGLFunctions_1_2_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_2_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_1_2_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -306,7 +318,11 @@ public: class QOpenGLFunctions_1_3_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_3_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_1_3_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -328,7 +344,11 @@ public: class QOpenGLFunctions_1_4_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_4_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_1_4_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -348,7 +368,11 @@ public: class QOpenGLFunctions_1_5_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_5_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_1_5_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -380,7 +404,11 @@ public: class QOpenGLFunctions_2_0_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_2_0_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_2_0_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -486,7 +514,11 @@ public: class QOpenGLFunctions_2_1_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_2_1_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_2_1_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -505,7 +537,11 @@ public: class QOpenGLFunctions_3_0_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_3_0_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_3_0_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -602,7 +638,11 @@ public: class QOpenGLFunctions_3_1_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_3_1_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_3_1_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -627,7 +667,11 @@ public: class QOpenGLFunctions_3_2_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_3_2_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_3_2_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -659,7 +703,11 @@ public: class QOpenGLFunctions_3_3_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_3_3_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_3_3_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -730,7 +778,11 @@ public: class QOpenGLFunctions_4_0_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_4_0_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_4_0_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -789,7 +841,11 @@ public: class QOpenGLFunctions_4_1_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_4_1_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_4_1_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -890,7 +946,11 @@ public: class QOpenGLFunctions_4_2_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_4_2_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_4_2_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -915,7 +975,11 @@ public: class QOpenGLFunctions_4_3_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_4_3_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_4_3_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -971,7 +1035,11 @@ public: class QOpenGLFunctions_4_4_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_4_4_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_4_4_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -993,7 +1061,11 @@ public: class QOpenGLFunctions_4_5_CoreBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_4_5_CoreBackend(QOpenGLContext *context); + QOpenGLFunctions_4_5_CoreBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1112,7 +1184,11 @@ public: class QOpenGLFunctions_1_0_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_0_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_1_0_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1383,7 +1459,11 @@ public: class QOpenGLFunctions_1_1_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_1_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_1_1_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1413,7 +1493,11 @@ public: class QOpenGLFunctions_1_2_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_2_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_1_2_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1458,7 +1542,11 @@ public: class QOpenGLFunctions_1_3_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_3_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_1_3_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1508,7 +1596,11 @@ public: class QOpenGLFunctions_1_4_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_1_4_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_1_4_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1559,7 +1651,11 @@ public: class QOpenGLFunctions_2_0_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_2_0_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_2_0_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1608,7 +1704,11 @@ public: class QOpenGLFunctions_3_0_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_3_0_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_3_0_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1641,7 +1741,11 @@ public: class QOpenGLFunctions_3_3_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_3_3_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_3_3_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); @@ -1684,7 +1788,11 @@ public: class QOpenGLFunctions_4_5_DeprecatedBackend : public QOpenGLVersionFunctionsBackend { public: - QOpenGLFunctions_4_5_DeprecatedBackend(QOpenGLContext *context); + QOpenGLFunctions_4_5_DeprecatedBackend(QOpenGLContext *c) + : QOpenGLVersionFunctionsBackend(c) + { + init(); + } static QOpenGLVersionStatus versionStatus(); -- cgit v1.2.3 From 8611d442fc5d8020328889b023e0ab1c5d98ced6 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 28 Jan 2016 23:21:19 +0100 Subject: Simplify part of the resolving code in QOpenGLFunctions Directly resolve the GL symbols in the constructor instead of wrapping them in another method that resolves on first call. Simplifies the code and reduces the the size of QtGui by around 50k. Change-Id: If1fc575d0113d3d9b48ad1918429254c827e42c7 Reviewed-by: Laszlo Agocs Reviewed-by: Sean Harmer --- src/gui/opengl/qopenglfunctions.cpp | 1022 ++++++----------------------------- 1 file changed, 170 insertions(+), 852 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index 598bf5e179..b7a82a5def 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -2476,469 +2476,42 @@ Resolver functionResolver(FuncType Base::*fu #define RESOLVE_FUNC_SPECIAL_VOID(POLICY, NAME) \ functionResolverWithFallback(&QOpenGLExtensionsPrivate::NAME, qopenglfSpecial##NAME, "gl" #NAME) -#ifndef QT_OPENGL_ES_2 - -// GLES2 + OpenGL1 common subset. These are normally not resolvable, -// but the underlying platform code may hide this limitation. - -static void QOPENGLF_APIENTRY qopenglfResolveBindTexture(GLenum target, GLuint texture) -{ - RESOLVE_FUNC_VOID(0, BindTexture)(target, texture); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBlendFunc(GLenum sfactor, GLenum dfactor) -{ - RESOLVE_FUNC_VOID(0, BlendFunc)(sfactor, dfactor); -} - -static void QOPENGLF_APIENTRY qopenglfResolveClear(GLbitfield mask) -{ - RESOLVE_FUNC_VOID(0, Clear)(mask); -} - -static void QOPENGLF_APIENTRY qopenglfResolveClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) -{ - RESOLVE_FUNC_VOID(0, ClearColor)(red, green, blue, alpha); -} - -static void QOPENGLF_APIENTRY qopenglfResolveClearDepthf(GLclampf depth) -{ - if (QOpenGLContext::currentContext()->isOpenGLES()) { - RESOLVE_FUNC_VOID(0, ClearDepthf)(depth); - } else { - RESOLVE_FUNC_VOID(0, ClearDepth)((GLdouble) depth); - } -} - -static void QOPENGLF_APIENTRY qopenglfResolveClearStencil(GLint s) -{ - RESOLVE_FUNC_VOID(0, ClearStencil)(s); -} - -static void QOPENGLF_APIENTRY qopenglfResolveColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) -{ - RESOLVE_FUNC_VOID(0, ColorMask)(red, green, blue, alpha); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) -{ - RESOLVE_FUNC_VOID(0, CopyTexImage2D)(target, level, internalformat, x, y, width, height, border); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) -{ - RESOLVE_FUNC_VOID(0, CopyTexSubImage2D)(target, level, xoffset, yoffset, x, y, width, height); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCullFace(GLenum mode) -{ - RESOLVE_FUNC_VOID(0, CullFace)(mode); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteTextures(GLsizei n, const GLuint* textures) -{ - RESOLVE_FUNC_VOID(0, DeleteTextures)(n, textures); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDepthFunc(GLenum func) -{ - RESOLVE_FUNC_VOID(0, DepthFunc)(func); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDepthMask(GLboolean flag) -{ - RESOLVE_FUNC_VOID(0, DepthMask)(flag); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDepthRangef(GLclampf zNear, GLclampf zFar) -{ - if (QOpenGLContext::currentContext()->isOpenGLES()) { - RESOLVE_FUNC_VOID(0, DepthRangef)(zNear, zFar); - } else { - RESOLVE_FUNC_VOID(0, DepthRange)((GLdouble) zNear, (GLdouble) zFar); - } -} - -static void QOPENGLF_APIENTRY qopenglfResolveDisable(GLenum cap) -{ - RESOLVE_FUNC_VOID(0, Disable)(cap); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawArrays(GLenum mode, GLint first, GLsizei count) -{ - RESOLVE_FUNC_VOID(0, DrawArrays)(mode, first, count); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) -{ - RESOLVE_FUNC_VOID(0, DrawElements)(mode, count, type, indices); -} - -static void QOPENGLF_APIENTRY qopenglfResolveEnable(GLenum cap) -{ - RESOLVE_FUNC_VOID(0, Enable)(cap); -} - -static void QOPENGLF_APIENTRY qopenglfResolveFinish() +template +Func resolve(QOpenGLContext *context, const char *name, int policy, Func) { - RESOLVE_FUNC_VOID(0, Finish)(); + return reinterpret_cast(getProcAddress(context, name, policy)); } -static void QOPENGLF_APIENTRY qopenglfResolveFlush() +template +Func resolveWithFallback(QOpenGLContext *context, const char *name, int policy, Func fallback) { - RESOLVE_FUNC_VOID(0, Flush)(); + Func f = reinterpret_cast(getProcAddress(context, name, policy)); + if (!f) + f = fallback; + return f; } -static void QOPENGLF_APIENTRY qopenglfResolveFrontFace(GLenum mode) -{ - RESOLVE_FUNC_VOID(0, FrontFace)(mode); -} +#define RESOLVE(name, policy) \ + resolve(context, "gl"#name, policy, name) -static void QOPENGLF_APIENTRY qopenglfResolveGenTextures(GLsizei n, GLuint* textures) -{ - RESOLVE_FUNC_VOID(0, GenTextures)(n, textures); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetBooleanv(GLenum pname, GLboolean* params) -{ - RESOLVE_FUNC_VOID(0, GetBooleanv)(pname, params); -} - -static GLenum QOPENGLF_APIENTRY qopenglfResolveGetError() -{ - RESOLVE_FUNC(GLenum, 0, GetError)(); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetFloatv(GLenum pname, GLfloat* params) -{ - RESOLVE_FUNC_VOID(0, GetFloatv)(pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetIntegerv(GLenum pname, GLint* params) -{ - RESOLVE_FUNC_VOID(0, GetIntegerv)(pname, params); -} - -static const GLubyte * QOPENGLF_APIENTRY qopenglfResolveGetString(GLenum name) -{ - RESOLVE_FUNC(const GLubyte *, 0, GetString)(name); -} +#define RESOLVE_WITH_FALLBACK(name, policy) \ + resolveWithFallback(context, "gl"#name, policy, qopenglfSpecial##name) -static void QOPENGLF_APIENTRY qopenglfResolveGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) -{ - RESOLVE_FUNC_VOID(0, GetTexParameterfv)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetTexParameteriv(GLenum target, GLenum pname, GLint* params) -{ - RESOLVE_FUNC_VOID(0, GetTexParameteriv)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveHint(GLenum target, GLenum mode) -{ - RESOLVE_FUNC_VOID(0, Hint)(target, mode); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsEnabled(GLenum cap) -{ - RESOLVE_FUNC(GLboolean, 0, IsEnabled)(cap); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsTexture(GLuint texture) -{ - RESOLVE_FUNC(GLboolean, 0, IsTexture)(texture); -} - -static void QOPENGLF_APIENTRY qopenglfResolveLineWidth(GLfloat width) -{ - RESOLVE_FUNC_VOID(0, LineWidth)(width); -} - -static void QOPENGLF_APIENTRY qopenglfResolvePixelStorei(GLenum pname, GLint param) -{ - RESOLVE_FUNC_VOID(0, PixelStorei)(pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolvePolygonOffset(GLfloat factor, GLfloat units) -{ - RESOLVE_FUNC_VOID(0, PolygonOffset)(factor, units); -} - -static void QOPENGLF_APIENTRY qopenglfResolveReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) -{ - RESOLVE_FUNC_VOID(0, ReadPixels)(x, y, width, height, format, type, pixels); -} - -static void QOPENGLF_APIENTRY qopenglfResolveScissor(GLint x, GLint y, GLsizei width, GLsizei height) -{ - RESOLVE_FUNC_VOID(0, Scissor)(x, y, width, height); -} - -static void QOPENGLF_APIENTRY qopenglfResolveStencilFunc(GLenum func, GLint ref, GLuint mask) -{ - RESOLVE_FUNC_VOID(0, StencilFunc)(func, ref, mask); -} - -static void QOPENGLF_APIENTRY qopenglfResolveStencilMask(GLuint mask) -{ - RESOLVE_FUNC_VOID(0, StencilMask)(mask); -} - -static void QOPENGLF_APIENTRY qopenglfResolveStencilOp(GLenum fail, GLenum zfail, GLenum zpass) -{ - RESOLVE_FUNC_VOID(0, StencilOp)(fail, zfail, zpass); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels) -{ - RESOLVE_FUNC_VOID(0, TexImage2D)(target, level, internalformat, width, height, border, format, type, pixels); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexParameterf(GLenum target, GLenum pname, GLfloat param) -{ - RESOLVE_FUNC_VOID(0, TexParameterf)(target, pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) -{ - RESOLVE_FUNC_VOID(0, TexParameterfv)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexParameteri(GLenum target, GLenum pname, GLint param) -{ - RESOLVE_FUNC_VOID(0, TexParameteri)(target, pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexParameteriv(GLenum target, GLenum pname, const GLint* params) -{ - RESOLVE_FUNC_VOID(0, TexParameteriv)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels) -{ - RESOLVE_FUNC_VOID(0, TexSubImage2D)(target, level, xoffset, yoffset, width, height, format, type, pixels); -} - -static void QOPENGLF_APIENTRY qopenglfResolveViewport(GLint x, GLint y, GLsizei width, GLsizei height) -{ - RESOLVE_FUNC_VOID(0, Viewport)(x, y, width, height); -} - -// GL(ES)2 - -static void QOPENGLF_APIENTRY qopenglfResolveActiveTexture(GLenum texture) -{ - RESOLVE_FUNC_VOID(0, ActiveTexture)(texture); -} - -static void QOPENGLF_APIENTRY qopenglfResolveAttachShader(GLuint program, GLuint shader) -{ - RESOLVE_FUNC_VOID(0, AttachShader)(program, shader); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindAttribLocation(GLuint program, GLuint index, const char* name) -{ - RESOLVE_FUNC_VOID(0, BindAttribLocation)(program, index, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindBuffer(GLenum target, GLuint buffer) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BindBuffer)(target, buffer); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindFramebuffer(GLenum target, GLuint framebuffer) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BindFramebuffer)(target, framebuffer); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindRenderbuffer(GLenum target, GLuint renderbuffer) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BindRenderbuffer)(target, renderbuffer); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BlendColor)(red, green, blue, alpha); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBlendEquation(GLenum mode) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BlendEquation)(mode); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BlendEquationSeparate)(modeRGB, modeAlpha); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BlendFuncSeparate)(srcRGB, dstRGB, srcAlpha, dstAlpha); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBufferData(GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BufferData)(target, size, data, usage); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, BufferSubData)(target, offset, size, data); -} - -static GLenum QOPENGLF_APIENTRY qopenglfResolveCheckFramebufferStatus(GLenum target) -{ - RESOLVE_FUNC(GLenum, ResolveOES | ResolveEXT, CheckFramebufferStatus)(target); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCompileShader(GLuint shader) -{ - RESOLVE_FUNC_VOID(0, CompileShader)(shader); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, CompressedTexImage2D)(target, level, internalformat, width, height, border, imageSize, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, CompressedTexSubImage2D)(target, level, xoffset, yoffset, width, height, format, imageSize, data); -} - -static GLuint QOPENGLF_APIENTRY qopenglfResolveCreateProgram() -{ - RESOLVE_FUNC(GLuint, 0, CreateProgram)(); -} - -static GLuint QOPENGLF_APIENTRY qopenglfResolveCreateShader(GLenum type) -{ - RESOLVE_FUNC(GLuint, 0, CreateShader)(type); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteBuffers(GLsizei n, const GLuint* buffers) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, DeleteBuffers)(n, buffers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, DeleteFramebuffers)(n, framebuffers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteProgram(GLuint program) -{ - RESOLVE_FUNC_VOID(0, DeleteProgram)(program); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, DeleteRenderbuffers)(n, renderbuffers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteShader(GLuint shader) -{ - RESOLVE_FUNC_VOID(0, DeleteShader)(shader); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDetachShader(GLuint program, GLuint shader) -{ - RESOLVE_FUNC_VOID(0, DetachShader)(program, shader); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDisableVertexAttribArray(GLuint index) -{ - RESOLVE_FUNC_VOID(0, DisableVertexAttribArray)(index); -} - -static void QOPENGLF_APIENTRY qopenglfResolveEnableVertexAttribArray(GLuint index) -{ - RESOLVE_FUNC_VOID(0, EnableVertexAttribArray)(index); -} - -static void QOPENGLF_APIENTRY qopenglfResolveFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, FramebufferRenderbuffer)(target, attachment, renderbuffertarget, renderbuffer); -} - -static void QOPENGLF_APIENTRY qopenglfResolveFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, FramebufferTexture2D)(target, attachment, textarget, texture, level); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenBuffers(GLsizei n, GLuint* buffers) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, GenBuffers)(n, buffers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenerateMipmap(GLenum target) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, GenerateMipmap)(target); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenFramebuffers(GLsizei n, GLuint* framebuffers) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, GenFramebuffers)(n, framebuffers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenRenderbuffers(GLsizei n, GLuint* renderbuffers) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, GenRenderbuffers)(n, renderbuffers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name) -{ - RESOLVE_FUNC_VOID(0, GetActiveAttrib)(program, index, bufsize, length, size, type, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name) -{ - RESOLVE_FUNC_VOID(0, GetActiveUniform)(program, index, bufsize, length, size, type, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) -{ - RESOLVE_FUNC_VOID(0, GetAttachedShaders)(program, maxcount, count, shaders); -} - -static GLint QOPENGLF_APIENTRY qopenglfResolveGetAttribLocation(GLuint program, const char* name) -{ - RESOLVE_FUNC(GLint, 0, GetAttribLocation)(program, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, GetBufferParameteriv)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, GetFramebufferAttachmentParameteriv)(target, attachment, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramiv(GLuint program, GLenum pname, GLint* params) -{ - RESOLVE_FUNC_VOID(0, GetProgramiv)(program, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) -{ - RESOLVE_FUNC_VOID(0, GetProgramInfoLog)(program, bufsize, length, infolog); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, GetRenderbufferParameteriv)(target, pname, params); -} +#ifndef QT_OPENGL_ES_2 -static void QOPENGLF_APIENTRY qopenglfResolveGetShaderiv(GLuint shader, GLenum pname, GLint* params) +// some fallback functions +static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf(GLclampf depth) { - RESOLVE_FUNC_VOID(0, GetShaderiv)(shader, pname, params); + QOpenGLContext *context = QOpenGLContext::currentContext(); + QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); + funcs->ClearDepth((GLdouble) depth); } -static void QOPENGLF_APIENTRY qopenglfResolveGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) +static void QOPENGLF_APIENTRY qopenglfSpecialDepthRangef(GLclampf zNear, GLclampf zFar) { - RESOLVE_FUNC_VOID(0, GetShaderInfoLog)(shader, bufsize, length, infolog); + QOpenGLContext *context = QOpenGLContext::currentContext(); + QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); + funcs->DepthRange((GLdouble) zNear, (GLdouble) zFar); } static void QOPENGLF_APIENTRY qopenglfSpecialGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) @@ -2948,280 +2521,20 @@ static void QOPENGLF_APIENTRY qopenglfSpecialGetShaderPrecisionFormat(GLenum sha range[0] = range[1] = precision[0] = 0; } -static void QOPENGLF_APIENTRY qopenglfResolveGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) -{ - RESOLVE_FUNC_SPECIAL_VOID(ResolveOES | ResolveEXT, GetShaderPrecisionFormat)(shadertype, precisiontype, range, precision); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source) -{ - RESOLVE_FUNC_VOID(0, GetShaderSource)(shader, bufsize, length, source); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetUniformfv(GLuint program, GLint location, GLfloat* params) -{ - RESOLVE_FUNC_VOID(0, GetUniformfv)(program, location, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetUniformiv(GLuint program, GLint location, GLint* params) -{ - RESOLVE_FUNC_VOID(0, GetUniformiv)(program, location, params); -} - -static GLint QOPENGLF_APIENTRY qopenglfResolveGetUniformLocation(GLuint program, const char* name) -{ - RESOLVE_FUNC(GLint, 0, GetUniformLocation)(program, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) -{ - RESOLVE_FUNC_VOID(0, GetVertexAttribfv)(index, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) -{ - RESOLVE_FUNC_VOID(0, GetVertexAttribiv)(index, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer) -{ - RESOLVE_FUNC_VOID(0, GetVertexAttribPointerv)(index, pname, pointer); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsBuffer(GLuint buffer) -{ - RESOLVE_FUNC(GLboolean, ResolveOES | ResolveEXT, IsBuffer)(buffer); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsFramebuffer(GLuint framebuffer) -{ - RESOLVE_FUNC(GLboolean, ResolveOES | ResolveEXT, IsFramebuffer)(framebuffer); -} - static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsProgram(GLuint program) { return program != 0; } -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsProgram(GLuint program) -{ - RESOLVE_FUNC_SPECIAL(GLboolean, 0, IsProgram)(program); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsRenderbuffer(GLuint renderbuffer) -{ - RESOLVE_FUNC(GLboolean, ResolveOES | ResolveEXT, IsRenderbuffer)(renderbuffer); -} - static GLboolean QOPENGLF_APIENTRY qopenglfSpecialIsShader(GLuint shader) { return shader != 0; } -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsShader(GLuint shader) -{ - RESOLVE_FUNC_SPECIAL(GLboolean, 0, IsShader)(shader); -} - -static void QOPENGLF_APIENTRY qopenglfResolveLinkProgram(GLuint program) -{ - RESOLVE_FUNC_VOID(0, LinkProgram)(program); -} - static void QOPENGLF_APIENTRY qopenglfSpecialReleaseShaderCompiler() { } -static void QOPENGLF_APIENTRY qopenglfResolveReleaseShaderCompiler() -{ - RESOLVE_FUNC_SPECIAL_VOID(0, ReleaseShaderCompiler)(); -} - -static void QOPENGLF_APIENTRY qopenglfResolveRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, RenderbufferStorage)(target, internalformat, width, height); -} - -static void QOPENGLF_APIENTRY qopenglfResolveSampleCoverage(GLclampf value, GLboolean invert) -{ - RESOLVE_FUNC_VOID(ResolveOES | ResolveEXT, SampleCoverage)(value, invert); -} - -static void QOPENGLF_APIENTRY qopenglfResolveShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length) -{ - RESOLVE_FUNC_VOID(0, ShaderBinary)(n, shaders, binaryformat, binary, length); -} - -static void QOPENGLF_APIENTRY qopenglfResolveShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length) -{ - RESOLVE_FUNC_VOID(0, ShaderSource)(shader, count, string, length); -} - -static void QOPENGLF_APIENTRY qopenglfResolveStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) -{ - RESOLVE_FUNC_VOID(ResolveEXT, StencilFuncSeparate)(face, func, ref, mask); -} - -static void QOPENGLF_APIENTRY qopenglfResolveStencilMaskSeparate(GLenum face, GLuint mask) -{ - RESOLVE_FUNC_VOID(ResolveEXT, StencilMaskSeparate)(face, mask); -} - -static void QOPENGLF_APIENTRY qopenglfResolveStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) -{ - RESOLVE_FUNC_VOID(ResolveEXT, StencilOpSeparate)(face, fail, zfail, zpass); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform1f(GLint location, GLfloat x) -{ - RESOLVE_FUNC_VOID(0, Uniform1f)(location, x); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform1fv(GLint location, GLsizei count, const GLfloat* v) -{ - RESOLVE_FUNC_VOID(0, Uniform1fv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform1i(GLint location, GLint x) -{ - RESOLVE_FUNC_VOID(0, Uniform1i)(location, x); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform1iv(GLint location, GLsizei count, const GLint* v) -{ - RESOLVE_FUNC_VOID(0, Uniform1iv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform2f(GLint location, GLfloat x, GLfloat y) -{ - RESOLVE_FUNC_VOID(0, Uniform2f)(location, x, y); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform2fv(GLint location, GLsizei count, const GLfloat* v) -{ - RESOLVE_FUNC_VOID(0, Uniform2fv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform2i(GLint location, GLint x, GLint y) -{ - RESOLVE_FUNC_VOID(0, Uniform2i)(location, x, y); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform2iv(GLint location, GLsizei count, const GLint* v) -{ - RESOLVE_FUNC_VOID(0, Uniform2iv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) -{ - RESOLVE_FUNC_VOID(0, Uniform3f)(location, x, y, z); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform3fv(GLint location, GLsizei count, const GLfloat* v) -{ - RESOLVE_FUNC_VOID(0, Uniform3fv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform3i(GLint location, GLint x, GLint y, GLint z) -{ - RESOLVE_FUNC_VOID(0, Uniform3i)(location, x, y, z); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform3iv(GLint location, GLsizei count, const GLint* v) -{ - RESOLVE_FUNC_VOID(0, Uniform3iv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) -{ - RESOLVE_FUNC_VOID(0, Uniform4f)(location, x, y, z, w); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform4fv(GLint location, GLsizei count, const GLfloat* v) -{ - RESOLVE_FUNC_VOID(0, Uniform4fv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) -{ - RESOLVE_FUNC_VOID(0, Uniform4i)(location, x, y, z, w); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform4iv(GLint location, GLsizei count, const GLint* v) -{ - RESOLVE_FUNC_VOID(0, Uniform4iv)(location, count, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) -{ - RESOLVE_FUNC_VOID(0, UniformMatrix2fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) -{ - RESOLVE_FUNC_VOID(0, UniformMatrix3fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) -{ - RESOLVE_FUNC_VOID(0, UniformMatrix4fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUseProgram(GLuint program) -{ - RESOLVE_FUNC_VOID(0, UseProgram)(program); -} - -static void QOPENGLF_APIENTRY qopenglfResolveValidateProgram(GLuint program) -{ - RESOLVE_FUNC_VOID(0, ValidateProgram)(program); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib1f(GLuint indx, GLfloat x) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib1f)(indx, x); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib1fv(GLuint indx, const GLfloat* values) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib1fv)(indx, values); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib2f)(indx, x, y); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib2fv(GLuint indx, const GLfloat* values) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib2fv)(indx, values); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib3f)(indx, x, y, z); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib3fv(GLuint indx, const GLfloat* values) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib3fv)(indx, values); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib4f)(indx, x, y, z, w); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttrib4fv(GLuint indx, const GLfloat* values) -{ - RESOLVE_FUNC_VOID(0, VertexAttrib4fv)(indx, values); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr) -{ - RESOLVE_FUNC_VOID(0, VertexAttribPointer)(indx, size, type, normalized, stride, ptr); -} - #endif // !QT_OPENGL_ES_2 // Extensions not standard in any ES version @@ -3273,56 +2586,58 @@ QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *) * context, assigns it to the member variable and executes it * (see Resolver template) */ #ifndef QT_OPENGL_ES_2 + QOpenGLContext *context = QOpenGLContext::currentContext(); + // The GL1 functions may not be queriable via getProcAddress(). if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::AllGLFunctionsQueryable)) { // The platform plugin supports resolving these. - BindTexture = qopenglfResolveBindTexture; - BlendFunc = qopenglfResolveBlendFunc; - Clear = qopenglfResolveClear; - ClearColor = qopenglfResolveClearColor; - ClearDepthf = qopenglfResolveClearDepthf; - ClearStencil = qopenglfResolveClearStencil; - ColorMask = qopenglfResolveColorMask; - CopyTexImage2D = qopenglfResolveCopyTexImage2D; - CopyTexSubImage2D = qopenglfResolveCopyTexSubImage2D; - CullFace = qopenglfResolveCullFace; - DeleteTextures = qopenglfResolveDeleteTextures; - DepthFunc = qopenglfResolveDepthFunc; - DepthMask = qopenglfResolveDepthMask; - DepthRangef = qopenglfResolveDepthRangef; - Disable = qopenglfResolveDisable; - DrawArrays = qopenglfResolveDrawArrays; - DrawElements = qopenglfResolveDrawElements; - Enable = qopenglfResolveEnable; - Finish = qopenglfResolveFinish; - Flush = qopenglfResolveFlush; - FrontFace = qopenglfResolveFrontFace; - GenTextures = qopenglfResolveGenTextures; - GetBooleanv = qopenglfResolveGetBooleanv; - GetError = qopenglfResolveGetError; - GetFloatv = qopenglfResolveGetFloatv; - GetIntegerv = qopenglfResolveGetIntegerv; - GetString = qopenglfResolveGetString; - GetTexParameterfv = qopenglfResolveGetTexParameterfv; - GetTexParameteriv = qopenglfResolveGetTexParameteriv; - Hint = qopenglfResolveHint; - IsEnabled = qopenglfResolveIsEnabled; - IsTexture = qopenglfResolveIsTexture; - LineWidth = qopenglfResolveLineWidth; - PixelStorei = qopenglfResolvePixelStorei; - PolygonOffset = qopenglfResolvePolygonOffset; - ReadPixels = qopenglfResolveReadPixels; - Scissor = qopenglfResolveScissor; - StencilFunc = qopenglfResolveStencilFunc; - StencilMask = qopenglfResolveStencilMask; - StencilOp = qopenglfResolveStencilOp; - TexImage2D = qopenglfResolveTexImage2D; - TexParameterf = qopenglfResolveTexParameterf; - TexParameterfv = qopenglfResolveTexParameterfv; - TexParameteri = qopenglfResolveTexParameteri; - TexParameteriv = qopenglfResolveTexParameteriv; - TexSubImage2D = qopenglfResolveTexSubImage2D; - Viewport = qopenglfResolveViewport; + BindTexture = RESOLVE(BindTexture, 0); + BlendFunc = RESOLVE(BlendFunc, 0); + Clear = RESOLVE(Clear, 0); + ClearColor = RESOLVE(ClearColor, 0); + ClearDepthf = RESOLVE_WITH_FALLBACK(ClearDepthf, 0); + ClearStencil = RESOLVE(ClearStencil, 0); + ColorMask = RESOLVE(ColorMask, 0); + CopyTexImage2D = RESOLVE(CopyTexImage2D, 0); + CopyTexSubImage2D = RESOLVE(CopyTexSubImage2D, 0); + CullFace = RESOLVE(CullFace, 0); + DeleteTextures = RESOLVE(DeleteTextures, 0); + DepthFunc = RESOLVE(DepthFunc, 0); + DepthMask = RESOLVE(DepthMask, 0); + DepthRangef = RESOLVE_WITH_FALLBACK(DepthRangef, 0); + Disable = RESOLVE(Disable, 0); + DrawArrays = RESOLVE(DrawArrays, 0); + DrawElements = RESOLVE(DrawElements, 0); + Enable = RESOLVE(Enable, 0); + Finish = RESOLVE(Finish, 0); + Flush = RESOLVE(Flush, 0); + FrontFace = RESOLVE(FrontFace, 0); + GenTextures = RESOLVE(GenTextures, 0); + GetBooleanv = RESOLVE(GetBooleanv, 0); + GetError = RESOLVE(GetError, 0); + GetFloatv = RESOLVE(GetFloatv, 0); + GetIntegerv = RESOLVE(GetIntegerv, 0); + GetString = RESOLVE(GetString, 0); + GetTexParameterfv = RESOLVE(GetTexParameterfv, 0); + GetTexParameteriv = RESOLVE(GetTexParameteriv, 0); + Hint = RESOLVE(Hint, 0); + IsEnabled = RESOLVE(IsEnabled, 0); + IsTexture = RESOLVE(IsTexture, 0); + LineWidth = RESOLVE(LineWidth, 0); + PixelStorei = RESOLVE(PixelStorei, 0); + PolygonOffset = RESOLVE(PolygonOffset, 0); + ReadPixels = RESOLVE(ReadPixels, 0); + Scissor = RESOLVE(Scissor, 0); + StencilFunc = RESOLVE(StencilFunc, 0); + StencilMask = RESOLVE(StencilMask, 0); + StencilOp = RESOLVE(StencilOp, 0); + TexImage2D = RESOLVE(TexImage2D, 0); + TexParameterf = RESOLVE(TexParameterf, 0); + TexParameterfv = RESOLVE(TexParameterfv, 0); + TexParameteri = RESOLVE(TexParameteri, 0); + TexParameteriv = RESOLVE(TexParameteriv, 0); + TexSubImage2D = RESOLVE(TexSubImage2D, 0); + Viewport = RESOLVE(Viewport, 0); } else { #ifndef QT_OPENGL_DYNAMIC // Use the functions directly. This requires linking QtGui to an OpenGL implementation. @@ -3383,101 +2698,104 @@ QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *) #endif } - ActiveTexture = qopenglfResolveActiveTexture; - AttachShader = qopenglfResolveAttachShader; - BindAttribLocation = qopenglfResolveBindAttribLocation; - BindBuffer = qopenglfResolveBindBuffer; - BindFramebuffer = qopenglfResolveBindFramebuffer; - BindRenderbuffer = qopenglfResolveBindRenderbuffer; - BlendColor = qopenglfResolveBlendColor; - BlendEquation = qopenglfResolveBlendEquation; - BlendEquationSeparate = qopenglfResolveBlendEquationSeparate; - BlendFuncSeparate = qopenglfResolveBlendFuncSeparate; - BufferData = qopenglfResolveBufferData; - BufferSubData = qopenglfResolveBufferSubData; - CheckFramebufferStatus = qopenglfResolveCheckFramebufferStatus; - CompileShader = qopenglfResolveCompileShader; - CompressedTexImage2D = qopenglfResolveCompressedTexImage2D; - CompressedTexSubImage2D = qopenglfResolveCompressedTexSubImage2D; - CreateProgram = qopenglfResolveCreateProgram; - CreateShader = qopenglfResolveCreateShader; - DeleteBuffers = qopenglfResolveDeleteBuffers; - DeleteFramebuffers = qopenglfResolveDeleteFramebuffers; - DeleteProgram = qopenglfResolveDeleteProgram; - DeleteRenderbuffers = qopenglfResolveDeleteRenderbuffers; - DeleteShader = qopenglfResolveDeleteShader; - DetachShader = qopenglfResolveDetachShader; - DisableVertexAttribArray = qopenglfResolveDisableVertexAttribArray; - EnableVertexAttribArray = qopenglfResolveEnableVertexAttribArray; - FramebufferRenderbuffer = qopenglfResolveFramebufferRenderbuffer; - FramebufferTexture2D = qopenglfResolveFramebufferTexture2D; - GenBuffers = qopenglfResolveGenBuffers; - GenerateMipmap = qopenglfResolveGenerateMipmap; - GenFramebuffers = qopenglfResolveGenFramebuffers; - GenRenderbuffers = qopenglfResolveGenRenderbuffers; - GetActiveAttrib = qopenglfResolveGetActiveAttrib; - GetActiveUniform = qopenglfResolveGetActiveUniform; - GetAttachedShaders = qopenglfResolveGetAttachedShaders; - GetAttribLocation = qopenglfResolveGetAttribLocation; - GetBufferParameteriv = qopenglfResolveGetBufferParameteriv; - GetFramebufferAttachmentParameteriv = qopenglfResolveGetFramebufferAttachmentParameteriv; - GetProgramiv = qopenglfResolveGetProgramiv; - GetProgramInfoLog = qopenglfResolveGetProgramInfoLog; - GetRenderbufferParameteriv = qopenglfResolveGetRenderbufferParameteriv; - GetShaderiv = qopenglfResolveGetShaderiv; - GetShaderInfoLog = qopenglfResolveGetShaderInfoLog; - GetShaderPrecisionFormat = qopenglfResolveGetShaderPrecisionFormat; - GetShaderSource = qopenglfResolveGetShaderSource; - GetUniformfv = qopenglfResolveGetUniformfv; - GetUniformiv = qopenglfResolveGetUniformiv; - GetUniformLocation = qopenglfResolveGetUniformLocation; - GetVertexAttribfv = qopenglfResolveGetVertexAttribfv; - GetVertexAttribiv = qopenglfResolveGetVertexAttribiv; - GetVertexAttribPointerv = qopenglfResolveGetVertexAttribPointerv; - IsBuffer = qopenglfResolveIsBuffer; - IsFramebuffer = qopenglfResolveIsFramebuffer; - IsProgram = qopenglfResolveIsProgram; - IsRenderbuffer = qopenglfResolveIsRenderbuffer; - IsShader = qopenglfResolveIsShader; - LinkProgram = qopenglfResolveLinkProgram; - ReleaseShaderCompiler = qopenglfResolveReleaseShaderCompiler; - RenderbufferStorage = qopenglfResolveRenderbufferStorage; - SampleCoverage = qopenglfResolveSampleCoverage; - ShaderBinary = qopenglfResolveShaderBinary; - ShaderSource = qopenglfResolveShaderSource; - StencilFuncSeparate = qopenglfResolveStencilFuncSeparate; - StencilMaskSeparate = qopenglfResolveStencilMaskSeparate; - StencilOpSeparate = qopenglfResolveStencilOpSeparate; - Uniform1f = qopenglfResolveUniform1f; - Uniform1fv = qopenglfResolveUniform1fv; - Uniform1i = qopenglfResolveUniform1i; - Uniform1iv = qopenglfResolveUniform1iv; - Uniform2f = qopenglfResolveUniform2f; - Uniform2fv = qopenglfResolveUniform2fv; - Uniform2i = qopenglfResolveUniform2i; - Uniform2iv = qopenglfResolveUniform2iv; - Uniform3f = qopenglfResolveUniform3f; - Uniform3fv = qopenglfResolveUniform3fv; - Uniform3i = qopenglfResolveUniform3i; - Uniform3iv = qopenglfResolveUniform3iv; - Uniform4f = qopenglfResolveUniform4f; - Uniform4fv = qopenglfResolveUniform4fv; - Uniform4i = qopenglfResolveUniform4i; - Uniform4iv = qopenglfResolveUniform4iv; - UniformMatrix2fv = qopenglfResolveUniformMatrix2fv; - UniformMatrix3fv = qopenglfResolveUniformMatrix3fv; - UniformMatrix4fv = qopenglfResolveUniformMatrix4fv; - UseProgram = qopenglfResolveUseProgram; - ValidateProgram = qopenglfResolveValidateProgram; - VertexAttrib1f = qopenglfResolveVertexAttrib1f; - VertexAttrib1fv = qopenglfResolveVertexAttrib1fv; - VertexAttrib2f = qopenglfResolveVertexAttrib2f; - VertexAttrib2fv = qopenglfResolveVertexAttrib2fv; - VertexAttrib3f = qopenglfResolveVertexAttrib3f; - VertexAttrib3fv = qopenglfResolveVertexAttrib3fv; - VertexAttrib4f = qopenglfResolveVertexAttrib4f; - VertexAttrib4fv = qopenglfResolveVertexAttrib4fv; - VertexAttribPointer = qopenglfResolveVertexAttribPointer; + ActiveTexture = RESOLVE(ActiveTexture, 0); + AttachShader = RESOLVE(AttachShader, 0); + BindAttribLocation = RESOLVE(BindAttribLocation, 0); + BindBuffer = RESOLVE(BindBuffer, ResolveOES | ResolveEXT); + BindFramebuffer = RESOLVE(BindFramebuffer, ResolveOES | ResolveEXT); + BindRenderbuffer = RESOLVE(BindRenderbuffer, ResolveOES | ResolveEXT); + BlendColor = RESOLVE(BlendColor, ResolveOES | ResolveEXT); + BlendEquation = RESOLVE(BlendEquation, ResolveOES | ResolveEXT); + BlendEquationSeparate = RESOLVE(BlendEquationSeparate, ResolveOES | ResolveEXT); + BlendFuncSeparate = RESOLVE(BlendFuncSeparate, ResolveOES | ResolveEXT); + BufferData = RESOLVE(BufferData, ResolveOES | ResolveEXT); + BufferSubData = RESOLVE(BufferSubData, ResolveOES | ResolveEXT); + CheckFramebufferStatus = RESOLVE(CheckFramebufferStatus, ResolveOES | ResolveEXT); + CompileShader = RESOLVE(CompileShader, 0); + CompressedTexImage2D = RESOLVE(CompressedTexImage2D, ResolveOES | ResolveEXT); + CompressedTexSubImage2D = RESOLVE(CompressedTexSubImage2D, ResolveOES | ResolveEXT); + CreateProgram = RESOLVE(CreateProgram, 0); + CreateShader = RESOLVE(CreateShader, 0); + DeleteBuffers = RESOLVE(DeleteBuffers, ResolveOES | ResolveEXT); + DeleteFramebuffers = RESOLVE(DeleteFramebuffers, ResolveOES | ResolveEXT); + DeleteProgram = RESOLVE(DeleteProgram, 0); + DeleteRenderbuffers = RESOLVE(DeleteRenderbuffers, ResolveOES | ResolveEXT); + DeleteShader = RESOLVE(DeleteShader, 0); + DetachShader = RESOLVE(DetachShader, 0); + DisableVertexAttribArray = RESOLVE(DisableVertexAttribArray, 0); + EnableVertexAttribArray = RESOLVE(EnableVertexAttribArray, 0); + FramebufferRenderbuffer = RESOLVE(FramebufferRenderbuffer, ResolveOES | ResolveEXT); + FramebufferTexture2D = RESOLVE(FramebufferTexture2D, ResolveOES | ResolveEXT); + GenBuffers = RESOLVE(GenBuffers, ResolveOES | ResolveEXT); + GenerateMipmap = RESOLVE(GenerateMipmap, ResolveOES | ResolveEXT); + GenFramebuffers = RESOLVE(GenFramebuffers, ResolveOES | ResolveEXT); + GenRenderbuffers = RESOLVE(GenRenderbuffers, ResolveOES | ResolveEXT); + GetActiveAttrib = RESOLVE(GetActiveAttrib, 0); + GetActiveUniform = RESOLVE(GetActiveUniform, 0); + GetAttachedShaders = RESOLVE(GetAttachedShaders, 0); + GetAttribLocation = RESOLVE(GetAttribLocation, 0); + GetBufferParameteriv = RESOLVE(GetBufferParameteriv, ResolveOES | ResolveEXT); + GetFramebufferAttachmentParameteriv = RESOLVE(GetFramebufferAttachmentParameteriv, ResolveOES | ResolveEXT); + GetProgramiv = RESOLVE(GetProgramiv, 0); + GetProgramInfoLog = RESOLVE(GetProgramInfoLog, 0); + GetRenderbufferParameteriv = RESOLVE(GetRenderbufferParameteriv, ResolveOES | ResolveEXT); + GetShaderiv = RESOLVE(GetShaderiv, 0); + GetShaderInfoLog = RESOLVE(GetShaderInfoLog, 0); + GetShaderPrecisionFormat = RESOLVE_WITH_FALLBACK(GetShaderPrecisionFormat, ResolveOES | ResolveEXT); + GetShaderSource = RESOLVE(GetShaderSource, 0); + GetUniformfv = RESOLVE(GetUniformfv, 0); + GetUniformiv = RESOLVE(GetUniformiv, 0); + GetUniformLocation = RESOLVE(GetUniformLocation, 0); + GetVertexAttribfv = RESOLVE(GetVertexAttribfv, 0); + GetVertexAttribiv = RESOLVE(GetVertexAttribiv, 0); + GetVertexAttribPointerv = RESOLVE(GetVertexAttribPointerv, 0); + IsBuffer = RESOLVE(IsBuffer, ResolveOES | ResolveEXT); + IsFramebuffer = RESOLVE(IsFramebuffer, ResolveOES | ResolveEXT); + IsProgram = RESOLVE_WITH_FALLBACK(IsProgram, 0); + IsRenderbuffer = RESOLVE(IsRenderbuffer, ResolveOES | ResolveEXT); + IsShader = RESOLVE_WITH_FALLBACK(IsShader, 0); + LinkProgram = RESOLVE(LinkProgram, 0); + ReleaseShaderCompiler = RESOLVE_WITH_FALLBACK(ReleaseShaderCompiler, 0); + RenderbufferStorage = RESOLVE(RenderbufferStorage, ResolveOES | ResolveEXT); + SampleCoverage = RESOLVE(SampleCoverage, ResolveOES | ResolveEXT); + ShaderBinary = RESOLVE(ShaderBinary, 0); + ShaderSource = RESOLVE(ShaderSource, 0); + StencilFuncSeparate = RESOLVE(StencilFuncSeparate, ResolveEXT); + StencilMaskSeparate = RESOLVE(StencilMaskSeparate, ResolveEXT); + StencilOpSeparate = RESOLVE(StencilOpSeparate, ResolveEXT); + Uniform1f = RESOLVE(Uniform1f, 0); + Uniform1fv = RESOLVE(Uniform1fv, 0); + Uniform1i = RESOLVE(Uniform1i, 0); + Uniform1iv = RESOLVE(Uniform1iv, 0); + Uniform2f = RESOLVE(Uniform2f, 0); + Uniform2fv = RESOLVE(Uniform2fv, 0); + Uniform2i = RESOLVE(Uniform2i, 0); + Uniform2iv = RESOLVE(Uniform2iv, 0); + Uniform3f = RESOLVE(Uniform3f, 0); + Uniform3fv = RESOLVE(Uniform3fv, 0); + Uniform3i = RESOLVE(Uniform3i, 0); + Uniform3iv = RESOLVE(Uniform3iv, 0); + Uniform4f = RESOLVE(Uniform4f, 0); + Uniform4fv = RESOLVE(Uniform4fv, 0); + Uniform4i = RESOLVE(Uniform4i, 0); + Uniform4iv = RESOLVE(Uniform4iv, 0); + UniformMatrix2fv = RESOLVE(UniformMatrix2fv, 0); + UniformMatrix3fv = RESOLVE(UniformMatrix3fv, 0); + UniformMatrix4fv = RESOLVE(UniformMatrix4fv, 0); + UseProgram = RESOLVE(UseProgram, 0); + ValidateProgram = RESOLVE(ValidateProgram, 0); + VertexAttrib1f = RESOLVE(VertexAttrib1f, 0); + VertexAttrib1fv = RESOLVE(VertexAttrib1fv, 0); + VertexAttrib2f = RESOLVE(VertexAttrib2f, 0); + VertexAttrib2fv = RESOLVE(VertexAttrib2fv, 0); + VertexAttrib3f = RESOLVE(VertexAttrib3f, 0); + VertexAttrib3fv = RESOLVE(VertexAttrib3fv, 0); + VertexAttrib4f = RESOLVE(VertexAttrib4f, 0); + VertexAttrib4fv = RESOLVE(VertexAttrib4fv, 0); + VertexAttribPointer = RESOLVE(VertexAttribPointer, 0); + + ClearDepth = RESOLVE(ClearDepth, 0); + DepthRange = RESOLVE(DepthRange, 0); #endif // !QT_OPENGL_ES_2 } -- cgit v1.2.3 From 7ee585bbffb4350ec327116d30cd63e3d1142581 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 29 Jan 2016 10:06:10 +0100 Subject: Don't resolve GL 1 symbols in the texture helper We already have these symbols resolved in QOpenGLFunctions, so simply use those. Change-Id: I6047181dbe47be9b0a83656af454d0ca1f3df6eb Reviewed-by: Laszlo Agocs Reviewed-by: Sean Harmer --- src/gui/opengl/qopengltexture.cpp | 27 +++--- src/gui/opengl/qopengltexture_p.h | 2 + src/gui/opengl/qopengltexturehelper.cpp | 142 +++++++++----------------------- src/gui/opengl/qopengltexturehelper_p.h | 140 +++++-------------------------- 4 files changed, 77 insertions(+), 234 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopengltexture.cpp b/src/gui/opengl/qopengltexture.cpp index a0b482e1d2..23ae5febc0 100644 --- a/src/gui/opengl/qopengltexture.cpp +++ b/src/gui/opengl/qopengltexture.cpp @@ -81,7 +81,8 @@ QOpenGLTexturePrivate::QOpenGLTexturePrivate(QOpenGLTexture::Target textureTarge textureView(false), autoGenerateMipMaps(true), storageAllocated(false), - texFuncs(0) + texFuncs(0), + functions(0) { dimensions[0] = dimensions[1] = dimensions[2] = 1; @@ -165,6 +166,7 @@ bool QOpenGLTexturePrivate::create() return false; } context = ctx; + functions = ctx->functions(); // Resolve any functions we will need based upon context version and create the texture initializeOpenGLFunctions(); @@ -177,7 +179,7 @@ bool QOpenGLTexturePrivate::create() feature = static_cast(feature << 1); } - texFuncs->glGenTextures(1, &textureId); + functions->glGenTextures(1, &textureId); return textureId != 0; } @@ -194,9 +196,10 @@ void QOpenGLTexturePrivate::destroy() return; } - texFuncs->glDeleteTextures(1, &textureId); + functions->glDeleteTextures(1, &textureId); context = 0; + functions = 0; textureId = 0; format = QOpenGLTexture::NoFormat; formatClass = QOpenGLTexture::NoFormatClass; @@ -231,17 +234,17 @@ void QOpenGLTexturePrivate::destroy() void QOpenGLTexturePrivate::bind() { - texFuncs->glBindTexture(target, textureId); + functions->glBindTexture(target, textureId); } void QOpenGLTexturePrivate::bind(uint unit, QOpenGLTexture::TextureUnitReset reset) { GLint oldTextureUnit = 0; if (reset == QOpenGLTexture::ResetTextureUnit) - texFuncs->glGetIntegerv(GL_ACTIVE_TEXTURE, &oldTextureUnit); + functions->glGetIntegerv(GL_ACTIVE_TEXTURE, &oldTextureUnit); texFuncs->glActiveTexture(GL_TEXTURE0 + unit); - texFuncs->glBindTexture(target, textureId); + functions->glBindTexture(target, textureId); if (reset == QOpenGLTexture::ResetTextureUnit) texFuncs->glActiveTexture(GL_TEXTURE0 + oldTextureUnit); @@ -249,17 +252,17 @@ void QOpenGLTexturePrivate::bind(uint unit, QOpenGLTexture::TextureUnitReset res void QOpenGLTexturePrivate::release() { - texFuncs->glBindTexture(target, 0); + functions->glBindTexture(target, 0); } void QOpenGLTexturePrivate::release(uint unit, QOpenGLTexture::TextureUnitReset reset) { GLint oldTextureUnit = 0; if (reset == QOpenGLTexture::ResetTextureUnit) - texFuncs->glGetIntegerv(GL_ACTIVE_TEXTURE, &oldTextureUnit); + functions->glGetIntegerv(GL_ACTIVE_TEXTURE, &oldTextureUnit); texFuncs->glActiveTexture(GL_TEXTURE0 + unit); - texFuncs->glBindTexture(target, 0); + functions->glBindTexture(target, 0); if (reset == QOpenGLTexture::ResetTextureUnit) texFuncs->glActiveTexture(GL_TEXTURE0 + oldTextureUnit); @@ -268,18 +271,18 @@ void QOpenGLTexturePrivate::release(uint unit, QOpenGLTexture::TextureUnitReset bool QOpenGLTexturePrivate::isBound() const { GLint boundTextureId = 0; - texFuncs->glGetIntegerv(bindingTarget, &boundTextureId); + functions->glGetIntegerv(bindingTarget, &boundTextureId); return (static_cast(boundTextureId) == textureId); } bool QOpenGLTexturePrivate::isBound(uint unit) const { GLint oldTextureUnit = 0; - texFuncs->glGetIntegerv(GL_ACTIVE_TEXTURE, &oldTextureUnit); + functions->glGetIntegerv(GL_ACTIVE_TEXTURE, &oldTextureUnit); GLint boundTextureId = 0; texFuncs->glActiveTexture(GL_TEXTURE0 + unit); - texFuncs->glGetIntegerv(bindingTarget, &boundTextureId); + functions->glGetIntegerv(bindingTarget, &boundTextureId); bool result = (static_cast(boundTextureId) == textureId); texFuncs->glActiveTexture(GL_TEXTURE0 + oldTextureUnit); diff --git a/src/gui/opengl/qopengltexture_p.h b/src/gui/opengl/qopengltexture_p.h index 38c5f16536..e9ada026ed 100644 --- a/src/gui/opengl/qopengltexture_p.h +++ b/src/gui/opengl/qopengltexture_p.h @@ -70,6 +70,7 @@ QT_BEGIN_NAMESPACE class QOpenGLContext; class QOpenGLTextureHelper; +class QOpenGLFunctions; class QOpenGLTexturePrivate { @@ -163,6 +164,7 @@ public: bool storageAllocated; QOpenGLTextureHelper *texFuncs; + QOpenGLFunctions *functions; QOpenGLTexture::Features features; }; diff --git a/src/gui/opengl/qopengltexturehelper.cpp b/src/gui/opengl/qopengltexturehelper.cpp index a119183497..afac873795 100644 --- a/src/gui/opengl/qopengltexturehelper.cpp +++ b/src/gui/opengl/qopengltexturehelper.cpp @@ -46,6 +46,7 @@ QT_BEGIN_NAMESPACE QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) { + functions = context->functions(); // Resolve EXT_direct_state_access entry points if present. // However, disable it on some systems where DSA is known to be unreliable. @@ -142,63 +143,26 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) TextureImage2DMultisample = &QOpenGLTextureHelper::qt_TextureImage2DMultisample; } +#if defined(Q_OS_WIN) && !defined(QT_OPENGL_ES_2) // wglGetProcAddress should not be used to (and indeed will not) load OpenGL <= 1.1 functions. // Hence, we resolve them "the hard way" - -#if defined(Q_OS_WIN) && !defined(QT_OPENGL_ES_2) HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); if (!handle) handle = GetModuleHandleA("opengl32.dll"); - // OpenGL 1.0 - GetIntegerv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetIntegerv"))); - GetBooleanv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetBooleanv"))); - PixelStorei = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glPixelStorei"))); - GetTexLevelParameteriv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetTexLevelParameteriv"))); - GetTexLevelParameterfv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetTexLevelParameterfv"))); - GetTexParameteriv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetTexParameteriv"))); - GetTexParameterfv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetTexParameterfv"))); - GetTexImage = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetTexImage"))); - TexImage2D = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexImage2D"))); TexImage1D = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexImage1D"))); - TexParameteriv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexParameteriv"))); - TexParameteri = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexParameteri"))); - TexParameterfv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexParameterfv"))); - TexParameterf = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexParameterf"))); - - // OpenGL 1.1 - GenTextures = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGenTextures"))); - DeleteTextures = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glDeleteTextures"))); - BindTexture = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glBindTexture"))); - TexSubImage2D = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexSubImage2D"))); TexSubImage1D = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexSubImage1D"))); +#endif -#elif defined(QT_OPENGL_ES_2) +#if defined(QT_OPENGL_ES_2) // Here we are targeting OpenGL ES 2.0+ only. This is likely using EGL, where, // similarly to WGL, non-extension functions (i.e. any function that is part of the // GLES spec) *may* not be queried via eglGetProcAddress. // OpenGL 1.0 - GetIntegerv = ::glGetIntegerv; - GetBooleanv = ::glGetBooleanv; - PixelStorei = ::glPixelStorei; - GetTexLevelParameteriv = 0; - GetTexLevelParameterfv = 0; - GetTexParameteriv = ::glGetTexParameteriv; - GetTexParameterfv = ::glGetTexParameterfv; - GetTexImage = 0; - TexImage2D = reinterpret_cast(::glTexImage2D); TexImage1D = 0; - TexParameteriv = ::glTexParameteriv; - TexParameteri = ::glTexParameteri; - TexParameterfv = ::glTexParameterfv; - TexParameterf = ::glTexParameterf; // OpenGL 1.1 - GenTextures = ::glGenTextures; - DeleteTextures = ::glDeleteTextures; - BindTexture = ::glBindTexture; - TexSubImage2D = ::glTexSubImage2D; TexSubImage1D = 0; // OpenGL 1.3 @@ -235,30 +199,6 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) TexBufferRange = 0; TextureView = 0; -#else - - // OpenGL 1.0 - GetIntegerv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetIntegerv"))); - GetBooleanv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetBooleanv"))); - PixelStorei = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glPixelStorei"))); - GetTexLevelParameteriv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetTexLevelParameteriv"))); - GetTexLevelParameterfv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetTexLevelParameterfv"))); - GetTexParameteriv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetTexParameteriv"))); - GetTexParameterfv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetTexParameterfv"))); - GetTexImage = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetTexImage"))); - TexImage2D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexImage2D"))); - TexImage1D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexImage1D"))); - TexParameteriv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexParameteriv"))); - TexParameteri = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexParameteri"))); - TexParameterfv = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexParameterfv"))); - TexParameterf = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexParameterf"))); - - // OpenGL 1.1 - GenTextures = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGenTextures"))); - DeleteTextures = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glDeleteTextures"))); - BindTexture = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glBindTexture"))); - TexSubImage2D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexSubImage2D"))); - TexSubImage1D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexSubImage1D"))); #endif if (context->isOpenGLES() && context->hasExtension(QByteArrayLiteral("GL_OES_texture_3D"))) { @@ -464,8 +404,8 @@ namespace { class TextureBinder { public: - TextureBinder(QOpenGLTextureHelper *textureFunctions, GLuint texture, GLenum target, GLenum bindingTarget) - : m_textureFunctions(textureFunctions) + TextureBinder(QOpenGLFunctions *functions, GLuint texture, GLenum target, GLenum bindingTarget) + : m_functions(functions) { // For cubemaps we can't use the standard DSA emulation as it is illegal to // try to bind a texture to one of the cubemap face targets. So we force the @@ -486,17 +426,17 @@ public: break; } - m_textureFunctions->glGetIntegerv(bindingTarget, &m_oldTexture); - m_textureFunctions->glBindTexture(m_target, texture); + m_functions->glGetIntegerv(bindingTarget, &m_oldTexture); + m_functions->glBindTexture(m_target, texture); } ~TextureBinder() { - m_textureFunctions->glBindTexture(m_target, m_oldTexture); + m_functions->glBindTexture(m_target, m_oldTexture); } private: - QOpenGLTextureHelper *m_textureFunctions; + QOpenGLFunctions *m_functions; GLenum m_target; GLint m_oldTexture; }; @@ -505,145 +445,145 @@ private: void QOpenGLTextureHelper::qt_TextureParameteri(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, GLint param) { - TextureBinder binder(this, texture, target, bindingTarget); - glTexParameteri(target, pname, param); + TextureBinder binder(functions, texture, target, bindingTarget); + functions->glTexParameteri(target, pname, param); } void QOpenGLTextureHelper::qt_TextureParameteriv(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, const GLint *params) { - TextureBinder binder(this, texture, target, bindingTarget); - glTexParameteriv(target, pname, params); + TextureBinder binder(functions, texture, target, bindingTarget); + functions->glTexParameteriv(target, pname, params); } void QOpenGLTextureHelper::qt_TextureParameterf(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, GLfloat param) { - TextureBinder binder(this, texture, target, bindingTarget); - glTexParameterf(target, pname, param); + TextureBinder binder(functions, texture, target, bindingTarget); + functions->glTexParameterf(target, pname, param); } void QOpenGLTextureHelper::qt_TextureParameterfv(GLuint texture, GLenum target, GLenum bindingTarget, GLenum pname, const GLfloat *params) { - TextureBinder binder(this, texture, target, bindingTarget); - glTexParameterfv(target, pname, params); + TextureBinder binder(functions, texture, target, bindingTarget); + functions->glTexParameterfv(target, pname, params); } void QOpenGLTextureHelper::qt_GenerateTextureMipmap(GLuint texture, GLenum target, GLenum bindingTarget) { - TextureBinder binder(this, texture, target, bindingTarget); - glGenerateMipmap(target); + TextureBinder binder(functions, texture, target, bindingTarget); + functions->glGenerateMipmap(target); } void QOpenGLTextureHelper::qt_TextureStorage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexStorage3D(target, levels, internalFormat, width, height, depth); } void QOpenGLTextureHelper::qt_TextureStorage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexStorage2D(target, levels, internalFormat, width, height); } void QOpenGLTextureHelper::qt_TextureStorage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei levels, GLenum internalFormat, GLsizei width) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexStorage1D(target, levels, internalFormat, width); } void QOpenGLTextureHelper::qt_TextureStorage3DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexStorage3DMultisample(target, samples, internalFormat, width, height, depth, fixedSampleLocations); } void QOpenGLTextureHelper::qt_TextureStorage2DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexStorage2DMultisample(target, samples, internalFormat, width, height, fixedSampleLocations); } void QOpenGLTextureHelper::qt_TextureImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexImage3D(target, level, internalFormat, width, height, depth, border, format, type, pixels); } void QOpenGLTextureHelper::qt_TextureImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - TextureBinder binder(this, texture, target, bindingTarget); - glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels); + TextureBinder binder(functions, texture, target, bindingTarget); + functions->glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels); } void QOpenGLTextureHelper::qt_TextureImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexImage1D(target, level, internalFormat, width, border, format, type, pixels); } void QOpenGLTextureHelper::qt_TextureSubImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); } void QOpenGLTextureHelper::qt_TextureSubImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) { - TextureBinder binder(this, texture, target, bindingTarget); - glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + TextureBinder binder(functions, texture, target, bindingTarget); + functions->glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); } void QOpenGLTextureHelper::qt_TextureSubImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexSubImage1D(target, level, xoffset, width, format, type, pixels); } void QOpenGLTextureHelper::qt_TextureImage3DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexImage3DMultisample(target, samples, internalFormat, width, height, depth, fixedSampleLocations); } void QOpenGLTextureHelper::qt_TextureImage2DMultisample(GLuint texture, GLenum target, GLenum bindingTarget, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glTexImage2DMultisample(target, samples, internalFormat, width, height, fixedSampleLocations); } void QOpenGLTextureHelper::qt_CompressedTextureSubImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *bits) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glCompressedTexSubImage1D(target, level, xoffset, width, format, imageSize, bits); } void QOpenGLTextureHelper::qt_CompressedTextureSubImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *bits) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, bits); } void QOpenGLTextureHelper::qt_CompressedTextureSubImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *bits) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glCompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits); } void QOpenGLTextureHelper::qt_CompressedTextureImage1D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *bits) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glCompressedTexImage1D(target, level, internalFormat, width, border, imageSize, bits); } void QOpenGLTextureHelper::qt_CompressedTextureImage2D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *bits) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, bits); } void QOpenGLTextureHelper::qt_CompressedTextureImage3D(GLuint texture, GLenum target, GLenum bindingTarget, GLint level, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *bits) { - TextureBinder binder(this, texture, target, bindingTarget); + TextureBinder binder(functions, texture, target, bindingTarget); glCompressedTexImage3D(target, level, internalFormat, width, height, depth, border, imageSize, bits); } diff --git a/src/gui/opengl/qopengltexturehelper_p.h b/src/gui/opengl/qopengltexturehelper_p.h index bf655ed9db..a255672602 100644 --- a/src/gui/opengl/qopengltexturehelper_p.h +++ b/src/gui/opengl/qopengltexturehelper_p.h @@ -58,6 +58,7 @@ #include "qopengl.h" #include "qopenglpixeltransferoptions.h" #include "qopengltexture.h" +#include "qopenglfunctions.h" QT_BEGIN_NAMESPACE @@ -472,54 +473,8 @@ private: public: // Raw OpenGL functions, resolved and used by our DSA-like static functions if no EXT_direct_state_access is available - // OpenGL 1.0 - inline void glGetIntegerv(GLenum pname, GLint *params) - { - GetIntegerv(pname, params); - } - - inline void glGetBooleanv(GLenum pname, GLboolean *params) - { - GetBooleanv(pname, params); - } - - inline void glPixelStorei(GLenum pname, GLint param) - { - PixelStorei(pname, param); - } - - inline void glGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint *params) - { - GetTexLevelParameteriv(target, level, pname, params); - } - - inline void glGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat *params) - { - GetTexLevelParameterfv(target, level, pname, params); - } - - inline void glGetTexParameteriv(GLenum target, GLenum pname, GLint *params) - { - GetTexParameteriv(target, pname, params); - } - - inline void glGetTexParameterfv(GLenum target, GLenum pname, GLfloat *params) - { - GetTexParameterfv(target, pname, params); - } - - inline void glGetTexImage(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) - { - GetTexImage(target, level, format, type, pixels); - } - - inline void glTexImage2D(GLenum target, GLint level, GLint internalFormat, - GLsizei width, GLsizei height, GLint border, - GLenum format, GLenum type, const GLvoid *pixels) - { - TexImage2D(target, level, internalFormat, width, height, border, format, type, pixels); - } + // OpenGL 1.0 inline void glTexImage1D(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) @@ -527,48 +482,7 @@ public: TexImage1D(target, level, internalFormat, width, border, format, type, pixels); } - inline void glTexParameteriv(GLenum target, GLenum pname, const GLint *params) - { - TexParameteriv(target, pname, params); - } - - inline void glTexParameteri(GLenum target, GLenum pname, GLint param) - { - TexParameteri(target, pname, param); - } - - inline void glTexParameterfv(GLenum target, GLenum pname, const GLfloat *params) - { - TexParameterfv(target, pname, params); - } - - inline void glTexParameterf(GLenum target, GLenum pname, GLfloat param) - { - TexParameterf(target, pname, param); - } - // OpenGL 1.1 - inline void glGenTextures(GLsizei n, GLuint *textures) - { - GenTextures(n, textures); - } - - inline void glDeleteTextures(GLsizei n, const GLuint *textures) - { - DeleteTextures(n, textures); - } - - inline void glBindTexture(GLenum target, GLuint texture) - { - BindTexture(target, texture); - } - - inline void glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, - GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) - { - TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); - } - inline void glTexSubImage1D(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) { @@ -704,23 +618,23 @@ public: { QOpenGLPixelTransferOptions options; int val = 0; - glGetIntegerv(GL_UNPACK_ALIGNMENT, &val); + functions->glGetIntegerv(GL_UNPACK_ALIGNMENT, &val); options.setAlignment(val); #if !defined(QT_OPENGL_ES_2) - glGetIntegerv(GL_UNPACK_SKIP_IMAGES, &val); + functions->glGetIntegerv(GL_UNPACK_SKIP_IMAGES, &val); options.setSkipImages(val); - glGetIntegerv(GL_UNPACK_SKIP_ROWS, &val); + functions->glGetIntegerv(GL_UNPACK_SKIP_ROWS, &val); options.setSkipRows(val); - glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &val); + functions->glGetIntegerv(GL_UNPACK_SKIP_PIXELS, &val); options.setSkipPixels(val); - glGetIntegerv(GL_UNPACK_IMAGE_HEIGHT, &val); + functions->glGetIntegerv(GL_UNPACK_IMAGE_HEIGHT, &val); options.setImageHeight(val); - glGetIntegerv(GL_UNPACK_ROW_LENGTH, &val); + functions->glGetIntegerv(GL_UNPACK_ROW_LENGTH, &val); options.setRowLength(val); GLboolean b = GL_FALSE; - glGetBooleanv(GL_UNPACK_LSB_FIRST, &b); + functions->glGetBooleanv(GL_UNPACK_LSB_FIRST, &b); options.setLeastSignificantByteFirst(b); - glGetBooleanv(GL_UNPACK_SWAP_BYTES, &b); + functions->glGetBooleanv(GL_UNPACK_SWAP_BYTES, &b); options.setSwapBytesEnabled(b); #endif return options; @@ -728,18 +642,19 @@ public: inline void setPixelUploadOptions(const QOpenGLPixelTransferOptions &options) { - glPixelStorei(GL_UNPACK_ALIGNMENT, options.alignment()); + functions->glPixelStorei(GL_UNPACK_ALIGNMENT, options.alignment()); #if !defined(QT_OPENGL_ES_2) - glPixelStorei(GL_UNPACK_SKIP_IMAGES, options.skipImages()); - glPixelStorei(GL_UNPACK_SKIP_ROWS, options.skipRows()); - glPixelStorei(GL_UNPACK_SKIP_PIXELS, options.skipPixels()); - glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, options.imageHeight()); - glPixelStorei(GL_UNPACK_ROW_LENGTH, options.rowLength()); - glPixelStorei(GL_UNPACK_LSB_FIRST, options.isLeastSignificantBitFirst()); - glPixelStorei(GL_UNPACK_SWAP_BYTES, options.isSwapBytesEnabled()); + functions->glPixelStorei(GL_UNPACK_SKIP_IMAGES, options.skipImages()); + functions->glPixelStorei(GL_UNPACK_SKIP_ROWS, options.skipRows()); + functions->glPixelStorei(GL_UNPACK_SKIP_PIXELS, options.skipPixels()); + functions->glPixelStorei(GL_UNPACK_IMAGE_HEIGHT, options.imageHeight()); + functions->glPixelStorei(GL_UNPACK_ROW_LENGTH, options.rowLength()); + functions->glPixelStorei(GL_UNPACK_LSB_FIRST, options.isLeastSignificantBitFirst()); + functions->glPixelStorei(GL_UNPACK_SWAP_BYTES, options.isSwapBytesEnabled()); #endif } + QOpenGLFunctions *functions; private: // Typedefs and pointers to member functions used to switch between EXT_direct_state_access and our own emulated DSA. // The argument match the corresponding GL function, but there's an extra "GLenum bindingTarget" which gets used with @@ -827,26 +742,9 @@ private: void (QOPENGLF_APIENTRYP TextureImage2DMultisampleNV)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations); // OpenGL 1.0 - void (QOPENGLF_APIENTRYP GetIntegerv)(GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetBooleanv)(GLenum pname, GLboolean *params); - void (QOPENGLF_APIENTRYP PixelStorei)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetTexParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); - void (QOPENGLF_APIENTRYP TexImage2D)(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); void (QOPENGLF_APIENTRYP TexImage1D)(GLenum target, GLint level, GLint internalFormat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); - void (QOPENGLF_APIENTRYP TexParameteriv)(GLenum target, GLenum pname, const GLint *params); - void (QOPENGLF_APIENTRYP TexParameteri)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP TexParameterfv)(GLenum target, GLenum pname, const GLfloat *params); - void (QOPENGLF_APIENTRYP TexParameterf)(GLenum target, GLenum pname, GLfloat param); // OpenGL 1.1 - void (QOPENGLF_APIENTRYP GenTextures)(GLsizei n, GLuint *textures); - void (QOPENGLF_APIENTRYP DeleteTextures)(GLsizei n, const GLuint *textures); - void (QOPENGLF_APIENTRYP BindTexture)(GLenum target, GLuint texture); - void (QOPENGLF_APIENTRYP TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); void (QOPENGLF_APIENTRYP TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); // OpenGL 1.2 -- cgit v1.2.3 From 29d8159c4478a5275d2ea102daf270a91ed7e92e Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 29 Jan 2016 10:43:35 +0100 Subject: Avoid repeated QByteArray creation when resolving opengl functions Add an getProcAddress(const char *) overload to QOpenGLContext, and refactor the QPA interface to take a const char *. Like this we can avoid lots of mallocs when resoving GL methods. Change-Id: Ic45b985fbaa0da8d32ba3e3b485351173352ca6f Reviewed-by: Laszlo Agocs Reviewed-by: Sean Harmer --- src/gui/kernel/qopenglcontext.cpp | 11 ++- src/gui/kernel/qopenglcontext.h | 1 + src/gui/kernel/qplatformopenglcontext.cpp | 5 +- src/gui/kernel/qplatformopenglcontext.h | 2 +- src/gui/opengl/qopengldebug.cpp | 2 +- src/gui/opengl/qopenglfunctions.cpp | 55 +++++++------ src/gui/opengl/qopengltexturehelper.cpp | 96 +++++++++++----------- src/gui/opengl/qopenglvertexarrayobject.cpp | 24 +++--- .../cglconvenience/cglconvenience.mm | 6 +- .../cglconvenience/cglconvenience_p.h | 2 +- .../eglconvenience/qeglplatformcontext.cpp | 4 +- .../eglconvenience/qeglplatformcontext_p.h | 2 +- src/plugins/platforms/cocoa/qcocoaglcontext.h | 2 +- src/plugins/platforms/cocoa/qcocoaglcontext.mm | 2 +- .../platforms/directfb/qdirectfbglcontext.cpp | 4 +- src/plugins/platforms/ios/qioscontext.h | 2 +- src/plugins/platforms/ios/qioscontext.mm | 4 +- .../platforms/mirclient/qmirclientglcontext.cpp | 4 +- .../platforms/mirclient/qmirclientglcontext.h | 2 +- .../offscreen/qoffscreenintegration_x11.cpp | 4 +- .../offscreen/qoffscreenintegration_x11.h | 2 +- .../platforms/openwfd/qopenwfdglcontext.cpp | 4 +- src/plugins/platforms/openwfd/qopenwfdglcontext.h | 2 +- src/plugins/platforms/qnx/qqnxglcontext.cpp | 4 +- src/plugins/platforms/qnx/qqnxglcontext.h | 2 +- .../platforms/windows/qwindowseglcontext.cpp | 8 +- src/plugins/platforms/windows/qwindowseglcontext.h | 2 +- .../platforms/windows/qwindowsglcontext.cpp | 8 +- src/plugins/platforms/windows/qwindowsglcontext.h | 2 +- src/plugins/platforms/winrt/qwinrteglcontext.cpp | 4 +- src/plugins/platforms/winrt/qwinrteglcontext.h | 2 +- .../gl_integrations/xcb_glx/qglxintegration.cpp | 6 +- .../xcb/gl_integrations/xcb_glx/qglxintegration.h | 2 +- 33 files changed, 147 insertions(+), 135 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index b45396ab3c..f301b21ec1 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -1069,10 +1069,19 @@ void QOpenGLContext::swapBuffers(QSurface *surface) Returns 0 if no such function can be found. */ QFunctionPointer QOpenGLContext::getProcAddress(const QByteArray &procName) const +{ + return getProcAddress(procName.constData()); +} + +/*! + \overload + \since 5.8 + */ +QFunctionPointer QOpenGLContext::getProcAddress(const char *procName) const { Q_D(const QOpenGLContext); if (!d->platformGLContext) - return 0; + return nullptr; return d->platformGLContext->getProcAddress(procName); } diff --git a/src/gui/kernel/qopenglcontext.h b/src/gui/kernel/qopenglcontext.h index 56eb6f0e12..130d55464f 100644 --- a/src/gui/kernel/qopenglcontext.h +++ b/src/gui/kernel/qopenglcontext.h @@ -174,6 +174,7 @@ public: void swapBuffers(QSurface *surface); QFunctionPointer getProcAddress(const QByteArray &procName) const; + QFunctionPointer getProcAddress(const char *procName) const; QSurface *surface() const; diff --git a/src/gui/kernel/qplatformopenglcontext.cpp b/src/gui/kernel/qplatformopenglcontext.cpp index 2457a5237d..5b375f7883 100644 --- a/src/gui/kernel/qplatformopenglcontext.cpp +++ b/src/gui/kernel/qplatformopenglcontext.cpp @@ -71,10 +71,9 @@ QT_BEGIN_NAMESPACE The implementation must support being called in a thread different than the gui-thread. */ -/*! \fn QFunctionPointer QPlatformOpenGLContext::getProcAddress(const QByteArray &procName) - Reimplement in subclass to native getProcAddr calls. +/*! \fn QFunctionPointer QPlatformOpenGLContext::getProcAddress(const char *procName) - Note: its convenient to use qPrintable(const QString &str) to get the const char * pointer + Reimplement in subclass to native getProcAddr calls. */ class QPlatformOpenGLContextPrivate diff --git a/src/gui/kernel/qplatformopenglcontext.h b/src/gui/kernel/qplatformopenglcontext.h index f2ec1c1a7e..1a38a5fed3 100644 --- a/src/gui/kernel/qplatformopenglcontext.h +++ b/src/gui/kernel/qplatformopenglcontext.h @@ -83,7 +83,7 @@ public: virtual bool isSharing() const { return false; } virtual bool isValid() const { return true; } - virtual QFunctionPointer getProcAddress(const QByteArray &procName) = 0; + virtual QFunctionPointer getProcAddress(const char *procName) = 0; QOpenGLContext *context() const; diff --git a/src/gui/opengl/qopengldebug.cpp b/src/gui/opengl/qopengldebug.cpp index 5f0164c3e1..7bdf6ee443 100644 --- a/src/gui/opengl/qopengldebug.cpp +++ b/src/gui/opengl/qopengldebug.cpp @@ -1379,7 +1379,7 @@ bool QOpenGLDebugLogger::initialize() #define GET_DEBUG_PROC_ADDRESS(procName) \ d->procName = reinterpret_cast< qt_ ## procName ## _t >( \ - d->context->getProcAddress(QByteArrayLiteral( #procName )) \ + d->context->getProcAddress(#procName) \ ); GET_DEBUG_PROC_ADDRESS(glDebugMessageControl); diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index b7a82a5def..b77f2c4f0f 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -2199,36 +2199,39 @@ private: static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName, int policy) { - QByteArray fn = funcName; - int size = fn.size(); - QFunctionPointer function = context->getProcAddress(fn); - - // create room for the extension names - fn.resize(size + 5); - char *ext = fn.data() + size; - if (!function && (policy & ResolveOES)) { - memcpy(ext, "OES\0\0", 5); - function = context->getProcAddress(fn); - } + QFunctionPointer function = context->getProcAddress(funcName); + + if (!function && policy) { + char fn[512]; + size_t size = strlen(funcName); + Q_ASSERT(size < 500); + memcpy(fn, funcName, size); + + char *ext = fn + size; + if (!function && (policy & ResolveOES)) { + memcpy(ext, "OES", 4); + function = context->getProcAddress(fn); + } - if (!function) { - memcpy(ext, "ARB\0\0", 5); - function = context->getProcAddress(fn); - } + if (!function) { + memcpy(ext, "ARB", 4); + function = context->getProcAddress(fn); + } - if (!function && (policy & ResolveEXT)) { - memcpy(ext, "EXT\0\0", 5); - function = context->getProcAddress(fn); - } + if (!function && (policy & ResolveEXT)) { + memcpy(ext, "EXT", 4); + function = context->getProcAddress(fn); + } - if (!function && (policy & ResolveANGLE)) { - memcpy(ext, "ANGLE", 5); - function = context->getProcAddress(fn); - } + if (!function && (policy & ResolveANGLE)) { + memcpy(ext, "ANGLE", 6); + function = context->getProcAddress(fn); + } - if (!function && (policy & ResolveNV)) { - memcpy(ext, "NV\0\0\0", 5); - function = context->getProcAddress(fn); + if (!function && (policy & ResolveNV)) { + memcpy(ext, "NV", 3); + function = context->getProcAddress(fn); + } } return function; diff --git a/src/gui/opengl/qopengltexturehelper.cpp b/src/gui/opengl/qopengltexturehelper.cpp index afac873795..c0d3bc3c73 100644 --- a/src/gui/opengl/qopengltexturehelper.cpp +++ b/src/gui/opengl/qopengltexturehelper.cpp @@ -58,28 +58,28 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) if (allowDSA && !context->isOpenGLES() && context->hasExtension(QByteArrayLiteral("GL_EXT_direct_state_access"))) { - TextureParameteriEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureParameteriEXT"))); - TextureParameterivEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureParameterivEXT"))); - TextureParameterfEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureParameterfEXT"))); - TextureParameterfvEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureParameterfvEXT"))); - GenerateTextureMipmapEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGenerateTextureMipmapEXT"))); - TextureStorage3DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureStorage3DEXT"))); - TextureStorage2DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureStorage2DEXT"))); - TextureStorage1DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureStorage1DEXT"))); - TextureStorage3DMultisampleEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureStorage3DMultisampleEXT"))); - TextureStorage2DMultisampleEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureStorage2DMultisampleEXT"))); - TextureImage3DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureImage3DEXT"))); - TextureImage2DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureImage2DEXT"))); - TextureImage1DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureImage1DEXT"))); - TextureSubImage3DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureSubImage3DEXT"))); - TextureSubImage2DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureSubImage2DEXT"))); - TextureSubImage1DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureSubImage1DEXT"))); - CompressedTextureSubImage1DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTextureSubImage1DEXT"))); - CompressedTextureSubImage2DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTextureSubImage2DEXT"))); - CompressedTextureSubImage3DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTextureSubImage3DEXT"))); - CompressedTextureImage1DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTextureImage1DEXT"))); - CompressedTextureImage2DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTextureImage2DEXT"))); - CompressedTextureImage3DEXT = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTextureImage3DEXT"))); + TextureParameteriEXT = reinterpret_cast(context->getProcAddress("glTextureParameteriEXT")); + TextureParameterivEXT = reinterpret_cast(context->getProcAddress("glTextureParameterivEXT")); + TextureParameterfEXT = reinterpret_cast(context->getProcAddress("glTextureParameterfEXT")); + TextureParameterfvEXT = reinterpret_cast(context->getProcAddress("glTextureParameterfvEXT")); + GenerateTextureMipmapEXT = reinterpret_cast(context->getProcAddress("glGenerateTextureMipmapEXT")); + TextureStorage3DEXT = reinterpret_cast(context->getProcAddress("glTextureStorage3DEXT")); + TextureStorage2DEXT = reinterpret_cast(context->getProcAddress("glTextureStorage2DEXT")); + TextureStorage1DEXT = reinterpret_cast(context->getProcAddress("glTextureStorage1DEXT")); + TextureStorage3DMultisampleEXT = reinterpret_cast(context->getProcAddress("glTextureStorage3DMultisampleEXT")); + TextureStorage2DMultisampleEXT = reinterpret_cast(context->getProcAddress("glTextureStorage2DMultisampleEXT")); + TextureImage3DEXT = reinterpret_cast(context->getProcAddress("glTextureImage3DEXT")); + TextureImage2DEXT = reinterpret_cast(context->getProcAddress("glTextureImage2DEXT")); + TextureImage1DEXT = reinterpret_cast(context->getProcAddress("glTextureImage1DEXT")); + TextureSubImage3DEXT = reinterpret_cast(context->getProcAddress("glTextureSubImage3DEXT")); + TextureSubImage2DEXT = reinterpret_cast(context->getProcAddress("glTextureSubImage2DEXT")); + TextureSubImage1DEXT = reinterpret_cast(context->getProcAddress("glTextureSubImage1DEXT")); + CompressedTextureSubImage1DEXT = reinterpret_cast(context->getProcAddress("glCompressedTextureSubImage1DEXT")); + CompressedTextureSubImage2DEXT = reinterpret_cast(context->getProcAddress("glCompressedTextureSubImage2DEXT")); + CompressedTextureSubImage3DEXT = reinterpret_cast(context->getProcAddress("glCompressedTextureSubImage3DEXT")); + CompressedTextureImage1DEXT = reinterpret_cast(context->getProcAddress("glCompressedTextureImage1DEXT")); + CompressedTextureImage2DEXT = reinterpret_cast(context->getProcAddress("glCompressedTextureImage2DEXT")); + CompressedTextureImage3DEXT = reinterpret_cast(context->getProcAddress("glCompressedTextureImage3DEXT")); // Use the real DSA functions TextureParameteri = &QOpenGLTextureHelper::dsa_TextureParameteri; @@ -133,8 +133,8 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) // Some DSA functions are part of NV_texture_multisample instead if (!context->isOpenGLES() && context->hasExtension(QByteArrayLiteral("GL_NV_texture_multisample"))) { - TextureImage3DMultisampleNV = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureImage3DMultisampleNV"))); - TextureImage2DMultisampleNV = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureImage2DMultisampleNV"))); + TextureImage3DMultisampleNV = reinterpret_cast(context->getProcAddress("glTextureImage3DMultisampleNV")); + TextureImage2DMultisampleNV = reinterpret_cast(context->getProcAddress("glTextureImage2DMultisampleNV")); TextureImage3DMultisample = &QOpenGLTextureHelper::dsa_TextureImage3DMultisample; TextureImage2DMultisample = &QOpenGLTextureHelper::dsa_TextureImage2DMultisample; @@ -202,10 +202,10 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) #endif if (context->isOpenGLES() && context->hasExtension(QByteArrayLiteral("GL_OES_texture_3D"))) { - TexImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexImage3DOES"))); - TexSubImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexSubImage3DOES"))); - CompressedTexImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexImage3DOES"))); - CompressedTexSubImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexSubImage3DOES"))); + TexImage3D = reinterpret_cast(context->getProcAddress("glTexImage3DOES")); + TexSubImage3D = reinterpret_cast(context->getProcAddress("glTexSubImage3DOES")); + CompressedTexImage3D = reinterpret_cast(context->getProcAddress("glCompressedTexImage3DOES")); + CompressedTexSubImage3D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage3DOES")); } else { QOpenGLContext *ctx = QOpenGLContext::currentContext(); if (ctx->isOpenGLES() && ctx->format().majorVersion() >= 3) { @@ -217,41 +217,41 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) CompressedTexSubImage3D = es3->CompressedTexSubImage3D; } else { // OpenGL 1.2 - TexImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexImage3D"))); - TexSubImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexSubImage3D"))); + TexImage3D = reinterpret_cast(context->getProcAddress("glTexImage3D")); + TexSubImage3D = reinterpret_cast(context->getProcAddress("glTexSubImage3D")); // OpenGL 1.3 - CompressedTexImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexImage3D"))); - CompressedTexSubImage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexSubImage3D"))); + CompressedTexImage3D = reinterpret_cast(context->getProcAddress("glCompressedTexImage3D")); + CompressedTexSubImage3D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage3D")); } } #ifndef QT_OPENGL_ES_2 // OpenGL 1.3 - GetCompressedTexImage = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGetCompressedTexImage"))); - CompressedTexSubImage1D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexSubImage1D"))); - CompressedTexSubImage2D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexSubImage2D"))); - CompressedTexImage1D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexImage1D"))); - CompressedTexImage2D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glCompressedTexImage2D"))); - ActiveTexture = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glActiveTexture"))); + GetCompressedTexImage = reinterpret_cast(context->getProcAddress("glGetCompressedTexImage")); + CompressedTexSubImage1D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage1D")); + CompressedTexSubImage2D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage2D")); + CompressedTexImage1D = reinterpret_cast(context->getProcAddress("glCompressedTexImage1D")); + CompressedTexImage2D = reinterpret_cast(context->getProcAddress("glCompressedTexImage2D")); + ActiveTexture = reinterpret_cast(context->getProcAddress("glActiveTexture")); // OpenGL 3.0 - GenerateMipmap = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGenerateMipmap"))); + GenerateMipmap = reinterpret_cast(context->getProcAddress("glGenerateMipmap")); // OpenGL 3.2 - TexImage3DMultisample = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexImage3DMultisample"))); - TexImage2DMultisample = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexImage2DMultisample"))); + TexImage3DMultisample = reinterpret_cast(context->getProcAddress("glTexImage3DMultisample")); + TexImage2DMultisample = reinterpret_cast(context->getProcAddress("glTexImage2DMultisample")); // OpenGL 4.2 - TexStorage3D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexStorage3D"))); - TexStorage2D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexStorage2D"))); - TexStorage1D = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexStorage1D"))); + TexStorage3D = reinterpret_cast(context->getProcAddress("glTexStorage3D")); + TexStorage2D = reinterpret_cast(context->getProcAddress("glTexStorage2D")); + TexStorage1D = reinterpret_cast(context->getProcAddress("glTexStorage1D")); // OpenGL 4.3 - TexStorage3DMultisample = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexStorage3DMultisample"))); - TexStorage2DMultisample = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexStorage2DMultisample"))); - TexBufferRange = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTexBufferRange"))); - TextureView = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glTextureView"))); + TexStorage3DMultisample = reinterpret_cast(context->getProcAddress("glTexStorage3DMultisample")); + TexStorage2DMultisample = reinterpret_cast(context->getProcAddress("glTexStorage2DMultisample")); + TexBufferRange = reinterpret_cast(context->getProcAddress("glTexBufferRange")); + TextureView = reinterpret_cast(context->getProcAddress("glTextureView")); #endif } diff --git a/src/gui/opengl/qopenglvertexarrayobject.cpp b/src/gui/opengl/qopenglvertexarrayobject.cpp index 8e0b536909..fe1e308532 100644 --- a/src/gui/opengl/qopenglvertexarrayobject.cpp +++ b/src/gui/opengl/qopenglvertexarrayobject.cpp @@ -70,26 +70,26 @@ void qtInitializeVertexArrayObjectHelper(QOpenGLVertexArrayObjectHelper *helper, helper->IsVertexArray = es3->IsVertexArray; tryARB = false; } else if (context->hasExtension(QByteArrayLiteral("GL_OES_vertex_array_object"))) { - helper->GenVertexArrays = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGenVertexArraysOES"))); - helper->DeleteVertexArrays = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glDeleteVertexArraysOES"))); - helper->BindVertexArray = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glBindVertexArrayOES"))); - helper->IsVertexArray = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glIsVertexArrayOES"))); + helper->GenVertexArrays = reinterpret_cast(context->getProcAddress("glGenVertexArraysOES")); + helper->DeleteVertexArrays = reinterpret_cast(context->getProcAddress("glDeleteVertexArraysOES")); + helper->BindVertexArray = reinterpret_cast(context->getProcAddress("glBindVertexArrayOES")); + helper->IsVertexArray = reinterpret_cast(context->getProcAddress("glIsVertexArrayOES")); tryARB = false; } } else if (context->hasExtension(QByteArrayLiteral("GL_APPLE_vertex_array_object")) && !context->hasExtension(QByteArrayLiteral("GL_ARB_vertex_array_object"))) { - helper->GenVertexArrays = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGenVertexArraysAPPLE"))); - helper->DeleteVertexArrays = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glDeleteVertexArraysAPPLE"))); - helper->BindVertexArray = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glBindVertexArrayAPPLE"))); - helper->IsVertexArray = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glIsVertexArrayAPPLE"))); + helper->GenVertexArrays = reinterpret_cast(context->getProcAddress("glGenVertexArraysAPPLE")); + helper->DeleteVertexArrays = reinterpret_cast(context->getProcAddress("glDeleteVertexArraysAPPLE")); + helper->BindVertexArray = reinterpret_cast(context->getProcAddress("glBindVertexArrayAPPLE")); + helper->IsVertexArray = reinterpret_cast(context->getProcAddress("glIsVertexArrayAPPLE")); tryARB = false; } if (tryARB && context->hasExtension(QByteArrayLiteral("GL_ARB_vertex_array_object"))) { - helper->GenVertexArrays = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glGenVertexArrays"))); - helper->DeleteVertexArrays = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glDeleteVertexArrays"))); - helper->BindVertexArray = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glBindVertexArray"))); - helper->IsVertexArray = reinterpret_cast(context->getProcAddress(QByteArrayLiteral("glIsVertexArray"))); + helper->GenVertexArrays = reinterpret_cast(context->getProcAddress("glGenVertexArrays")); + helper->DeleteVertexArrays = reinterpret_cast(context->getProcAddress("glDeleteVertexArrays")); + helper->BindVertexArray = reinterpret_cast(context->getProcAddress("glBindVertexArray")); + helper->IsVertexArray = reinterpret_cast(context->getProcAddress("glIsVertexArray")); } } diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm index aafd4db863..051b299404 100644 --- a/src/platformsupport/cglconvenience/cglconvenience.mm +++ b/src/platformsupport/cglconvenience/cglconvenience.mm @@ -43,17 +43,17 @@ #include #include -void (*qcgl_getProcAddress(const QByteArray &procName))() +QFunctionPointer qcgl_getProcAddress(const char *procName) { CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, false); CFBundleRef bundle = CFBundleCreate(kCFAllocatorDefault, url); - CFStringRef procNameCF = QCFString::toCFStringRef(QString::fromLatin1(procName.constData())); + CFStringRef procNameCF = QCFString::toCFStringRef(QString::fromLatin1(procName)); void *proc = CFBundleGetFunctionPointerForName(bundle, procNameCF); CFRelease(url); CFRelease(bundle); CFRelease(procNameCF); - return (void (*) ())proc; + return (QFunctionPointer)proc; } // Match up with createNSOpenGLPixelFormat below! diff --git a/src/platformsupport/cglconvenience/cglconvenience_p.h b/src/platformsupport/cglconvenience/cglconvenience_p.h index cb0820263a..adc1879916 100644 --- a/src/platformsupport/cglconvenience/cglconvenience_p.h +++ b/src/platformsupport/cglconvenience/cglconvenience_p.h @@ -55,7 +55,7 @@ #include #include -void (*qcgl_getProcAddress(const QByteArray &procName))(); +QFunctionPointer qcgl_getProcAddress(const char *procName); QSurfaceFormat qcgl_surfaceFormat(); void *qcgl_createNSOpenGLPixelFormat(const QSurfaceFormat &format); diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp index 9e7298b89a..e4cfb86ab3 100644 --- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp +++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp @@ -440,10 +440,10 @@ void QEGLPlatformContext::swapBuffers(QPlatformSurface *surface) } } -void (*QEGLPlatformContext::getProcAddress(const QByteArray &procName)) () +QFunctionPointer QEGLPlatformContext::getProcAddress(const char *procName) { eglBindAPI(m_api); - return eglGetProcAddress(procName.constData()); + return eglGetProcAddress(procName); } QSurfaceFormat QEGLPlatformContext::format() const diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext_p.h b/src/platformsupport/eglconvenience/qeglplatformcontext_p.h index 2679c3b9f8..e772f5df89 100644 --- a/src/platformsupport/eglconvenience/qeglplatformcontext_p.h +++ b/src/platformsupport/eglconvenience/qeglplatformcontext_p.h @@ -76,7 +76,7 @@ public: bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE; void doneCurrent() Q_DECL_OVERRIDE; void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE; - QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; QSurfaceFormat format() const Q_DECL_OVERRIDE; bool isSharing() const Q_DECL_OVERRIDE { return m_shareContext != EGL_NO_CONTEXT; } diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.h b/src/plugins/platforms/cocoa/qcocoaglcontext.h index cca541e0e3..5bee708b76 100644 --- a/src/plugins/platforms/cocoa/qcocoaglcontext.h +++ b/src/plugins/platforms/cocoa/qcocoaglcontext.h @@ -63,7 +63,7 @@ public: bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE; void doneCurrent() Q_DECL_OVERRIDE; - void (*getProcAddress(const QByteArray &procName)) () Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; void update(); diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm index e4712d88bc..c004f26d02 100644 --- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm +++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm @@ -335,7 +335,7 @@ void QCocoaGLContext::doneCurrent() [NSOpenGLContext clearCurrentContext]; } -void (*QCocoaGLContext::getProcAddress(const QByteArray &procName))() +QFunctionPointer QCocoaGLContext::getProcAddress(const char *procName) { return qcgl_getProcAddress(procName); } diff --git a/src/plugins/platforms/directfb/qdirectfbglcontext.cpp b/src/plugins/platforms/directfb/qdirectfbglcontext.cpp index 1136591c78..e1607b131a 100644 --- a/src/plugins/platforms/directfb/qdirectfbglcontext.cpp +++ b/src/plugins/platforms/directfb/qdirectfbglcontext.cpp @@ -80,10 +80,10 @@ void QDirectFbGLContext::doneCurrent() m_dfbGlContext->Unlock(m_dfbGlContext); } -void *QDirectFbGLContext::getProcAddress(const QString &procName) +void *QDirectFbGLContext::getProcAddress(const char *procName) { void *proc; - DFBResult result = m_dfbGlContext->GetProcAddress(m_dfbGlContext,qPrintable(procName),&proc); + DFBResult result = m_dfbGlContext->GetProcAddress(m_dfbGlContext, procName, &proc); if (result == DFB_OK) return proc; return 0; diff --git a/src/plugins/platforms/ios/qioscontext.h b/src/plugins/platforms/ios/qioscontext.h index 53ef1d7b54..c8a4fae20c 100644 --- a/src/plugins/platforms/ios/qioscontext.h +++ b/src/plugins/platforms/ios/qioscontext.h @@ -64,7 +64,7 @@ public: void doneCurrent() Q_DECL_OVERRIDE; GLuint defaultFramebufferObject(QPlatformSurface *) const Q_DECL_OVERRIDE; - QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; bool isSharing() const Q_DECL_OVERRIDE; bool isValid() const Q_DECL_OVERRIDE; diff --git a/src/plugins/platforms/ios/qioscontext.mm b/src/plugins/platforms/ios/qioscontext.mm index b7ca88b9ee..546b003d14 100644 --- a/src/plugins/platforms/ios/qioscontext.mm +++ b/src/plugins/platforms/ios/qioscontext.mm @@ -266,9 +266,9 @@ void QIOSContext::windowDestroyed(QObject *object) } } -QFunctionPointer QIOSContext::getProcAddress(const QByteArray& functionName) +QFunctionPointer QIOSContext::getProcAddress(const char *functionName) { - return QFunctionPointer(dlsym(RTLD_DEFAULT, functionName.constData())); + return QFunctionPointer(dlsym(RTLD_DEFAULT, functionName)); } bool QIOSContext::isValid() const diff --git a/src/plugins/platforms/mirclient/qmirclientglcontext.cpp b/src/plugins/platforms/mirclient/qmirclientglcontext.cpp index e1e7727486..7a288af6ff 100644 --- a/src/plugins/platforms/mirclient/qmirclientglcontext.cpp +++ b/src/plugins/platforms/mirclient/qmirclientglcontext.cpp @@ -143,12 +143,12 @@ void QMirClientOpenGLContext::swapBuffers(QPlatformSurface* surface) ubuntuWindow->onSwapBuffersDone(); } -void (*QMirClientOpenGLContext::getProcAddress(const QByteArray& procName)) () +QFunctionPointer QMirClientOpenGLContext::getProcAddress(const char *procName) { #if defined(QT_NO_DEBUG) eglBindAPI(api_in_use()); #else ASSERT(eglBindAPI(api_in_use()) == EGL_TRUE); #endif - return eglGetProcAddress(procName.constData()); + return eglGetProcAddress(procName); } diff --git a/src/plugins/platforms/mirclient/qmirclientglcontext.h b/src/plugins/platforms/mirclient/qmirclientglcontext.h index 29c196ce5c..9278cc7beb 100644 --- a/src/plugins/platforms/mirclient/qmirclientglcontext.h +++ b/src/plugins/platforms/mirclient/qmirclientglcontext.h @@ -53,7 +53,7 @@ public: bool makeCurrent(QPlatformSurface* surface) override; void doneCurrent() override; bool isValid() const override { return mEglContext != EGL_NO_CONTEXT; } - void (*getProcAddress(const QByteArray& procName)) () override; + QFunctionPointer getProcAddress(const char *procName) override; EGLContext eglContext() const { return mEglContext; } diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp index bec7fc9c96..2187eceed4 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp +++ b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp @@ -227,9 +227,9 @@ void QOffscreenX11GLXContext::swapBuffers(QPlatformSurface *) { } -void (*QOffscreenX11GLXContext::getProcAddress(const QByteArray &procName)) () +QFunctionPointer QOffscreenX11GLXContext::getProcAddress(const char *procName) { - return (void (*)())glXGetProcAddressARB(reinterpret_cast(procName.constData())); + return (QFunctionPointer)glXGetProcAddressARB(reinterpret_cast(procName)); } QSurfaceFormat QOffscreenX11GLXContext::format() const diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h index a19ded7c11..aaca74d2fb 100644 --- a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h +++ b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h @@ -91,7 +91,7 @@ public: bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE; void doneCurrent() Q_DECL_OVERRIDE; void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE; - QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; QSurfaceFormat format() const Q_DECL_OVERRIDE; bool isSharing() const Q_DECL_OVERRIDE; diff --git a/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp b/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp index d76c56db65..e57be90870 100644 --- a/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp @@ -84,9 +84,9 @@ void QOpenWFDGLContext::swapBuffers(QPlatformSurface *surface) screen->swapBuffers(); } -void (*QOpenWFDGLContext::getProcAddress(const QByteArray &procName)) () +QFunctionPointer QOpenWFDGLContext::getProcAddress(const char *procName) { - return eglGetProcAddress(procName.data()); + return eglGetProcAddress(procName); } EGLContext QOpenWFDGLContext::eglContext() const diff --git a/src/plugins/platforms/openwfd/qopenwfdglcontext.h b/src/plugins/platforms/openwfd/qopenwfdglcontext.h index 7b5a003253..1c2541e098 100644 --- a/src/plugins/platforms/openwfd/qopenwfdglcontext.h +++ b/src/plugins/platforms/openwfd/qopenwfdglcontext.h @@ -56,7 +56,7 @@ public: void swapBuffers(QPlatformSurface *surface); - void (*getProcAddress(const QByteArray &procName)) (); + QFunctionPointer getProcAddress(const char *procName); EGLContext eglContext() const; private: diff --git a/src/plugins/platforms/qnx/qqnxglcontext.cpp b/src/plugins/platforms/qnx/qqnxglcontext.cpp index 8207de4cbe..0d3076a743 100644 --- a/src/plugins/platforms/qnx/qqnxglcontext.cpp +++ b/src/plugins/platforms/qnx/qqnxglcontext.cpp @@ -252,7 +252,7 @@ void QQnxGLContext::swapBuffers(QPlatformSurface *surface) platformWindow->swapEGLBuffers(); } -QFunctionPointer QQnxGLContext::getProcAddress(const QByteArray &procName) +QFunctionPointer QQnxGLContext::getProcAddress(const char *procName) { qGLContextDebug(); @@ -262,7 +262,7 @@ QFunctionPointer QQnxGLContext::getProcAddress(const QByteArray &procName) qFatal("QQNX: failed to set EGL API, err=%d", eglGetError()); // Lookup EGL extension function pointer - return static_cast(eglGetProcAddress(procName.constData())); + return static_cast(eglGetProcAddress(procName)); } bool QQnxGLContext::isSharing() const diff --git a/src/plugins/platforms/qnx/qqnxglcontext.h b/src/plugins/platforms/qnx/qqnxglcontext.h index 897dbefc38..74cd3b4c48 100644 --- a/src/plugins/platforms/qnx/qqnxglcontext.h +++ b/src/plugins/platforms/qnx/qqnxglcontext.h @@ -67,7 +67,7 @@ public: bool makeCurrent(QPlatformSurface *surface); void doneCurrent(); void swapBuffers(QPlatformSurface *surface); - QFunctionPointer getProcAddress(const QByteArray &procName); + QFunctionPointer getProcAddress(const char *procName); virtual QSurfaceFormat format() const { return m_windowFormat; } bool isSharing() const; diff --git a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp index a11196d1d2..253fa1d217 100644 --- a/src/plugins/platforms/windows/qwindowseglcontext.cpp +++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp @@ -683,7 +683,7 @@ void QWindowsEGLContext::swapBuffers(QPlatformSurface *surface) } } -QFunctionPointer QWindowsEGLContext::getProcAddress(const QByteArray &procName) +QFunctionPointer QWindowsEGLContext::getProcAddress(const char *procName) { // We support AllGLFunctionsQueryable, which means this function must be able to // return a function pointer for standard GLES2 functions too. These are not @@ -838,15 +838,15 @@ QFunctionPointer QWindowsEGLContext::getProcAddress(const QByteArray &procName) { "glDepthRangef", (void *) QWindowsEGLStaticContext::libGLESv2.glDepthRangef } }; for (size_t i = 0; i < sizeof(standardFuncs) / sizeof(StdFunc); ++i) - if (procName == standardFuncs[i].name) + if (!qstrcmp(procName, standardFuncs[i].name)) return reinterpret_cast(standardFuncs[i].func); QWindowsEGLStaticContext::libEGL.eglBindAPI(m_api); - QFunctionPointer procAddress = reinterpret_cast(QWindowsEGLStaticContext::libEGL.eglGetProcAddress(procName.constData())); + QFunctionPointer procAddress = reinterpret_cast(QWindowsEGLStaticContext::libEGL.eglGetProcAddress(procName)); if (QWindowsContext::verbose > 1) qCDebug(lcQpaGl) << __FUNCTION__ << procName << QWindowsEGLStaticContext::libEGL.eglGetCurrentContext() << "returns" << procAddress; if (!procAddress && QWindowsContext::verbose) - qWarning("%s: Unable to resolve '%s'", __FUNCTION__, procName.constData()); + qWarning("%s: Unable to resolve '%s'", __FUNCTION__, procName); return procAddress; } diff --git a/src/plugins/platforms/windows/qwindowseglcontext.h b/src/plugins/platforms/windows/qwindowseglcontext.h index ccc2cdcad1..e49d1da9c5 100644 --- a/src/plugins/platforms/windows/qwindowseglcontext.h +++ b/src/plugins/platforms/windows/qwindowseglcontext.h @@ -292,7 +292,7 @@ public: bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE; void doneCurrent() Q_DECL_OVERRIDE; void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE; - QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; QSurfaceFormat format() const Q_DECL_OVERRIDE { return m_format; } bool isSharing() const Q_DECL_OVERRIDE { return m_shareContext != EGL_NO_CONTEXT; } diff --git a/src/plugins/platforms/windows/qwindowsglcontext.cpp b/src/plugins/platforms/windows/qwindowsglcontext.cpp index 48f2e3aaef..8eac7cca9e 100644 --- a/src/plugins/platforms/windows/qwindowsglcontext.cpp +++ b/src/plugins/platforms/windows/qwindowsglcontext.cpp @@ -1381,7 +1381,7 @@ void QWindowsGLContext::doneCurrent() releaseDCs(); } -QFunctionPointer QWindowsGLContext::getProcAddress(const QByteArray &procName) +QFunctionPointer QWindowsGLContext::getProcAddress(const char *procName) { // We support AllGLFunctionsQueryable, which means this function must be able to // return a function pointer even for functions that are in GL.h and exported @@ -1444,17 +1444,17 @@ QFunctionPointer QWindowsGLContext::getProcAddress(const QByteArray &procName) { "glDepthRange", (void *) QOpenGLStaticContext::opengl32.glDepthRange }, }; for (size_t i = 0; i < sizeof(standardFuncs) / sizeof(StdFunc); ++i) - if (procName == standardFuncs[i].name) + if (!qstrcmp(procName, standardFuncs[i].name)) return reinterpret_cast(standardFuncs[i].func); // Even though we use QFunctionPointer, it does not mean the function can be called. // It will need to be cast to the proper function type with the correct calling // convention. QFunctionPointer is nothing more than a glorified void* here. - QFunctionPointer procAddress = reinterpret_cast(QOpenGLStaticContext::opengl32.wglGetProcAddress(procName.constData())); + QFunctionPointer procAddress = reinterpret_cast(QOpenGLStaticContext::opengl32.wglGetProcAddress(procName)); if (QWindowsContext::verbose > 1) qCDebug(lcQpaGl) << __FUNCTION__ << procName << QOpenGLStaticContext::opengl32.wglGetCurrentContext() << "returns" << procAddress; if (!procAddress && QWindowsContext::verbose) - qWarning("%s: Unable to resolve '%s'", __FUNCTION__, procName.constData()); + qWarning("%s: Unable to resolve '%s'", __FUNCTION__, procName); return procAddress; } diff --git a/src/plugins/platforms/windows/qwindowsglcontext.h b/src/plugins/platforms/windows/qwindowsglcontext.h index 3acfed1ccf..a0fc31227e 100644 --- a/src/plugins/platforms/windows/qwindowsglcontext.h +++ b/src/plugins/platforms/windows/qwindowsglcontext.h @@ -251,7 +251,7 @@ public: typedef void (*GL_Proc) (); - QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; HGLRC renderingContext() const { return m_renderingContext; } diff --git a/src/plugins/platforms/winrt/qwinrteglcontext.cpp b/src/plugins/platforms/winrt/qwinrteglcontext.cpp index 34f439b70f..dfc9e31f14 100644 --- a/src/plugins/platforms/winrt/qwinrteglcontext.cpp +++ b/src/plugins/platforms/winrt/qwinrteglcontext.cpp @@ -195,7 +195,7 @@ QSurfaceFormat QWinRTEGLContext::format() const return d->format; } -QFunctionPointer QWinRTEGLContext::getProcAddress(const QByteArray &procName) +QFunctionPointer QWinRTEGLContext::getProcAddress(const char *procName) { static QHash standardFuncs; if (standardFuncs.isEmpty()) { @@ -347,7 +347,7 @@ QFunctionPointer QWinRTEGLContext::getProcAddress(const QByteArray &procName) if (i != standardFuncs.end()) return i.value(); - return eglGetProcAddress(procName.constData()); + return eglGetProcAddress(procName); } EGLDisplay QWinRTEGLContext::display() diff --git a/src/plugins/platforms/winrt/qwinrteglcontext.h b/src/plugins/platforms/winrt/qwinrteglcontext.h index 49b289cd79..6f38e2535d 100644 --- a/src/plugins/platforms/winrt/qwinrteglcontext.h +++ b/src/plugins/platforms/winrt/qwinrteglcontext.h @@ -56,7 +56,7 @@ public: void swapBuffers(QPlatformSurface *windowSurface) Q_DECL_OVERRIDE; QSurfaceFormat format() const Q_DECL_OVERRIDE; - QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; static EGLDisplay display(); private: diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp index ff624d9755..4290ec54fc 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp @@ -550,10 +550,10 @@ void QGLXContext::swapBuffers(QPlatformSurface *surface) } } -void (*QGLXContext::getProcAddress(const QByteArray &procName)) () +QFunctionPointer QGLXContext::getProcAddress(const char *procName) { #ifdef QT_STATIC - return glXGetProcAddressARB(reinterpret_cast(procName.constData())); + return glXGetProcAddressARB(reinterpret_cast(procName)); #else typedef void *(*qt_glXGetProcAddressARB)(const GLubyte *); static qt_glXGetProcAddressARB glXGetProcAddressARB = 0; @@ -585,7 +585,7 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) () } if (!glXGetProcAddressARB) return 0; - return (void (*)())glXGetProcAddressARB(reinterpret_cast(procName.constData())); + return (void (*)())glXGetProcAddressARB(reinterpret_cast(procName)); #endif } diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h index e5cbee3363..f00d96e6d5 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h @@ -63,7 +63,7 @@ public: bool makeCurrent(QPlatformSurface *surface) Q_DECL_OVERRIDE; void doneCurrent() Q_DECL_OVERRIDE; void swapBuffers(QPlatformSurface *surface) Q_DECL_OVERRIDE; - QFunctionPointer getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE; + QFunctionPointer getProcAddress(const char *procName) Q_DECL_OVERRIDE; QSurfaceFormat format() const Q_DECL_OVERRIDE; bool isSharing() const Q_DECL_OVERRIDE; -- cgit v1.2.3 From 4a6c39b1dd0768bb032856bdd72dd19fbfe8f0dc Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 29 Jan 2016 12:49:05 +0100 Subject: Inline versionStatus() and make it constexpr Saves another 20-30k for QtGui Change-Id: I2a6980713ab1c45144c70ba9835c6e85f736279b Reviewed-by: Laszlo Agocs Reviewed-by: Sean Harmer --- src/gui/opengl/qopenglversionfunctions.cpp | 161 +---------------------------- src/gui/opengl/qopenglversionfunctions.h | 81 ++++++++++----- 2 files changed, 55 insertions(+), 187 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglversionfunctions.cpp b/src/gui/opengl/qopenglversionfunctions.cpp index 474ffa2be1..b8767bd46d 100644 --- a/src/gui/opengl/qopenglversionfunctions.cpp +++ b/src/gui/opengl/qopenglversionfunctions.cpp @@ -291,196 +291,37 @@ QOpenGLContext *QAbstractOpenGLFunctions::owningContext() const #if !defined(QT_OPENGL_ES_2) -// OpenGL 1.0 core functions QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_CoreBackend, QT_OPENGL_1_0_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_0_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_CoreBackend, QT_OPENGL_1_1_FUNCTIONS) -QOpenGLVersionStatus QOpenGLFunctions_1_1_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_CoreBackend, QT_OPENGL_1_2_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_2_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_CoreBackend, QT_OPENGL_1_3_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_3_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::CoreStatus); -} - -QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_4_CoreBackend, QT_OPENGL_1_4_FUNCTIONS); - -QOpenGLVersionStatus QOpenGLFunctions_1_4_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::CoreStatus); -} - +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_4_CoreBackend, QT_OPENGL_1_4_FUNCTIONS) QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_5_CoreBackend, QT_OPENGL_1_5_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_5_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 5, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_0_CoreBackend, QT_OPENGL_2_0_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_2_0_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_1_CoreBackend, QT_OPENGL_2_1_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_2_1_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(2, 1, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_0_CoreBackend, QT_OPENGL_3_0_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_3_0_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_1_CoreBackend, QT_OPENGL_3_1_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_3_1_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(3, 1, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_2_CoreBackend, QT_OPENGL_3_2_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_3_2_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(3, 2, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_3_CoreBackend, QT_OPENGL_3_3_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_3_3_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_0_CoreBackend, QT_OPENGL_4_0_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_4_0_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(4, 0, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_1_CoreBackend, QT_OPENGL_4_1_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_4_1_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(4, 1, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_2_CoreBackend, QT_OPENGL_4_2_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_4_2_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(4, 2, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_3_CoreBackend, QT_OPENGL_4_3_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_4_3_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(4, 3, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_4_CoreBackend, QT_OPENGL_4_4_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_4_4_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(4, 4, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_5_CoreBackend, QT_OPENGL_4_5_FUNCTIONS) -QOpenGLVersionStatus QOpenGLFunctions_4_5_CoreBackend::versionStatus() -{ - return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::CoreStatus); -} - QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_DeprecatedBackend, QT_OPENGL_1_0_DEPRECATED_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_DeprecatedBackend, QT_OPENGL_1_1_DEPRECATED_FUNCTIONS) -QOpenGLVersionStatus QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_DeprecatedBackend, QT_OPENGL_1_2_DEPRECATED_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_DeprecatedBackend, QT_OPENGL_1_3_DEPRECATED_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_4_DeprecatedBackend, QT_OPENGL_1_4_DEPRECATED_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_2_0_DeprecatedBackend, QT_OPENGL_2_0_DEPRECATED_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_2_0_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_0_DeprecatedBackend, QT_OPENGL_3_0_DEPRECATED_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_3_0_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_3_3_DeprecatedBackend, QT_OPENGL_3_3_DEPRECATED_FUNCTIONS) - -QOpenGLVersionStatus QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::DeprecatedStatus); -} - QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_5_DeprecatedBackend, QT_OPENGL_4_5_DEPRECATED_FUNCTIONS) -QOpenGLVersionStatus QOpenGLFunctions_4_5_DeprecatedBackend::versionStatus() -{ - return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::DeprecatedStatus); -} - #else // No backends for OpenGL ES 2 diff --git a/src/gui/opengl/qopenglversionfunctions.h b/src/gui/opengl/qopenglversionfunctions.h index e5fad20c96..537d4f4dd7 100644 --- a/src/gui/opengl/qopenglversionfunctions.h +++ b/src/gui/opengl/qopenglversionfunctions.h @@ -203,7 +203,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::CoreStatus); } // OpenGL 1.0 core functions #define QT_OPENGL_1_0_FUNCTIONS(F) \ @@ -268,7 +269,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::CoreStatus); } // OpenGL 1.1 core functions #define QT_OPENGL_1_1_FUNCTIONS(F) \ @@ -301,7 +303,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::CoreStatus); } // OpenGL 1.2 core functions #define QT_OPENGL_1_2_FUNCTIONS(F) \ @@ -324,7 +327,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::CoreStatus); } // OpenGL 1.3 core functions #define QT_OPENGL_1_3_FUNCTIONS(F) \ @@ -350,7 +354,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::CoreStatus); } // OpenGL 1.4 core functions #define QT_OPENGL_1_4_FUNCTIONS(F) \ @@ -374,7 +379,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 5, QOpenGLVersionStatus::CoreStatus); } // OpenGL 1.5 core functions #define QT_OPENGL_1_5_FUNCTIONS(F) \ @@ -410,7 +416,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::CoreStatus); } // OpenGL 2.0 core functions #define QT_OPENGL_2_0_FUNCTIONS(F) \ @@ -520,7 +527,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(2, 1, QOpenGLVersionStatus::CoreStatus); } // OpenGL 2.1 core functions #define QT_OPENGL_2_1_FUNCTIONS(F) \ @@ -543,7 +551,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::CoreStatus); } // OpenGL 3.0 core functions #define QT_OPENGL_3_0_FUNCTIONS(F) \ @@ -644,7 +653,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(3, 1, QOpenGLVersionStatus::CoreStatus); } // OpenGL 3.1 core functions #define QT_OPENGL_3_1_FUNCTIONS(F) \ @@ -673,7 +683,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(3, 2, QOpenGLVersionStatus::CoreStatus); } // OpenGL 3.2 core functions #define QT_OPENGL_3_2_FUNCTIONS(F) \ @@ -709,7 +720,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::CoreStatus); } // OpenGL 3.3 core functions #define QT_OPENGL_3_3_FUNCTIONS(F) \ @@ -784,7 +796,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(4, 0, QOpenGLVersionStatus::CoreStatus); } // OpenGL 4.0 core functions #define QT_OPENGL_4_0_FUNCTIONS(F) \ @@ -847,7 +860,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(4, 1, QOpenGLVersionStatus::CoreStatus); } // OpenGL 4.1 core functions #define QT_OPENGL_4_1_FUNCTIONS(F) \ @@ -952,7 +966,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(4, 2, QOpenGLVersionStatus::CoreStatus); } // OpenGL 4.2 core functions #define QT_OPENGL_4_2_FUNCTIONS(F) \ @@ -981,7 +996,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(4, 3, QOpenGLVersionStatus::CoreStatus); } // OpenGL 4.3 core functions #define QT_OPENGL_4_3_FUNCTIONS(F) \ @@ -1041,7 +1057,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(4, 4, QOpenGLVersionStatus::CoreStatus); } // OpenGL 4.4 core functions #define QT_OPENGL_4_4_FUNCTIONS(F) \ @@ -1067,7 +1084,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::CoreStatus); } // OpenGL 4.5 core functions #define QT_OPENGL_4_5_FUNCTIONS(F) \ @@ -1190,7 +1208,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 1.0 deprecated functions #define QT_OPENGL_1_0_DEPRECATED_FUNCTIONS(F) \ @@ -1465,7 +1484,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 1.1 deprecated functions #define QT_OPENGL_1_1_DEPRECATED_FUNCTIONS(F) \ @@ -1499,7 +1519,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 1.2 deprecated functions #define QT_OPENGL_1_2_DEPRECATED_FUNCTIONS(F) \ @@ -1548,7 +1569,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 1.3 deprecated functions #define QT_OPENGL_1_3_DEPRECATED_FUNCTIONS(F) \ @@ -1602,7 +1624,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 1.4 deprecated functions #define QT_OPENGL_1_4_DEPRECATED_FUNCTIONS(F) \ @@ -1657,7 +1680,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 2.0 deprecated functions #define QT_OPENGL_2_0_DEPRECATED_FUNCTIONS(F) \ @@ -1710,7 +1734,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 3.0 deprecated functions #define QT_OPENGL_3_0_DEPRECATED_FUNCTIONS(F) \ @@ -1747,7 +1772,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 3.3 deprecated functions #define QT_OPENGL_3_3_DEPRECATED_FUNCTIONS(F) \ @@ -1794,7 +1820,8 @@ public: init(); } - static QOpenGLVersionStatus versionStatus(); + Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() + { return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::DeprecatedStatus); } // OpenGL 4.5 deprecated functions #define QT_OPENGL_4_5_DEPRECATED_FUNCTIONS(F) \ -- cgit v1.2.3 From c69622fc60db8a3dc6755eda4136d01456a3785c Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 2 Feb 2016 12:16:26 +0100 Subject: Resolve GLES3 function pointers at construction time Remove the wrapper methods resolving themselves at first run also here and instead resolve all GL entry points when the QOpenGLExtraFunctions object gets constructured. Keep the gles3helper for now until all backends are fixed to be able to resolve these methods directly. Change-Id: I194bd4465605f57d27c79808a016592c101ac04c Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglfunctions.cpp | 1985 +++++++---------------------------- 1 file changed, 381 insertions(+), 1604 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index b77f2c4f0f..77739607f0 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -2540,34 +2540,6 @@ static void QOPENGLF_APIENTRY qopenglfSpecialReleaseShaderCompiler() #endif // !QT_OPENGL_ES_2 -// Extensions not standard in any ES version - -static GLvoid *QOPENGLF_APIENTRY qopenglfResolveMapBuffer(GLenum target, GLenum access) -{ - // It is possible that GL_OES_map_buffer is present, but then having to - // differentiate between glUnmapBufferOES and glUnmapBuffer causes extra - // headache. QOpenGLBuffer::map() will handle this automatically, while direct - // calls are better off with migrating to the standard glMapBufferRange. - QOpenGLContext *ctx = QOpenGLContext::currentContext(); - if (ctx->isOpenGLES() && ctx->format().majorVersion() >= 3) { - qWarning("QOpenGLFunctions: glMapBuffer is not available in OpenGL ES 3.0 and up. Use glMapBufferRange instead."); - return 0; - } else { - RESOLVE_FUNC(GLvoid *, ResolveOES, MapBuffer)(target, access); - } -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, GLvoid *data) -{ - RESOLVE_FUNC_VOID(ResolveEXT, GetBufferSubData) - (target, offset, size, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDiscardFramebuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments) -{ - RESOLVE_FUNC_VOID(ResolveEXT, DiscardFramebuffer)(target, numAttachments, attachments); -} - #if !defined(QT_OPENGL_ES_2) && !defined(QT_OPENGL_DYNAMIC) // Special translation functions for ES-specific calls on desktop GL @@ -5337,1597 +5309,402 @@ static inline bool isES3(int minor) return false; } -// Go through the dlsym-based helper for real ES 3, resolve using -// wglGetProcAddress or similar when on plain OpenGL. - -static void QOPENGLF_APIENTRY qopenglfResolveBeginQuery(GLenum target, GLuint id) -{ - if (isES3(0)) - qgles3Helper()->BeginQuery(target, id); - else - RESOLVE_FUNC_VOID(0, BeginQuery)(target, id); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBeginTransformFeedback(GLenum primitiveMode) -{ - if (isES3(0)) - qgles3Helper()->BeginTransformFeedback(primitiveMode); - else - RESOLVE_FUNC_VOID(0, BeginTransformFeedback)(primitiveMode); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindBufferBase(GLenum target, GLuint index, GLuint buffer) -{ - if (isES3(0)) - qgles3Helper()->BindBufferBase(target, index, buffer); - else - RESOLVE_FUNC_VOID(0, BindBufferBase)(target, index, buffer); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size) -{ - if (isES3(0)) - qgles3Helper()->BindBufferRange(target, index, buffer, offset, size); - else - RESOLVE_FUNC_VOID(0, BindBufferRange)(target, index, buffer, offset, size); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindSampler(GLuint unit, GLuint sampler) -{ - if (isES3(0)) - qgles3Helper()->BindSampler(unit, sampler); - else - RESOLVE_FUNC_VOID(0, BindSampler)(unit, sampler); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindTransformFeedback(GLenum target, GLuint id) -{ - if (isES3(0)) - qgles3Helper()->BindTransformFeedback(target, id); - else - RESOLVE_FUNC_VOID(0, BindTransformFeedback)(target, id); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindVertexArray(GLuint array) -{ - if (isES3(0)) - qgles3Helper()->BindVertexArray(array); - else - RESOLVE_FUNC_VOID(0, BindVertexArray)(array); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) -{ - if (isES3(0)) - qgles3Helper()->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); - else - RESOLVE_FUNC_VOID(ResolveEXT | ResolveANGLE | ResolveNV, BlitFramebuffer) - (srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); -} - -static void QOPENGLF_APIENTRY qopenglfResolveClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil) -{ - if (isES3(0)) - qgles3Helper()->ClearBufferfi(buffer, drawbuffer, depth, stencil); - else - RESOLVE_FUNC_VOID(0, ClearBufferfi)(buffer, drawbuffer, depth, stencil); -} - -static void QOPENGLF_APIENTRY qopenglfResolveClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat * value) -{ - if (isES3(0)) - qgles3Helper()->ClearBufferfv(buffer, drawbuffer, value); - else - RESOLVE_FUNC_VOID(0, ClearBufferfv)(buffer, drawbuffer, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint * value) -{ - if (isES3(0)) - qgles3Helper()->ClearBufferiv(buffer, drawbuffer, value); - else - RESOLVE_FUNC_VOID(0, ClearBufferiv)(buffer, drawbuffer, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint * value) -{ - if (isES3(0)) - qgles3Helper()->ClearBufferuiv(buffer, drawbuffer, value); - else - RESOLVE_FUNC_VOID(0, ClearBufferuiv)(buffer, drawbuffer, value); -} - -static GLenum QOPENGLF_APIENTRY qopenglfResolveClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) -{ - if (isES3(0)) - return qgles3Helper()->ClientWaitSync(sync, flags, timeout); - else - RESOLVE_FUNC(GLenum, 0, ClientWaitSync)(sync, flags, timeout); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void * data) -{ - if (isES3(0)) - qgles3Helper()->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); - else - RESOLVE_FUNC_VOID(0, CompressedTexImage3D)(target, level, internalformat, width, height, depth, border, imageSize, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void * data) -{ - if (isES3(0)) - qgles3Helper()->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); - else - RESOLVE_FUNC_VOID(0, CompressedTexSubImage3D)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size) -{ - if (isES3(0)) - qgles3Helper()->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); - else - RESOLVE_FUNC_VOID(0, CopyBufferSubData)(readTarget, writeTarget, readOffset, writeOffset, size); -} - -static void QOPENGLF_APIENTRY qopenglfResolveCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) -{ - if (isES3(0)) - qgles3Helper()->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); - else - RESOLVE_FUNC_VOID(0, CopyTexSubImage3D)(target, level, xoffset, yoffset, zoffset, x, y, width, height); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteQueries(GLsizei n, const GLuint * ids) -{ - if (isES3(0)) - qgles3Helper()->DeleteQueries(n, ids); - else - RESOLVE_FUNC_VOID(0, DeleteQueries)(n, ids); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteSamplers(GLsizei count, const GLuint * samplers) -{ - if (isES3(0)) - qgles3Helper()->DeleteSamplers(count, samplers); - else - RESOLVE_FUNC_VOID(0, DeleteSamplers)(count, samplers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteSync(GLsync sync) -{ - if (isES3(0)) - qgles3Helper()->DeleteSync(sync); - else - RESOLVE_FUNC_VOID(0, DeleteSync)(sync); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteTransformFeedbacks(GLsizei n, const GLuint * ids) -{ - if (isES3(0)) - qgles3Helper()->DeleteTransformFeedbacks(n, ids); - else - RESOLVE_FUNC_VOID(0, DeleteTransformFeedbacks)(n, ids); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteVertexArrays(GLsizei n, const GLuint * arrays) -{ - if (isES3(0)) - qgles3Helper()->DeleteVertexArrays(n, arrays); - else - RESOLVE_FUNC_VOID(0, DeleteVertexArrays)(n, arrays); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instancecount) -{ - if (isES3(0)) - qgles3Helper()->DrawArraysInstanced(mode, first, count, instancecount); - else - RESOLVE_FUNC_VOID(0, DrawArraysInstanced)(mode, first, count, instancecount); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawBuffers(GLsizei n, const GLenum * bufs) -{ - if (isES3(0)) - qgles3Helper()->DrawBuffers(n, bufs); - else - RESOLVE_FUNC_VOID(0, DrawBuffers)(n, bufs); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const void * indices, GLsizei instancecount) -{ - if (isES3(0)) - qgles3Helper()->DrawElementsInstanced(mode, count, type, indices, instancecount); - else - RESOLVE_FUNC_VOID(0, DrawElementsInstanced)(mode, count, type, indices, instancecount); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void * indices) -{ - if (isES3(0)) - qgles3Helper()->DrawRangeElements(mode, start, end, count, type, indices); - else - RESOLVE_FUNC_VOID(0, DrawRangeElements)(mode, start, end, count, type, indices); -} - -static void QOPENGLF_APIENTRY qopenglfResolveEndQuery(GLenum target) -{ - if (isES3(0)) - qgles3Helper()->EndQuery(target); - else - RESOLVE_FUNC_VOID(0, EndQuery)(target); -} - -static void QOPENGLF_APIENTRY qopenglfResolveEndTransformFeedback() -{ - if (isES3(0)) - qgles3Helper()->EndTransformFeedback(); - else - RESOLVE_FUNC_VOID(0, EndTransformFeedback)(); -} - -static GLsync QOPENGLF_APIENTRY qopenglfResolveFenceSync(GLenum condition, GLbitfield flags) -{ - if (isES3(0)) - return qgles3Helper()->FenceSync(condition, flags); - else - RESOLVE_FUNC(GLsync, 0, FenceSync)(condition, flags); -} - -static void QOPENGLF_APIENTRY qopenglfResolveFlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length) -{ - if (isES3(0)) - qgles3Helper()->FlushMappedBufferRange(target, offset, length); - else - RESOLVE_FUNC_VOID(0, FlushMappedBufferRange)(target, offset, length); -} - -static void QOPENGLF_APIENTRY qopenglfResolveFramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) -{ - if (isES3(0)) - qgles3Helper()->FramebufferTextureLayer(target, attachment, texture, level, layer); - else - RESOLVE_FUNC_VOID(0, FramebufferTextureLayer)(target, attachment, texture, level, layer); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenQueries(GLsizei n, GLuint* ids) -{ - if (isES3(0)) - qgles3Helper()->GenQueries(n, ids); - else - RESOLVE_FUNC_VOID(0, GenQueries)(n, ids); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenSamplers(GLsizei count, GLuint* samplers) -{ - if (isES3(0)) - qgles3Helper()->GenSamplers(count, samplers); - else - RESOLVE_FUNC_VOID(0, GenSamplers)(count, samplers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenTransformFeedbacks(GLsizei n, GLuint* ids) -{ - if (isES3(0)) - qgles3Helper()->GenTransformFeedbacks(n, ids); - else - RESOLVE_FUNC_VOID(0, GenTransformFeedbacks)(n, ids); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenVertexArrays(GLsizei n, GLuint* arrays) -{ - if (isES3(0)) - qgles3Helper()->GenVertexArrays(n, arrays); - else - RESOLVE_FUNC_VOID(0, GenVertexArrays)(n, arrays); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName) -{ - if (isES3(0)) - qgles3Helper()->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); - else - RESOLVE_FUNC_VOID(0, GetActiveUniformBlockName)(program, uniformBlockIndex, bufSize, length, uniformBlockName); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) -{ - if (isES3(0)) - qgles3Helper()->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); - else - RESOLVE_FUNC_VOID(0, GetActiveUniformBlockiv)(program, uniformBlockIndex, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint * uniformIndices, GLenum pname, GLint* params) -{ - if (isES3(0)) - qgles3Helper()->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); - else - RESOLVE_FUNC_VOID(0, GetActiveUniformsiv)(program, uniformCount, uniformIndices, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params) -{ - if (isES3(0)) - qgles3Helper()->GetBufferParameteri64v(target, pname, params); - else - RESOLVE_FUNC_VOID(0, GetBufferParameteri64v)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetBufferPointerv(GLenum target, GLenum pname, void ** params) -{ - if (isES3(0)) - qgles3Helper()->GetBufferPointerv(target, pname, params); - else - RESOLVE_FUNC_VOID(0, GetBufferPointerv)(target, pname, params); -} - -static GLint QOPENGLF_APIENTRY qopenglfResolveGetFragDataLocation(GLuint program, const GLchar * name) -{ - if (isES3(0)) - return qgles3Helper()->GetFragDataLocation(program, name); - else - RESOLVE_FUNC(GLint, 0, GetFragDataLocation)(program, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetInteger64i_v(GLenum target, GLuint index, GLint64* data) -{ - if (isES3(0)) - qgles3Helper()->GetInteger64i_v(target, index, data); - else - RESOLVE_FUNC_VOID(0, GetInteger64i_v)(target, index, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetInteger64v(GLenum pname, GLint64* data) -{ - if (isES3(0)) - qgles3Helper()->GetInteger64v(pname, data); - else - RESOLVE_FUNC_VOID(0, GetInteger64v)(pname, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetIntegeri_v(GLenum target, GLuint index, GLint* data) -{ - if (isES3(0)) - qgles3Helper()->GetIntegeri_v(target, index, data); - else - RESOLVE_FUNC_VOID(0, GetIntegeri_v)(target, index, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params) -{ - if (isES3(0)) - qgles3Helper()->GetInternalformativ(target, internalformat, pname, bufSize, params); - else - RESOLVE_FUNC_VOID(0, GetInternalformativ)(target, internalformat, pname, bufSize, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, void * binary) -{ - if (isES3(0)) - qgles3Helper()->GetProgramBinary(program, bufSize, length, binaryFormat, binary); - else - RESOLVE_FUNC_VOID(0, GetProgramBinary)(program, bufSize, length, binaryFormat, binary); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params) -{ - if (isES3(0)) - qgles3Helper()->GetQueryObjectuiv(id, pname, params); - else - RESOLVE_FUNC_VOID(0, GetQueryObjectuiv)(id, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetQueryiv(GLenum target, GLenum pname, GLint* params) -{ - if (isES3(0)) - qgles3Helper()->GetQueryiv(target, pname, params); - else - RESOLVE_FUNC_VOID(0, GetQueryiv)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params) -{ - if (isES3(0)) - qgles3Helper()->GetSamplerParameterfv(sampler, pname, params); - else - RESOLVE_FUNC_VOID(0, GetSamplerParameterfv)(sampler, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params) +/*! + Constructs a default function resolver. The resolver cannot be used until + \l {QOpenGLFunctions::}{initializeOpenGLFunctions()} is called to specify + the context. +*/ +QOpenGLExtraFunctions::QOpenGLExtraFunctions() { - if (isES3(0)) - qgles3Helper()->GetSamplerParameteriv(sampler, pname, params); - else - RESOLVE_FUNC_VOID(0, GetSamplerParameteriv)(sampler, pname, params); } -static const GLubyte * QOPENGLF_APIENTRY qopenglfResolveGetStringi(GLenum name, GLuint index) -{ - if (isES3(0)) - return qgles3Helper()->GetStringi(name, index); - else - RESOLVE_FUNC(const GLubyte *, 0, GetStringi)(name, index); -} +/*! + Constructs a function resolver for context. If \a context is null, then + the resolver will be created for the current QOpenGLContext. -static void QOPENGLF_APIENTRY qopenglfResolveGetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values) -{ - if (isES3(0)) - qgles3Helper()->GetSynciv(sync, pname, bufSize, length, values); - else - RESOLVE_FUNC_VOID(0, GetSynciv)(sync, pname, bufSize, length, values); -} + The context or another context in the group must be current. -static void QOPENGLF_APIENTRY qopenglfResolveGetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name) + An object constructed in this way can only be used with context and other + contexts that share with it. Use \l {QOpenGLFunctions::} + {initializeOpenGLFunctions()} to change the object's context association. +*/ +QOpenGLExtraFunctions::QOpenGLExtraFunctions(QOpenGLContext *context) + : QOpenGLFunctions(context) { - if (isES3(0)) - qgles3Helper()->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); - else - RESOLVE_FUNC_VOID(0, GetTransformFeedbackVarying)(program, index, bufSize, length, size, type, name); } -static GLuint QOPENGLF_APIENTRY qopenglfResolveGetUniformBlockIndex(GLuint program, const GLchar * uniformBlockName) +QOpenGLExtraFunctionsPrivate::QOpenGLExtraFunctionsPrivate(QOpenGLContext *ctx) + : QOpenGLFunctionsPrivate(ctx) { - if (isES3(0)) - return qgles3Helper()->GetUniformBlockIndex(program, uniformBlockName); - else - RESOLVE_FUNC(GLuint, 0, GetUniformBlockIndex)(program, uniformBlockName); -} + QOpenGLContext *context = QOpenGLContext::currentContext(); -static void QOPENGLF_APIENTRY qopenglfResolveGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar *const* uniformNames, GLuint* uniformIndices) -{ - if (isES3(0)) - qgles3Helper()->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); - else - RESOLVE_FUNC_VOID(0, GetUniformIndices)(program, uniformCount, uniformNames, uniformIndices); -} + QOpenGLES3Helper *gl3helper = 0; + + if (isES3(0)) { + gl3helper = qgles3Helper(); + + ReadBuffer = gl3helper->ReadBuffer; + DrawRangeElements = gl3helper->DrawRangeElements; + TexImage3D = gl3helper->TexImage3D; + TexSubImage3D = gl3helper->TexSubImage3D; + CopyTexSubImage3D = gl3helper->CopyTexSubImage3D; + CompressedTexImage3D = gl3helper->CompressedTexImage3D; + CompressedTexSubImage3D = gl3helper->CompressedTexSubImage3D; + GenQueries = gl3helper->GenQueries; + DeleteQueries = gl3helper->DeleteQueries; + IsQuery = gl3helper->IsQuery; + BeginQuery = gl3helper->BeginQuery; + EndQuery = gl3helper->EndQuery; + GetQueryiv = gl3helper->GetQueryiv; + GetQueryObjectuiv = gl3helper->GetQueryObjectuiv; + UnmapBuffer = gl3helper->UnmapBuffer; + GetBufferPointerv = gl3helper->GetBufferPointerv; + DrawBuffers = gl3helper->DrawBuffers; + UniformMatrix2x3fv = gl3helper->UniformMatrix2x3fv; + UniformMatrix3x2fv = gl3helper->UniformMatrix3x2fv; + UniformMatrix2x4fv = gl3helper->UniformMatrix2x4fv; + UniformMatrix4x2fv = gl3helper->UniformMatrix4x2fv; + UniformMatrix3x4fv = gl3helper->UniformMatrix3x4fv; + UniformMatrix4x3fv = gl3helper->UniformMatrix4x3fv; + BlitFramebuffer = gl3helper->BlitFramebuffer; + RenderbufferStorageMultisample = gl3helper->RenderbufferStorageMultisample; + FramebufferTextureLayer = gl3helper->FramebufferTextureLayer; + MapBufferRange = gl3helper->MapBufferRange; + FlushMappedBufferRange = gl3helper->FlushMappedBufferRange; + BindVertexArray = gl3helper->BindVertexArray; + DeleteVertexArrays = gl3helper->DeleteVertexArrays; + GenVertexArrays = gl3helper->GenVertexArrays; + IsVertexArray = gl3helper->IsVertexArray; + GetIntegeri_v = gl3helper->GetIntegeri_v; + BeginTransformFeedback = gl3helper->BeginTransformFeedback; + EndTransformFeedback = gl3helper->EndTransformFeedback; + BindBufferRange = gl3helper->BindBufferRange; + BindBufferBase = gl3helper->BindBufferBase; + TransformFeedbackVaryings = gl3helper->TransformFeedbackVaryings; + GetTransformFeedbackVarying = gl3helper->GetTransformFeedbackVarying; + VertexAttribIPointer = gl3helper->VertexAttribIPointer; + GetVertexAttribIiv = gl3helper->GetVertexAttribIiv; + GetVertexAttribIuiv = gl3helper->GetVertexAttribIuiv; + VertexAttribI4i = gl3helper->VertexAttribI4i; + VertexAttribI4ui = gl3helper->VertexAttribI4ui; + VertexAttribI4iv = gl3helper->VertexAttribI4iv; + VertexAttribI4uiv = gl3helper->VertexAttribI4uiv; + GetUniformuiv = gl3helper->GetUniformuiv; + GetFragDataLocation = gl3helper->GetFragDataLocation; + Uniform1ui = gl3helper->Uniform1ui; + Uniform2ui = gl3helper->Uniform2ui; + Uniform3ui = gl3helper->Uniform3ui; + Uniform4ui = gl3helper->Uniform4ui; + Uniform1uiv = gl3helper->Uniform1uiv; + Uniform2uiv = gl3helper->Uniform2uiv; + Uniform3uiv = gl3helper->Uniform3uiv; + Uniform4uiv = gl3helper->Uniform4uiv; + ClearBufferiv = gl3helper->ClearBufferiv; + ClearBufferuiv = gl3helper->ClearBufferuiv; + ClearBufferfv = gl3helper->ClearBufferfv; + ClearBufferfi = gl3helper->ClearBufferfi; + GetStringi = gl3helper->GetStringi; + CopyBufferSubData = gl3helper->CopyBufferSubData; + GetUniformIndices = gl3helper->GetUniformIndices; + GetActiveUniformsiv = gl3helper->GetActiveUniformsiv; + GetUniformBlockIndex = gl3helper->GetUniformBlockIndex; + GetActiveUniformBlockiv = gl3helper->GetActiveUniformBlockiv; + GetActiveUniformBlockName = gl3helper->GetActiveUniformBlockName; + UniformBlockBinding = gl3helper->UniformBlockBinding; + DrawArraysInstanced = gl3helper->DrawArraysInstanced; + DrawElementsInstanced = gl3helper->DrawElementsInstanced; + FenceSync = gl3helper->FenceSync; + IsSync = gl3helper->IsSync; + DeleteSync = gl3helper->DeleteSync; + ClientWaitSync = gl3helper->ClientWaitSync; + WaitSync = gl3helper->WaitSync; + GetInteger64v = gl3helper->GetInteger64v; + GetSynciv = gl3helper->GetSynciv; + GetInteger64i_v = gl3helper->GetInteger64i_v; + GetBufferParameteri64v = gl3helper->GetBufferParameteri64v; + GenSamplers = gl3helper->GenSamplers; + DeleteSamplers = gl3helper->DeleteSamplers; + IsSampler = gl3helper->IsSampler; + BindSampler = gl3helper->BindSampler; + SamplerParameteri = gl3helper->SamplerParameteri; + SamplerParameteriv = gl3helper->SamplerParameteriv; + SamplerParameterf = gl3helper->SamplerParameterf; + SamplerParameterfv = gl3helper->SamplerParameterfv; + GetSamplerParameteriv = gl3helper->GetSamplerParameteriv; + GetSamplerParameterfv = gl3helper->GetSamplerParameterfv; + VertexAttribDivisor = gl3helper->VertexAttribDivisor; + BindTransformFeedback = gl3helper->BindTransformFeedback; + DeleteTransformFeedbacks = gl3helper->DeleteTransformFeedbacks; + GenTransformFeedbacks = gl3helper->GenTransformFeedbacks; + IsTransformFeedback = gl3helper->IsTransformFeedback; + PauseTransformFeedback = gl3helper->PauseTransformFeedback; + ResumeTransformFeedback = gl3helper->ResumeTransformFeedback; + GetProgramBinary = gl3helper->GetProgramBinary; + ProgramBinary = gl3helper->ProgramBinary; + ProgramParameteri = gl3helper->ProgramParameteri; + InvalidateFramebuffer = gl3helper->InvalidateFramebuffer; + InvalidateSubFramebuffer = gl3helper->InvalidateSubFramebuffer; + TexStorage2D = gl3helper->TexStorage2D; + TexStorage3D = gl3helper->TexStorage3D; + GetInternalformativ = gl3helper->GetInternalformativ; + } else { + ReadBuffer = RESOLVE(ReadBuffer, 0); + DrawRangeElements = RESOLVE(DrawRangeElements, 0); + TexImage3D = RESOLVE(TexImage3D, 0); + TexSubImage3D = RESOLVE(TexSubImage3D, 0); + CopyTexSubImage3D = RESOLVE(CopyTexSubImage3D, 0); + CompressedTexImage3D = RESOLVE(CompressedTexImage3D, 0); + CompressedTexSubImage3D = RESOLVE(CompressedTexSubImage3D, 0); + GenQueries = RESOLVE(GenQueries, 0); + DeleteQueries = RESOLVE(DeleteQueries, 0); + IsQuery = RESOLVE(IsQuery, 0); + BeginQuery = RESOLVE(BeginQuery, 0); + EndQuery = RESOLVE(EndQuery, 0); + GetQueryiv = RESOLVE(GetQueryiv, 0); + GetQueryObjectuiv = RESOLVE(GetQueryObjectuiv, 0); + UnmapBuffer = RESOLVE(UnmapBuffer, ResolveOES); + GetBufferPointerv = RESOLVE(GetBufferPointerv, 0); + DrawBuffers = RESOLVE(DrawBuffers, 0); + UniformMatrix2x3fv = RESOLVE(UniformMatrix2x3fv, 0); + UniformMatrix3x2fv = RESOLVE(UniformMatrix3x2fv, 0); + UniformMatrix2x4fv = RESOLVE(UniformMatrix2x4fv, 0); + UniformMatrix4x2fv = RESOLVE(UniformMatrix4x2fv, 0); + UniformMatrix3x4fv = RESOLVE(UniformMatrix3x4fv, 0); + UniformMatrix4x3fv = RESOLVE(UniformMatrix4x3fv, 0); + BlitFramebuffer = RESOLVE(BlitFramebuffer, ResolveEXT | ResolveANGLE | ResolveNV); + RenderbufferStorageMultisample = RESOLVE(RenderbufferStorageMultisample, ResolveEXT | ResolveANGLE | ResolveNV); + FramebufferTextureLayer = RESOLVE(FramebufferTextureLayer, 0); + MapBufferRange = RESOLVE(MapBufferRange, 0); + FlushMappedBufferRange = RESOLVE(FlushMappedBufferRange, 0); + BindVertexArray = RESOLVE(BindVertexArray, 0); + DeleteVertexArrays = RESOLVE(DeleteVertexArrays, 0); + GenVertexArrays = RESOLVE(GenVertexArrays, 0); + IsVertexArray = RESOLVE(IsVertexArray, 0); + GetIntegeri_v = RESOLVE(GetIntegeri_v, 0); + BeginTransformFeedback = RESOLVE(BeginTransformFeedback, 0); + EndTransformFeedback = RESOLVE(EndTransformFeedback, 0); + BindBufferRange = RESOLVE(BindBufferRange, 0); + BindBufferBase = RESOLVE(BindBufferBase, 0); + TransformFeedbackVaryings = RESOLVE(TransformFeedbackVaryings, 0); + GetTransformFeedbackVarying = RESOLVE(GetTransformFeedbackVarying, 0); + VertexAttribIPointer = RESOLVE(VertexAttribIPointer, 0); + GetVertexAttribIiv = RESOLVE(GetVertexAttribIiv, 0); + GetVertexAttribIuiv = RESOLVE(GetVertexAttribIuiv, 0); + VertexAttribI4i = RESOLVE(VertexAttribI4i, 0); + VertexAttribI4ui = RESOLVE(VertexAttribI4ui, 0); + VertexAttribI4iv = RESOLVE(VertexAttribI4iv, 0); + VertexAttribI4uiv = RESOLVE(VertexAttribI4uiv, 0); + GetUniformuiv = RESOLVE(GetUniformuiv, 0); + GetFragDataLocation = RESOLVE(GetFragDataLocation, 0); + Uniform1ui = RESOLVE(Uniform1ui, 0); + Uniform2ui = RESOLVE(Uniform2ui, 0); + Uniform3ui = RESOLVE(Uniform3ui, 0); + Uniform4ui = RESOLVE(Uniform4ui, 0); + Uniform1uiv = RESOLVE(Uniform1uiv, 0); + Uniform2uiv = RESOLVE(Uniform2uiv, 0); + Uniform3uiv = RESOLVE(Uniform3uiv, 0); + Uniform4uiv = RESOLVE(Uniform4uiv, 0); + ClearBufferiv = RESOLVE(ClearBufferiv, 0); + ClearBufferuiv = RESOLVE(ClearBufferuiv, 0); + ClearBufferfv = RESOLVE(ClearBufferfv, 0); + ClearBufferfi = RESOLVE(ClearBufferfi, 0); + GetStringi = RESOLVE(GetStringi, 0); + CopyBufferSubData = RESOLVE(CopyBufferSubData, 0); + GetUniformIndices = RESOLVE(GetUniformIndices, 0); + GetActiveUniformsiv = RESOLVE(GetActiveUniformsiv, 0); + GetUniformBlockIndex = RESOLVE(GetUniformBlockIndex, 0); + GetActiveUniformBlockiv = RESOLVE(GetActiveUniformBlockiv, 0); + GetActiveUniformBlockName = RESOLVE(GetActiveUniformBlockName, 0); + UniformBlockBinding = RESOLVE(UniformBlockBinding, 0); + DrawArraysInstanced = RESOLVE(DrawArraysInstanced, 0); + DrawElementsInstanced = RESOLVE(DrawElementsInstanced, 0); + FenceSync = RESOLVE(FenceSync, 0); + IsSync = RESOLVE(IsSync, 0); + DeleteSync = RESOLVE(DeleteSync, 0); + ClientWaitSync = RESOLVE(ClientWaitSync, 0); + WaitSync = RESOLVE(WaitSync, 0); + GetInteger64v = RESOLVE(GetInteger64v, 0); + GetSynciv = RESOLVE(GetSynciv, 0); + GetInteger64i_v = RESOLVE(GetInteger64i_v, 0); + GetBufferParameteri64v = RESOLVE(GetBufferParameteri64v, 0); + GenSamplers = RESOLVE(GenSamplers, 0); + DeleteSamplers = RESOLVE(DeleteSamplers, 0); + IsSampler = RESOLVE(IsSampler, 0); + BindSampler = RESOLVE(BindSampler, 0); + SamplerParameteri = RESOLVE(SamplerParameteri, 0); + SamplerParameteriv = RESOLVE(SamplerParameteriv, 0); + SamplerParameterf = RESOLVE(SamplerParameterf, 0); + SamplerParameterfv = RESOLVE(SamplerParameterfv, 0); + GetSamplerParameteriv = RESOLVE(GetSamplerParameteriv, 0); + GetSamplerParameterfv = RESOLVE(GetSamplerParameterfv, 0); + VertexAttribDivisor = RESOLVE(VertexAttribDivisor, 0); + BindTransformFeedback = RESOLVE(BindTransformFeedback, 0); + DeleteTransformFeedbacks = RESOLVE(DeleteTransformFeedbacks, 0); + GenTransformFeedbacks = RESOLVE(GenTransformFeedbacks, 0); + IsTransformFeedback = RESOLVE(IsTransformFeedback, 0); + PauseTransformFeedback = RESOLVE(PauseTransformFeedback, 0); + ResumeTransformFeedback = RESOLVE(ResumeTransformFeedback, 0); + GetProgramBinary = RESOLVE(GetProgramBinary, 0); + ProgramBinary = RESOLVE(ProgramBinary, 0); + ProgramParameteri = RESOLVE(ProgramParameteri, 0); + InvalidateFramebuffer = RESOLVE(InvalidateFramebuffer, 0); + InvalidateSubFramebuffer = RESOLVE(InvalidateSubFramebuffer, 0); + TexStorage2D = RESOLVE(TexStorage2D, 0); + TexStorage3D = RESOLVE(TexStorage3D, 0); + GetInternalformativ = RESOLVE(GetInternalformativ, 0); + } -static void QOPENGLF_APIENTRY qopenglfResolveGetUniformuiv(GLuint program, GLint location, GLuint* params) -{ - if (isES3(0)) - qgles3Helper()->GetUniformuiv(program, location, params); - else - RESOLVE_FUNC_VOID(0, GetUniformuiv)(program, location, params); + if (gl3helper && isES3(1)) { + DispatchCompute = gl3helper->DispatchCompute; + DispatchComputeIndirect = gl3helper->DispatchComputeIndirect; + DrawArraysIndirect = gl3helper->DrawArraysIndirect; + DrawElementsIndirect = gl3helper->DrawElementsIndirect; + FramebufferParameteri = gl3helper->FramebufferParameteri; + GetFramebufferParameteriv = gl3helper->GetFramebufferParameteriv; + GetProgramInterfaceiv = gl3helper->GetProgramInterfaceiv; + GetProgramResourceIndex = gl3helper->GetProgramResourceIndex; + GetProgramResourceName = gl3helper->GetProgramResourceName; + GetProgramResourceiv = gl3helper->GetProgramResourceiv; + GetProgramResourceLocation = gl3helper->GetProgramResourceLocation; + UseProgramStages = gl3helper->UseProgramStages; + ActiveShaderProgram = gl3helper->ActiveShaderProgram; + CreateShaderProgramv = gl3helper->CreateShaderProgramv; + BindProgramPipeline = gl3helper->BindProgramPipeline; + DeleteProgramPipelines = gl3helper->DeleteProgramPipelines; + GenProgramPipelines = gl3helper->GenProgramPipelines; + IsProgramPipeline = gl3helper->IsProgramPipeline; + GetProgramPipelineiv = gl3helper->GetProgramPipelineiv; + ProgramUniform1i = gl3helper->ProgramUniform1i; + ProgramUniform2i = gl3helper->ProgramUniform2i; + ProgramUniform3i = gl3helper->ProgramUniform3i; + ProgramUniform4i = gl3helper->ProgramUniform4i; + ProgramUniform1ui = gl3helper->ProgramUniform1ui; + ProgramUniform2ui = gl3helper->ProgramUniform2ui; + ProgramUniform3ui = gl3helper->ProgramUniform3ui; + ProgramUniform4ui = gl3helper->ProgramUniform4ui; + ProgramUniform1f = gl3helper->ProgramUniform1f; + ProgramUniform2f = gl3helper->ProgramUniform2f; + ProgramUniform3f = gl3helper->ProgramUniform3f; + ProgramUniform4f = gl3helper->ProgramUniform4f; + ProgramUniform1iv = gl3helper->ProgramUniform1iv; + ProgramUniform2iv = gl3helper->ProgramUniform2iv; + ProgramUniform3iv = gl3helper->ProgramUniform3iv; + ProgramUniform4iv = gl3helper->ProgramUniform4iv; + ProgramUniform1uiv = gl3helper->ProgramUniform1uiv; + ProgramUniform2uiv = gl3helper->ProgramUniform2uiv; + ProgramUniform3uiv = gl3helper->ProgramUniform3uiv; + ProgramUniform4uiv = gl3helper->ProgramUniform4uiv; + ProgramUniform1fv = gl3helper->ProgramUniform1fv; + ProgramUniform2fv = gl3helper->ProgramUniform2fv; + ProgramUniform3fv = gl3helper->ProgramUniform3fv; + ProgramUniform4fv = gl3helper->ProgramUniform4fv; + ProgramUniformMatrix2fv = gl3helper->ProgramUniformMatrix2fv; + ProgramUniformMatrix3fv = gl3helper->ProgramUniformMatrix3fv; + ProgramUniformMatrix4fv = gl3helper->ProgramUniformMatrix4fv; + ProgramUniformMatrix2x3fv = gl3helper->ProgramUniformMatrix2x3fv; + ProgramUniformMatrix3x2fv = gl3helper->ProgramUniformMatrix3x2fv; + ProgramUniformMatrix2x4fv = gl3helper->ProgramUniformMatrix2x4fv; + ProgramUniformMatrix4x2fv = gl3helper->ProgramUniformMatrix4x2fv; + ProgramUniformMatrix3x4fv = gl3helper->ProgramUniformMatrix3x4fv; + ProgramUniformMatrix4x3fv = gl3helper->ProgramUniformMatrix4x3fv; + ValidateProgramPipeline = gl3helper->ValidateProgramPipeline; + GetProgramPipelineInfoLog = gl3helper->GetProgramPipelineInfoLog; + BindImageTexture = gl3helper->BindImageTexture; + GetBooleani_v = gl3helper->GetBooleani_v; + MemoryBarrier = gl3helper->MemoryBarrierFunc; + MemoryBarrierByRegion = gl3helper->MemoryBarrierByRegion; + TexStorage2DMultisample = gl3helper->TexStorage2DMultisample; + GetMultisamplefv = gl3helper->GetMultisamplefv; + SampleMaski = gl3helper->SampleMaski; + GetTexLevelParameteriv = gl3helper->GetTexLevelParameteriv; + GetTexLevelParameterfv = gl3helper->GetTexLevelParameterfv; + BindVertexBuffer = gl3helper->BindVertexBuffer; + VertexAttribFormat = gl3helper->VertexAttribFormat; + VertexAttribIFormat = gl3helper->VertexAttribIFormat; + VertexAttribBinding = gl3helper->VertexAttribBinding; + VertexBindingDivisor = gl3helper->VertexBindingDivisor; + } else { + DispatchCompute = RESOLVE(DispatchCompute, 0); + DispatchComputeIndirect = RESOLVE(DispatchComputeIndirect, 0); + DrawArraysIndirect = RESOLVE(DrawArraysIndirect, 0); + DrawElementsIndirect = RESOLVE(DrawElementsIndirect, 0); + FramebufferParameteri = RESOLVE(FramebufferParameteri, 0); + GetFramebufferParameteriv = RESOLVE(GetFramebufferParameteriv, 0); + GetProgramInterfaceiv = RESOLVE(GetProgramInterfaceiv, 0); + GetProgramResourceIndex = RESOLVE(GetProgramResourceIndex, 0); + GetProgramResourceName = RESOLVE(GetProgramResourceName, 0); + GetProgramResourceiv = RESOLVE(GetProgramResourceiv, 0); + GetProgramResourceLocation = RESOLVE(GetProgramResourceLocation, 0); + UseProgramStages = RESOLVE(UseProgramStages, 0); + ActiveShaderProgram = RESOLVE(ActiveShaderProgram, 0); + CreateShaderProgramv = RESOLVE(CreateShaderProgramv, 0); + BindProgramPipeline = RESOLVE(BindProgramPipeline, 0); + DeleteProgramPipelines = RESOLVE(DeleteProgramPipelines, 0); + GenProgramPipelines = RESOLVE(GenProgramPipelines, 0); + IsProgramPipeline = RESOLVE(IsProgramPipeline, 0); + GetProgramPipelineiv = RESOLVE(GetProgramPipelineiv, 0); + ProgramUniform1i = RESOLVE(ProgramUniform1i, 0); + ProgramUniform2i = RESOLVE(ProgramUniform2i, 0); + ProgramUniform3i = RESOLVE(ProgramUniform3i, 0); + ProgramUniform4i = RESOLVE(ProgramUniform4i, 0); + ProgramUniform1ui = RESOLVE(ProgramUniform1ui, 0); + ProgramUniform2ui = RESOLVE(ProgramUniform2ui, 0); + ProgramUniform3ui = RESOLVE(ProgramUniform3ui, 0); + ProgramUniform4ui = RESOLVE(ProgramUniform4ui, 0); + ProgramUniform1f = RESOLVE(ProgramUniform1f, 0); + ProgramUniform2f = RESOLVE(ProgramUniform2f, 0); + ProgramUniform3f = RESOLVE(ProgramUniform3f, 0); + ProgramUniform4f = RESOLVE(ProgramUniform4f, 0); + ProgramUniform1iv = RESOLVE(ProgramUniform1iv, 0); + ProgramUniform2iv = RESOLVE(ProgramUniform2iv, 0); + ProgramUniform3iv = RESOLVE(ProgramUniform3iv, 0); + ProgramUniform4iv = RESOLVE(ProgramUniform4iv, 0); + ProgramUniform1uiv = RESOLVE(ProgramUniform1uiv, 0); + ProgramUniform2uiv = RESOLVE(ProgramUniform2uiv, 0); + ProgramUniform3uiv = RESOLVE(ProgramUniform3uiv, 0); + ProgramUniform4uiv = RESOLVE(ProgramUniform4uiv, 0); + ProgramUniform1fv = RESOLVE(ProgramUniform1fv, 0); + ProgramUniform2fv = RESOLVE(ProgramUniform2fv, 0); + ProgramUniform3fv = RESOLVE(ProgramUniform3fv, 0); + ProgramUniform4fv = RESOLVE(ProgramUniform4fv, 0); + ProgramUniformMatrix2fv = RESOLVE(ProgramUniformMatrix2fv, 0); + ProgramUniformMatrix3fv = RESOLVE(ProgramUniformMatrix3fv, 0); + ProgramUniformMatrix4fv = RESOLVE(ProgramUniformMatrix4fv, 0); + ProgramUniformMatrix2x3fv = RESOLVE(ProgramUniformMatrix2x3fv, 0); + ProgramUniformMatrix3x2fv = RESOLVE(ProgramUniformMatrix3x2fv, 0); + ProgramUniformMatrix2x4fv = RESOLVE(ProgramUniformMatrix2x4fv, 0); + ProgramUniformMatrix4x2fv = RESOLVE(ProgramUniformMatrix4x2fv, 0); + ProgramUniformMatrix3x4fv = RESOLVE(ProgramUniformMatrix3x4fv, 0); + ProgramUniformMatrix4x3fv = RESOLVE(ProgramUniformMatrix4x3fv, 0); + ValidateProgramPipeline = RESOLVE(ValidateProgramPipeline, 0); + GetProgramPipelineInfoLog = RESOLVE(GetProgramPipelineInfoLog, 0); + BindImageTexture = RESOLVE(BindImageTexture, 0); + GetBooleani_v = RESOLVE(GetBooleani_v, 0); + MemoryBarrier = RESOLVE(MemoryBarrier, 0); + MemoryBarrierByRegion = RESOLVE(MemoryBarrierByRegion, 0); + TexStorage2DMultisample = RESOLVE(TexStorage2DMultisample, 0); + GetMultisamplefv = RESOLVE(GetMultisamplefv, 0); + SampleMaski = RESOLVE(SampleMaski, 0); + GetTexLevelParameteriv = RESOLVE(GetTexLevelParameteriv, 0); + GetTexLevelParameterfv = RESOLVE(GetTexLevelParameterfv, 0); + BindVertexBuffer = RESOLVE(BindVertexBuffer, 0); + VertexAttribFormat = RESOLVE(VertexAttribFormat, 0); + VertexAttribIFormat = RESOLVE(VertexAttribIFormat, 0); + VertexAttribBinding = RESOLVE(VertexAttribBinding, 0); + VertexBindingDivisor = RESOLVE(VertexBindingDivisor, 0); + } } -static void QOPENGLF_APIENTRY qopenglfResolveGetVertexAttribIiv(GLuint index, GLenum pname, GLint* params) +QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx) + : QOpenGLExtraFunctionsPrivate(ctx), + flushVendorChecked(false) { - if (isES3(0)) - qgles3Helper()->GetVertexAttribIiv(index, pname, params); - else - RESOLVE_FUNC_VOID(0, GetVertexAttribIiv)(index, pname, params); -} + QOpenGLContext *context = QOpenGLContext::currentContext(); -static void QOPENGLF_APIENTRY qopenglfResolveGetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params) -{ - if (isES3(0)) - qgles3Helper()->GetVertexAttribIuiv(index, pname, params); - else - RESOLVE_FUNC_VOID(0, GetVertexAttribIuiv)(index, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveInvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments) -{ - if (isES3(0)) - qgles3Helper()->InvalidateFramebuffer(target, numAttachments, attachments); - else - RESOLVE_FUNC_VOID(0, InvalidateFramebuffer)(target, numAttachments, attachments); -} - -static void QOPENGLF_APIENTRY qopenglfResolveInvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum * attachments, GLint x, GLint y, GLsizei width, GLsizei height) -{ - if (isES3(0)) - qgles3Helper()->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); - else - RESOLVE_FUNC_VOID(0, InvalidateSubFramebuffer)(target, numAttachments, attachments, x, y, width, height); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsQuery(GLuint id) -{ - if (isES3(0)) - return qgles3Helper()->IsQuery(id); - else - RESOLVE_FUNC(GLboolean, 0, IsQuery)(id); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsSampler(GLuint sampler) -{ - if (isES3(0)) - return qgles3Helper()->IsSampler(sampler); - else - RESOLVE_FUNC(GLboolean, 0, IsSampler)(sampler); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsSync(GLsync sync) -{ - if (isES3(0)) - return qgles3Helper()->IsSync(sync); - else - RESOLVE_FUNC(GLboolean, 0, IsSync)(sync); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsTransformFeedback(GLuint id) -{ - if (isES3(0)) - return qgles3Helper()->IsTransformFeedback(id); - else - RESOLVE_FUNC(GLboolean, 0, IsTransformFeedback)(id); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsVertexArray(GLuint array) -{ - if (isES3(0)) - return qgles3Helper()->IsVertexArray(array); - else - RESOLVE_FUNC(GLboolean, 0, IsVertexArray)(array); -} - -static void * QOPENGLF_APIENTRY qopenglfResolveMapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access) -{ - if (isES3(0)) - return qgles3Helper()->MapBufferRange(target, offset, length, access); - else - RESOLVE_FUNC(void *, 0, MapBufferRange)(target, offset, length, access); -} - -static void QOPENGLF_APIENTRY qopenglfResolvePauseTransformFeedback() -{ - if (isES3(0)) - qgles3Helper()->PauseTransformFeedback(); - else - RESOLVE_FUNC_VOID(0, PauseTransformFeedback)(); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramBinary(GLuint program, GLenum binaryFormat, const void * binary, GLsizei length) -{ - if (isES3(0)) - qgles3Helper()->ProgramBinary(program, binaryFormat, binary, length); - else - RESOLVE_FUNC_VOID(0, ProgramBinary)(program, binaryFormat, binary, length); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramParameteri(GLuint program, GLenum pname, GLint value) -{ - if (isES3(0)) - qgles3Helper()->ProgramParameteri(program, pname, value); - else - RESOLVE_FUNC_VOID(0, ProgramParameteri)(program, pname, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveReadBuffer(GLenum src) -{ - if (isES3(0)) - qgles3Helper()->ReadBuffer(src); - else - RESOLVE_FUNC_VOID(0, ReadBuffer)(src); -} - -static void QOPENGLF_APIENTRY qopenglfResolveRenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) -{ - if (isES3(0)) - qgles3Helper()->RenderbufferStorageMultisample(target, samples, internalformat, width, height); - else - RESOLVE_FUNC_VOID(ResolveEXT | ResolveANGLE | ResolveNV, RenderbufferStorageMultisample) - (target, samples, internalformat, width, height); -} - -static void QOPENGLF_APIENTRY qopenglfResolveResumeTransformFeedback() -{ - if (isES3(0)) - qgles3Helper()->ResumeTransformFeedback(); - else - RESOLVE_FUNC_VOID(0, ResumeTransformFeedback)(); -} - -static void QOPENGLF_APIENTRY qopenglfResolveSamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) -{ - if (isES3(0)) - qgles3Helper()->SamplerParameterf(sampler, pname, param); - else - RESOLVE_FUNC_VOID(0, SamplerParameterf)(sampler, pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolveSamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat * param) -{ - if (isES3(0)) - qgles3Helper()->SamplerParameterfv(sampler, pname, param); - else - RESOLVE_FUNC_VOID(0, SamplerParameterfv)(sampler, pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolveSamplerParameteri(GLuint sampler, GLenum pname, GLint param) -{ - if (isES3(0)) - qgles3Helper()->SamplerParameteri(sampler, pname, param); - else - RESOLVE_FUNC_VOID(0, SamplerParameteri)(sampler, pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolveSamplerParameteriv(GLuint sampler, GLenum pname, const GLint * param) -{ - if (isES3(0)) - qgles3Helper()->SamplerParameteriv(sampler, pname, param); - else - RESOLVE_FUNC_VOID(0, SamplerParameteriv)(sampler, pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void * pixels) -{ - if (isES3(0)) - qgles3Helper()->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); - else - RESOLVE_FUNC_VOID(0, TexImage3D)(target, level, internalformat, width, height, depth, border, format, type, pixels); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) -{ - if (isES3(0)) - qgles3Helper()->TexStorage2D(target, levels, internalformat, width, height); - else - RESOLVE_FUNC_VOID(0, TexStorage2D)(target, levels, internalformat, width, height); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) -{ - if (isES3(0)) - qgles3Helper()->TexStorage3D(target, levels, internalformat, width, height, depth); - else - RESOLVE_FUNC_VOID(0, TexStorage3D)(target, levels, internalformat, width, height, depth); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void * pixels) -{ - if (isES3(0)) - qgles3Helper()->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); - else - RESOLVE_FUNC_VOID(0, TexSubImage3D)(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode) -{ - if (isES3(0)) - qgles3Helper()->TransformFeedbackVaryings(program, count, varyings, bufferMode); - else - RESOLVE_FUNC_VOID(0, TransformFeedbackVaryings)(program, count, varyings, bufferMode); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform1ui(GLint location, GLuint v0) -{ - if (isES3(0)) - qgles3Helper()->Uniform1ui(location, v0); - else - RESOLVE_FUNC_VOID(0, Uniform1ui)(location, v0); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform1uiv(GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(0)) - qgles3Helper()->Uniform1uiv(location, count, value); - else - RESOLVE_FUNC_VOID(0, Uniform1uiv)(location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform2ui(GLint location, GLuint v0, GLuint v1) -{ - if (isES3(0)) - qgles3Helper()->Uniform2ui(location, v0, v1); - else - RESOLVE_FUNC_VOID(0, Uniform2ui)(location, v0, v1); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform2uiv(GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(0)) - qgles3Helper()->Uniform2uiv(location, count, value); - else - RESOLVE_FUNC_VOID(0, Uniform2uiv)(location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2) -{ - if (isES3(0)) - qgles3Helper()->Uniform3ui(location, v0, v1, v2); - else - RESOLVE_FUNC_VOID(0, Uniform3ui)(location, v0, v1, v2); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform3uiv(GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(0)) - qgles3Helper()->Uniform3uiv(location, count, value); - else - RESOLVE_FUNC_VOID(0, Uniform3uiv)(location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) -{ - if (isES3(0)) - qgles3Helper()->Uniform4ui(location, v0, v1, v2, v3); - else - RESOLVE_FUNC_VOID(0, Uniform4ui)(location, v0, v1, v2, v3); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniform4uiv(GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(0)) - qgles3Helper()->Uniform4uiv(location, count, value); - else - RESOLVE_FUNC_VOID(0, Uniform4uiv)(location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) -{ - if (isES3(0)) - qgles3Helper()->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); - else - RESOLVE_FUNC_VOID(0, UniformBlockBinding)(program, uniformBlockIndex, uniformBlockBinding); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(0)) - qgles3Helper()->UniformMatrix2x3fv(location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, UniformMatrix2x3fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(0)) - qgles3Helper()->UniformMatrix2x4fv(location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, UniformMatrix2x4fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(0)) - qgles3Helper()->UniformMatrix3x2fv(location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, UniformMatrix3x2fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(0)) - qgles3Helper()->UniformMatrix3x4fv(location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, UniformMatrix3x4fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(0)) - qgles3Helper()->UniformMatrix4x2fv(location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, UniformMatrix4x2fv)(location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(0)) - qgles3Helper()->UniformMatrix4x3fv(location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, UniformMatrix4x3fv)(location, count, transpose, value); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveUnmapBuffer(GLenum target) -{ - if (isES3(0)) - return qgles3Helper()->UnmapBuffer(target); - else - RESOLVE_FUNC(GLboolean, ResolveOES, UnmapBuffer)(target); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribDivisor(GLuint index, GLuint divisor) -{ - if (isES3(0)) - qgles3Helper()->VertexAttribDivisor(index, divisor); - else - RESOLVE_FUNC_VOID(0, VertexAttribDivisor)(index, divisor); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w) -{ - if (isES3(0)) - qgles3Helper()->VertexAttribI4i(index, x, y, z, w); - else - RESOLVE_FUNC_VOID(0, VertexAttribI4i)(index, x, y, z, w); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribI4iv(GLuint index, const GLint * v) -{ - if (isES3(0)) - qgles3Helper()->VertexAttribI4iv(index, v); - else - RESOLVE_FUNC_VOID(0, VertexAttribI4iv)(index, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w) -{ - if (isES3(0)) - qgles3Helper()->VertexAttribI4ui(index, x, y, z, w); - else - RESOLVE_FUNC_VOID(0, VertexAttribI4ui)(index, x, y, z, w); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribI4uiv(GLuint index, const GLuint * v) -{ - if (isES3(0)) - qgles3Helper()->VertexAttribI4uiv(index, v); - else - RESOLVE_FUNC_VOID(0, VertexAttribI4uiv)(index, v); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const void * pointer) -{ - if (isES3(0)) - qgles3Helper()->VertexAttribIPointer(index, size, type, stride, pointer); - else - RESOLVE_FUNC_VOID(0, VertexAttribIPointer)(index, size, type, stride, pointer); -} - -static void QOPENGLF_APIENTRY qopenglfResolveWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout) -{ - if (isES3(0)) - qgles3Helper()->WaitSync(sync, flags, timeout); - else - RESOLVE_FUNC_VOID(0, WaitSync)(sync, flags, timeout); -} - -static void QOPENGLF_APIENTRY qopenglfResolveActiveShaderProgram(GLuint pipeline, GLuint program) -{ - if (isES3(1)) - qgles3Helper()->ActiveShaderProgram(pipeline, program); - else - RESOLVE_FUNC_VOID(0, ActiveShaderProgram)(pipeline, program); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindImageTexture(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format) -{ - if (isES3(1)) - qgles3Helper()->BindImageTexture(unit, texture, level, layered, layer, access, format); - else - RESOLVE_FUNC_VOID(0, BindImageTexture)(unit, texture, level, layered, layer, access, format); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindProgramPipeline(GLuint pipeline) -{ - if (isES3(1)) - qgles3Helper()->BindProgramPipeline(pipeline); - else - RESOLVE_FUNC_VOID(0, BindProgramPipeline)(pipeline); -} - -static void QOPENGLF_APIENTRY qopenglfResolveBindVertexBuffer(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride) -{ - if (isES3(1)) - qgles3Helper()->BindVertexBuffer(bindingindex, buffer, offset, stride); - else - RESOLVE_FUNC_VOID(0, BindVertexBuffer)(bindingindex, buffer, offset, stride); -} - -static GLuint QOPENGLF_APIENTRY qopenglfResolveCreateShaderProgramv(GLenum type, GLsizei count, const GLchar *const* strings) -{ - if (isES3(1)) - return qgles3Helper()->CreateShaderProgramv(type, count, strings); - else - RESOLVE_FUNC(GLuint, 0, CreateShaderProgramv)(type, count, strings); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDeleteProgramPipelines(GLsizei n, const GLuint * pipelines) -{ - if (isES3(1)) - qgles3Helper()->DeleteProgramPipelines(n, pipelines); - else - RESOLVE_FUNC_VOID(0, DeleteProgramPipelines)(n, pipelines); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDispatchCompute(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z) -{ - if (isES3(1)) - qgles3Helper()->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); - else - RESOLVE_FUNC_VOID(0, DispatchCompute)(num_groups_x, num_groups_y, num_groups_z); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDispatchComputeIndirect(GLintptr indirect) -{ - if (isES3(1)) - qgles3Helper()->DispatchComputeIndirect(indirect); - else - RESOLVE_FUNC_VOID(0, DispatchComputeIndirect)(indirect); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawArraysIndirect(GLenum mode, const void * indirect) -{ - if (isES3(1)) - qgles3Helper()->DrawArraysIndirect(mode, indirect); - else - RESOLVE_FUNC_VOID(0, DrawArraysIndirect)(mode, indirect); -} - -static void QOPENGLF_APIENTRY qopenglfResolveDrawElementsIndirect(GLenum mode, GLenum type, const void * indirect) -{ - if (isES3(1)) - qgles3Helper()->DrawElementsIndirect(mode, type, indirect); - else - RESOLVE_FUNC_VOID(0, DrawElementsIndirect)(mode, type, indirect); -} - -static void QOPENGLF_APIENTRY qopenglfResolveFramebufferParameteri(GLenum target, GLenum pname, GLint param) -{ - if (isES3(1)) - qgles3Helper()->FramebufferParameteri(target, pname, param); - else - RESOLVE_FUNC_VOID(0, FramebufferParameteri)(target, pname, param); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGenProgramPipelines(GLsizei n, GLuint* pipelines) -{ - if (isES3(1)) - qgles3Helper()->GenProgramPipelines(n, pipelines); - else - RESOLVE_FUNC_VOID(0, GenProgramPipelines)(n, pipelines); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetBooleani_v(GLenum target, GLuint index, GLboolean* data) -{ - if (isES3(1)) - qgles3Helper()->GetBooleani_v(target, index, data); - else - RESOLVE_FUNC_VOID(0, GetBooleani_v)(target, index, data); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetFramebufferParameteriv(GLenum target, GLenum pname, GLint* params) -{ - if (isES3(1)) - qgles3Helper()->GetFramebufferParameteriv(target, pname, params); - else - RESOLVE_FUNC_VOID(0, GetFramebufferParameteriv)(target, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetMultisamplefv(GLenum pname, GLuint index, GLfloat* val) -{ - if (isES3(1)) - qgles3Helper()->GetMultisamplefv(pname, index, val); - else - RESOLVE_FUNC_VOID(0, GetMultisamplefv)(pname, index, val); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramInterfaceiv(GLuint program, GLenum programInterface, GLenum pname, GLint* params) -{ - if (isES3(1)) - qgles3Helper()->GetProgramInterfaceiv(program, programInterface, pname, params); - else - RESOLVE_FUNC_VOID(0, GetProgramInterfaceiv)(program, programInterface, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramPipelineInfoLog(GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar* infoLog) -{ - if (isES3(1)) - qgles3Helper()->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); - else - RESOLVE_FUNC_VOID(0, GetProgramPipelineInfoLog)(pipeline, bufSize, length, infoLog); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramPipelineiv(GLuint pipeline, GLenum pname, GLint* params) -{ - if (isES3(1)) - qgles3Helper()->GetProgramPipelineiv(pipeline, pname, params); - else - RESOLVE_FUNC_VOID(0, GetProgramPipelineiv)(pipeline, pname, params); -} - -static GLuint QOPENGLF_APIENTRY qopenglfResolveGetProgramResourceIndex(GLuint program, GLenum programInterface, const GLchar * name) -{ - if (isES3(1)) - return qgles3Helper()->GetProgramResourceIndex(program, programInterface, name); - else - RESOLVE_FUNC(GLuint, 0, GetProgramResourceIndex)(program, programInterface, name); -} - -static GLint QOPENGLF_APIENTRY qopenglfResolveGetProgramResourceLocation(GLuint program, GLenum programInterface, const GLchar * name) -{ - if (isES3(1)) - return qgles3Helper()->GetProgramResourceLocation(program, programInterface, name); - else - RESOLVE_FUNC(GLint, 0, GetProgramResourceLocation)(program, programInterface, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramResourceName(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar* name) -{ - if (isES3(1)) - qgles3Helper()->GetProgramResourceName(program, programInterface, index, bufSize, length, name); - else - RESOLVE_FUNC_VOID(0, GetProgramResourceName)(program, programInterface, index, bufSize, length, name); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetProgramResourceiv(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum * props, GLsizei bufSize, GLsizei* length, GLint* params) -{ - if (isES3(1)) - qgles3Helper()->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); - else - RESOLVE_FUNC_VOID(0, GetProgramResourceiv)(program, programInterface, index, propCount, props, bufSize, length, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetTexLevelParameterfv(GLenum target, GLint level, GLenum pname, GLfloat* params) -{ - if (isES3(1)) - qgles3Helper()->GetTexLevelParameterfv(target, level, pname, params); - else - RESOLVE_FUNC_VOID(0, GetTexLevelParameterfv)(target, level, pname, params); -} - -static void QOPENGLF_APIENTRY qopenglfResolveGetTexLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params) -{ - if (isES3(1)) - qgles3Helper()->GetTexLevelParameteriv(target, level, pname, params); - else - RESOLVE_FUNC_VOID(0, GetTexLevelParameteriv)(target, level, pname, params); -} - -static GLboolean QOPENGLF_APIENTRY qopenglfResolveIsProgramPipeline(GLuint pipeline) -{ - if (isES3(1)) - return qgles3Helper()->IsProgramPipeline(pipeline); - else - RESOLVE_FUNC(GLboolean, 0, IsProgramPipeline)(pipeline); -} - -static void QOPENGLF_APIENTRY qopenglfResolveMemoryBarrier(GLbitfield barriers) -{ - if (isES3(1)) - qgles3Helper()->MemoryBarrierFunc(barriers); - else - RESOLVE_FUNC_VOID(0, MemoryBarrierFunc)(barriers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveMemoryBarrierByRegion(GLbitfield barriers) -{ - if (isES3(1)) - qgles3Helper()->MemoryBarrierByRegion(barriers); - else - RESOLVE_FUNC_VOID(0, MemoryBarrierByRegion)(barriers); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform1f(GLuint program, GLint location, GLfloat v0) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform1f(program, location, v0); - else - RESOLVE_FUNC_VOID(0, ProgramUniform1f)(program, location, v0); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform1fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform1fv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform1fv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform1i(GLuint program, GLint location, GLint v0) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform1i(program, location, v0); - else - RESOLVE_FUNC_VOID(0, ProgramUniform1i)(program, location, v0); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform1iv(GLuint program, GLint location, GLsizei count, const GLint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform1iv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform1iv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform1ui(GLuint program, GLint location, GLuint v0) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform1ui(program, location, v0); - else - RESOLVE_FUNC_VOID(0, ProgramUniform1ui)(program, location, v0); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform1uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform1uiv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform1uiv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform2f(GLuint program, GLint location, GLfloat v0, GLfloat v1) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform2f(program, location, v0, v1); - else - RESOLVE_FUNC_VOID(0, ProgramUniform2f)(program, location, v0, v1); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform2fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform2fv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform2fv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform2i(GLuint program, GLint location, GLint v0, GLint v1) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform2i(program, location, v0, v1); - else - RESOLVE_FUNC_VOID(0, ProgramUniform2i)(program, location, v0, v1); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform2iv(GLuint program, GLint location, GLsizei count, const GLint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform2iv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform2iv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform2ui(GLuint program, GLint location, GLuint v0, GLuint v1) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform2ui(program, location, v0, v1); - else - RESOLVE_FUNC_VOID(0, ProgramUniform2ui)(program, location, v0, v1); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform2uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform2uiv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform2uiv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform3f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform3f(program, location, v0, v1, v2); - else - RESOLVE_FUNC_VOID(0, ProgramUniform3f)(program, location, v0, v1, v2); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform3fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform3fv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform3fv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform3i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform3i(program, location, v0, v1, v2); - else - RESOLVE_FUNC_VOID(0, ProgramUniform3i)(program, location, v0, v1, v2); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform3iv(GLuint program, GLint location, GLsizei count, const GLint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform3iv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform3iv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform3ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform3ui(program, location, v0, v1, v2); - else - RESOLVE_FUNC_VOID(0, ProgramUniform3ui)(program, location, v0, v1, v2); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform3uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform3uiv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform3uiv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform4f(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform4f(program, location, v0, v1, v2, v3); - else - RESOLVE_FUNC_VOID(0, ProgramUniform4f)(program, location, v0, v1, v2, v3); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform4fv(GLuint program, GLint location, GLsizei count, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform4fv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform4fv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform4i(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform4i(program, location, v0, v1, v2, v3); - else - RESOLVE_FUNC_VOID(0, ProgramUniform4i)(program, location, v0, v1, v2, v3); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform4iv(GLuint program, GLint location, GLsizei count, const GLint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform4iv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform4iv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform4ui(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform4ui(program, location, v0, v1, v2, v3); - else - RESOLVE_FUNC_VOID(0, ProgramUniform4ui)(program, location, v0, v1, v2, v3); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniform4uiv(GLuint program, GLint location, GLsizei count, const GLuint * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniform4uiv(program, location, count, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniform4uiv)(program, location, count, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix2fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix2fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix2x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix2x3fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix2x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix2x4fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix3fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix3fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix3x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix3x2fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix3x4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix3x4fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix4fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix4fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix4fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix4x2fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix4x2fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveProgramUniformMatrix4x3fv(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat * value) -{ - if (isES3(1)) - qgles3Helper()->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); - else - RESOLVE_FUNC_VOID(0, ProgramUniformMatrix4x3fv)(program, location, count, transpose, value); -} - -static void QOPENGLF_APIENTRY qopenglfResolveSampleMaski(GLuint maskNumber, GLbitfield mask) -{ - if (isES3(1)) - qgles3Helper()->SampleMaski(maskNumber, mask); - else - RESOLVE_FUNC_VOID(0, SampleMaski)(maskNumber, mask); -} - -static void QOPENGLF_APIENTRY qopenglfResolveTexStorage2DMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) -{ - if (isES3(1)) - qgles3Helper()->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); - else - RESOLVE_FUNC_VOID(0, TexStorage2DMultisample)(target, samples, internalformat, width, height, fixedsamplelocations); -} - -static void QOPENGLF_APIENTRY qopenglfResolveUseProgramStages(GLuint pipeline, GLbitfield stages, GLuint program) -{ - if (isES3(1)) - qgles3Helper()->UseProgramStages(pipeline, stages, program); - else - RESOLVE_FUNC_VOID(0, UseProgramStages)(pipeline, stages, program); -} - -static void QOPENGLF_APIENTRY qopenglfResolveValidateProgramPipeline(GLuint pipeline) -{ - if (isES3(1)) - qgles3Helper()->ValidateProgramPipeline(pipeline); - else - RESOLVE_FUNC_VOID(0, ValidateProgramPipeline)(pipeline); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribBinding(GLuint attribindex, GLuint bindingindex) -{ - if (isES3(1)) - qgles3Helper()->VertexAttribBinding(attribindex, bindingindex); - else - RESOLVE_FUNC_VOID(0, VertexAttribBinding)(attribindex, bindingindex); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribFormat(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset) -{ - if (isES3(1)) - qgles3Helper()->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); - else - RESOLVE_FUNC_VOID(0, VertexAttribFormat)(attribindex, size, type, normalized, relativeoffset); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexAttribIFormat(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset) -{ - if (isES3(1)) - qgles3Helper()->VertexAttribIFormat(attribindex, size, type, relativeoffset); - else - RESOLVE_FUNC_VOID(0, VertexAttribIFormat)(attribindex, size, type, relativeoffset); -} - -static void QOPENGLF_APIENTRY qopenglfResolveVertexBindingDivisor(GLuint bindingindex, GLuint divisor) -{ - if (isES3(1)) - qgles3Helper()->VertexBindingDivisor(bindingindex, divisor); - else - RESOLVE_FUNC_VOID(0, VertexBindingDivisor)(bindingindex, divisor); -} - -/*! - Constructs a default function resolver. The resolver cannot be used until - \l {QOpenGLFunctions::}{initializeOpenGLFunctions()} is called to specify - the context. -*/ -QOpenGLExtraFunctions::QOpenGLExtraFunctions() -{ -} - -/*! - Constructs a function resolver for context. If \a context is null, then - the resolver will be created for the current QOpenGLContext. - - The context or another context in the group must be current. - - An object constructed in this way can only be used with context and other - contexts that share with it. Use \l {QOpenGLFunctions::} - {initializeOpenGLFunctions()} to change the object's context association. -*/ -QOpenGLExtraFunctions::QOpenGLExtraFunctions(QOpenGLContext *context) - : QOpenGLFunctions(context) -{ -} - -QOpenGLExtraFunctionsPrivate::QOpenGLExtraFunctionsPrivate(QOpenGLContext *ctx) - : QOpenGLFunctionsPrivate(ctx) -{ - ReadBuffer = qopenglfResolveReadBuffer; - DrawRangeElements = qopenglfResolveDrawRangeElements; - TexImage3D = qopenglfResolveTexImage3D; - TexSubImage3D = qopenglfResolveTexSubImage3D; - CopyTexSubImage3D = qopenglfResolveCopyTexSubImage3D; - CompressedTexImage3D = qopenglfResolveCompressedTexImage3D; - CompressedTexSubImage3D = qopenglfResolveCompressedTexSubImage3D; - GenQueries = qopenglfResolveGenQueries; - DeleteQueries = qopenglfResolveDeleteQueries; - IsQuery = qopenglfResolveIsQuery; - BeginQuery = qopenglfResolveBeginQuery; - EndQuery = qopenglfResolveEndQuery; - GetQueryiv = qopenglfResolveGetQueryiv; - GetQueryObjectuiv = qopenglfResolveGetQueryObjectuiv; - UnmapBuffer = qopenglfResolveUnmapBuffer; - GetBufferPointerv = qopenglfResolveGetBufferPointerv; - DrawBuffers = qopenglfResolveDrawBuffers; - UniformMatrix2x3fv = qopenglfResolveUniformMatrix2x3fv; - UniformMatrix3x2fv = qopenglfResolveUniformMatrix3x2fv; - UniformMatrix2x4fv = qopenglfResolveUniformMatrix2x4fv; - UniformMatrix4x2fv = qopenglfResolveUniformMatrix4x2fv; - UniformMatrix3x4fv = qopenglfResolveUniformMatrix3x4fv; - UniformMatrix4x3fv = qopenglfResolveUniformMatrix4x3fv; - BlitFramebuffer = qopenglfResolveBlitFramebuffer; - RenderbufferStorageMultisample = qopenglfResolveRenderbufferStorageMultisample; - FramebufferTextureLayer = qopenglfResolveFramebufferTextureLayer; - MapBufferRange = qopenglfResolveMapBufferRange; - FlushMappedBufferRange = qopenglfResolveFlushMappedBufferRange; - BindVertexArray = qopenglfResolveBindVertexArray; - DeleteVertexArrays = qopenglfResolveDeleteVertexArrays; - GenVertexArrays = qopenglfResolveGenVertexArrays; - IsVertexArray = qopenglfResolveIsVertexArray; - GetIntegeri_v = qopenglfResolveGetIntegeri_v; - BeginTransformFeedback = qopenglfResolveBeginTransformFeedback; - EndTransformFeedback = qopenglfResolveEndTransformFeedback; - BindBufferRange = qopenglfResolveBindBufferRange; - BindBufferBase = qopenglfResolveBindBufferBase; - TransformFeedbackVaryings = qopenglfResolveTransformFeedbackVaryings; - GetTransformFeedbackVarying = qopenglfResolveGetTransformFeedbackVarying; - VertexAttribIPointer = qopenglfResolveVertexAttribIPointer; - GetVertexAttribIiv = qopenglfResolveGetVertexAttribIiv; - GetVertexAttribIuiv = qopenglfResolveGetVertexAttribIuiv; - VertexAttribI4i = qopenglfResolveVertexAttribI4i; - VertexAttribI4ui = qopenglfResolveVertexAttribI4ui; - VertexAttribI4iv = qopenglfResolveVertexAttribI4iv; - VertexAttribI4uiv = qopenglfResolveVertexAttribI4uiv; - GetUniformuiv = qopenglfResolveGetUniformuiv; - GetFragDataLocation = qopenglfResolveGetFragDataLocation; - Uniform1ui = qopenglfResolveUniform1ui; - Uniform2ui = qopenglfResolveUniform2ui; - Uniform3ui = qopenglfResolveUniform3ui; - Uniform4ui = qopenglfResolveUniform4ui; - Uniform1uiv = qopenglfResolveUniform1uiv; - Uniform2uiv = qopenglfResolveUniform2uiv; - Uniform3uiv = qopenglfResolveUniform3uiv; - Uniform4uiv = qopenglfResolveUniform4uiv; - ClearBufferiv = qopenglfResolveClearBufferiv; - ClearBufferuiv = qopenglfResolveClearBufferuiv; - ClearBufferfv = qopenglfResolveClearBufferfv; - ClearBufferfi = qopenglfResolveClearBufferfi; - GetStringi = qopenglfResolveGetStringi; - CopyBufferSubData = qopenglfResolveCopyBufferSubData; - GetUniformIndices = qopenglfResolveGetUniformIndices; - GetActiveUniformsiv = qopenglfResolveGetActiveUniformsiv; - GetUniformBlockIndex = qopenglfResolveGetUniformBlockIndex; - GetActiveUniformBlockiv = qopenglfResolveGetActiveUniformBlockiv; - GetActiveUniformBlockName = qopenglfResolveGetActiveUniformBlockName; - UniformBlockBinding = qopenglfResolveUniformBlockBinding; - DrawArraysInstanced = qopenglfResolveDrawArraysInstanced; - DrawElementsInstanced = qopenglfResolveDrawElementsInstanced; - FenceSync = qopenglfResolveFenceSync; - IsSync = qopenglfResolveIsSync; - DeleteSync = qopenglfResolveDeleteSync; - ClientWaitSync = qopenglfResolveClientWaitSync; - WaitSync = qopenglfResolveWaitSync; - GetInteger64v = qopenglfResolveGetInteger64v; - GetSynciv = qopenglfResolveGetSynciv; - GetInteger64i_v = qopenglfResolveGetInteger64i_v; - GetBufferParameteri64v = qopenglfResolveGetBufferParameteri64v; - GenSamplers = qopenglfResolveGenSamplers; - DeleteSamplers = qopenglfResolveDeleteSamplers; - IsSampler = qopenglfResolveIsSampler; - BindSampler = qopenglfResolveBindSampler; - SamplerParameteri = qopenglfResolveSamplerParameteri; - SamplerParameteriv = qopenglfResolveSamplerParameteriv; - SamplerParameterf = qopenglfResolveSamplerParameterf; - SamplerParameterfv = qopenglfResolveSamplerParameterfv; - GetSamplerParameteriv = qopenglfResolveGetSamplerParameteriv; - GetSamplerParameterfv = qopenglfResolveGetSamplerParameterfv; - VertexAttribDivisor = qopenglfResolveVertexAttribDivisor; - BindTransformFeedback = qopenglfResolveBindTransformFeedback; - DeleteTransformFeedbacks = qopenglfResolveDeleteTransformFeedbacks; - GenTransformFeedbacks = qopenglfResolveGenTransformFeedbacks; - IsTransformFeedback = qopenglfResolveIsTransformFeedback; - PauseTransformFeedback = qopenglfResolvePauseTransformFeedback; - ResumeTransformFeedback = qopenglfResolveResumeTransformFeedback; - GetProgramBinary = qopenglfResolveGetProgramBinary; - ProgramBinary = qopenglfResolveProgramBinary; - ProgramParameteri = qopenglfResolveProgramParameteri; - InvalidateFramebuffer = qopenglfResolveInvalidateFramebuffer; - InvalidateSubFramebuffer = qopenglfResolveInvalidateSubFramebuffer; - TexStorage2D = qopenglfResolveTexStorage2D; - TexStorage3D = qopenglfResolveTexStorage3D; - GetInternalformativ = qopenglfResolveGetInternalformativ; - - DispatchCompute = qopenglfResolveDispatchCompute; - DispatchComputeIndirect = qopenglfResolveDispatchComputeIndirect; - DrawArraysIndirect = qopenglfResolveDrawArraysIndirect; - DrawElementsIndirect = qopenglfResolveDrawElementsIndirect; - FramebufferParameteri = qopenglfResolveFramebufferParameteri; - GetFramebufferParameteriv = qopenglfResolveGetFramebufferParameteriv; - GetProgramInterfaceiv = qopenglfResolveGetProgramInterfaceiv; - GetProgramResourceIndex = qopenglfResolveGetProgramResourceIndex; - GetProgramResourceName = qopenglfResolveGetProgramResourceName; - GetProgramResourceiv = qopenglfResolveGetProgramResourceiv; - GetProgramResourceLocation = qopenglfResolveGetProgramResourceLocation; - UseProgramStages = qopenglfResolveUseProgramStages; - ActiveShaderProgram = qopenglfResolveActiveShaderProgram; - CreateShaderProgramv = qopenglfResolveCreateShaderProgramv; - BindProgramPipeline = qopenglfResolveBindProgramPipeline; - DeleteProgramPipelines = qopenglfResolveDeleteProgramPipelines; - GenProgramPipelines = qopenglfResolveGenProgramPipelines; - IsProgramPipeline = qopenglfResolveIsProgramPipeline; - GetProgramPipelineiv = qopenglfResolveGetProgramPipelineiv; - ProgramUniform1i = qopenglfResolveProgramUniform1i; - ProgramUniform2i = qopenglfResolveProgramUniform2i; - ProgramUniform3i = qopenglfResolveProgramUniform3i; - ProgramUniform4i = qopenglfResolveProgramUniform4i; - ProgramUniform1ui = qopenglfResolveProgramUniform1ui; - ProgramUniform2ui = qopenglfResolveProgramUniform2ui; - ProgramUniform3ui = qopenglfResolveProgramUniform3ui; - ProgramUniform4ui = qopenglfResolveProgramUniform4ui; - ProgramUniform1f = qopenglfResolveProgramUniform1f; - ProgramUniform2f = qopenglfResolveProgramUniform2f; - ProgramUniform3f = qopenglfResolveProgramUniform3f; - ProgramUniform4f = qopenglfResolveProgramUniform4f; - ProgramUniform1iv = qopenglfResolveProgramUniform1iv; - ProgramUniform2iv = qopenglfResolveProgramUniform2iv; - ProgramUniform3iv = qopenglfResolveProgramUniform3iv; - ProgramUniform4iv = qopenglfResolveProgramUniform4iv; - ProgramUniform1uiv = qopenglfResolveProgramUniform1uiv; - ProgramUniform2uiv = qopenglfResolveProgramUniform2uiv; - ProgramUniform3uiv = qopenglfResolveProgramUniform3uiv; - ProgramUniform4uiv = qopenglfResolveProgramUniform4uiv; - ProgramUniform1fv = qopenglfResolveProgramUniform1fv; - ProgramUniform2fv = qopenglfResolveProgramUniform2fv; - ProgramUniform3fv = qopenglfResolveProgramUniform3fv; - ProgramUniform4fv = qopenglfResolveProgramUniform4fv; - ProgramUniformMatrix2fv = qopenglfResolveProgramUniformMatrix2fv; - ProgramUniformMatrix3fv = qopenglfResolveProgramUniformMatrix3fv; - ProgramUniformMatrix4fv = qopenglfResolveProgramUniformMatrix4fv; - ProgramUniformMatrix2x3fv = qopenglfResolveProgramUniformMatrix2x3fv; - ProgramUniformMatrix3x2fv = qopenglfResolveProgramUniformMatrix3x2fv; - ProgramUniformMatrix2x4fv = qopenglfResolveProgramUniformMatrix2x4fv; - ProgramUniformMatrix4x2fv = qopenglfResolveProgramUniformMatrix4x2fv; - ProgramUniformMatrix3x4fv = qopenglfResolveProgramUniformMatrix3x4fv; - ProgramUniformMatrix4x3fv = qopenglfResolveProgramUniformMatrix4x3fv; - ValidateProgramPipeline = qopenglfResolveValidateProgramPipeline; - GetProgramPipelineInfoLog = qopenglfResolveGetProgramPipelineInfoLog; - BindImageTexture = qopenglfResolveBindImageTexture; - GetBooleani_v = qopenglfResolveGetBooleani_v; - MemoryBarrierFunc = qopenglfResolveMemoryBarrier; - MemoryBarrierByRegion = qopenglfResolveMemoryBarrierByRegion; - TexStorage2DMultisample = qopenglfResolveTexStorage2DMultisample; - GetMultisamplefv = qopenglfResolveGetMultisamplefv; - SampleMaski = qopenglfResolveSampleMaski; - GetTexLevelParameteriv = qopenglfResolveGetTexLevelParameteriv; - GetTexLevelParameterfv = qopenglfResolveGetTexLevelParameterfv; - BindVertexBuffer = qopenglfResolveBindVertexBuffer; - VertexAttribFormat = qopenglfResolveVertexAttribFormat; - VertexAttribIFormat = qopenglfResolveVertexAttribIFormat; - VertexAttribBinding = qopenglfResolveVertexAttribBinding; - VertexBindingDivisor = qopenglfResolveVertexBindingDivisor; -} - -QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx) - : QOpenGLExtraFunctionsPrivate(ctx), - flushVendorChecked(false) -{ - MapBuffer = qopenglfResolveMapBuffer; - GetBufferSubData = qopenglfResolveGetBufferSubData; - DiscardFramebuffer = qopenglfResolveDiscardFramebuffer; -} + MapBuffer = RESOLVE(MapBuffer, ResolveOES); + GetBufferSubData = RESOLVE(GetBufferSubData, ResolveEXT); + DiscardFramebuffer = RESOLVE(DiscardFramebuffer, ResolveEXT); + } QOpenGLES3Helper *QOpenGLExtensions::gles3Helper() { -- cgit v1.2.3 From 5e9a5246fb688a33ff27bed010226595f579f23d Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 2 Feb 2016 12:50:33 +0100 Subject: Ensure we can query all GL functions in all platform plugins This is required to simplify our code in the opengl classes and makes it possible to remove OS dependent code paths in Qt Gui. Change-Id: Ice09440840c86b2d6ac8d3955d273846695338d4 Reviewed-by: Laszlo Agocs --- src/gui/kernel/qplatformintegration.cpp | 6 ++++-- src/gui/kernel/qplatformopenglcontext.cpp | 4 +++- src/platformsupport/eglconvenience/eglconvenience.pri | 2 ++ src/platformsupport/eglconvenience/qeglplatformcontext.cpp | 10 +++++++++- src/plugins/platforms/directfb/qdirectfbglcontext.cpp | 7 ++++--- src/plugins/platforms/mirclient/qmirclientglcontext.cpp | 6 +++++- src/plugins/platforms/openwfd/qopenwfdglcontext.cpp | 6 +++++- 7 files changed, 32 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qplatformintegration.cpp b/src/gui/kernel/qplatformintegration.cpp index 06e41f7364..a0e65654a6 100644 --- a/src/gui/kernel/qplatformintegration.cpp +++ b/src/gui/kernel/qplatformintegration.cpp @@ -224,7 +224,8 @@ QPlatformServices *QPlatformIntegration::services() const platforms where no window management is available, meaning for example that windows are never repositioned by the window manager. The default implementation returns \c true. - \value AllGLFunctionsQueryable The QOpenGLContext backend provided by the platform is + \value AllGLFunctionsQueryable Deprecated. Used to indicate whether the QOpenGLContext + backend provided by the platform is able to return function pointers from getProcAddress() even for standard OpenGL functions, for example OpenGL 1 functions like glClear() or glDrawArrays(). This is important because the OpenGL specifications do not require this ability from the @@ -232,7 +233,8 @@ QPlatformServices *QPlatformIntegration::services() const platform plugins may however choose to enhance the behavior in the backend implementation for QOpenGLContext::getProcAddress() and support returning a function pointer also for the standard, non-extension functions. This capability is a - prerequisite for dynamic OpenGL loading. + prerequisite for dynamic OpenGL loading. Starting with Qt 5.7, the platform plugin + is required to have this capability. \value ApplicationIcon The platform supports setting the application icon. (since 5.5) */ diff --git a/src/gui/kernel/qplatformopenglcontext.cpp b/src/gui/kernel/qplatformopenglcontext.cpp index 5b375f7883..07b5a0dda6 100644 --- a/src/gui/kernel/qplatformopenglcontext.cpp +++ b/src/gui/kernel/qplatformopenglcontext.cpp @@ -73,7 +73,9 @@ QT_BEGIN_NAMESPACE /*! \fn QFunctionPointer QPlatformOpenGLContext::getProcAddress(const char *procName) - Reimplement in subclass to native getProcAddr calls. + Reimplement in subclass to allow dynamic querying of OpenGL symbols. As opposed to e.g. the wglGetProcAddress + function on Windows, Qt expects this methods to be able to return valid function pointers even for standard + OpenGL symbols. */ class QPlatformOpenGLContextPrivate diff --git a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri index f1e0d58a6d..fe6d0eb748 100644 --- a/src/platformsupport/eglconvenience/eglconvenience.pri +++ b/src/platformsupport/eglconvenience/eglconvenience.pri @@ -26,4 +26,6 @@ contains(QT_CONFIG,egl) { LIBS_PRIVATE += $$QMAKE_LIBS_X11 } CONFIG += egl + + LIBS_PRIVATE += $$QMAKE_LIBS_DYNLOAD } diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp index e4cfb86ab3..bd7254b73a 100644 --- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp +++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp @@ -48,6 +48,9 @@ #ifdef Q_OS_ANDROID #include #endif +#ifndef Q_OS_WIN +#include +#endif QT_BEGIN_NAMESPACE @@ -443,7 +446,12 @@ void QEGLPlatformContext::swapBuffers(QPlatformSurface *surface) QFunctionPointer QEGLPlatformContext::getProcAddress(const char *procName) { eglBindAPI(m_api); - return eglGetProcAddress(procName); + QFunctionPointer proc = (QFunctionPointer) eglGetProcAddress(procName); +#ifndef Q_OS_WIN + if (!proc) + proc = (QFunctionPointer) dlsym(RTLD_DEFAULT, procName); +#endif + return proc; } QSurfaceFormat QEGLPlatformContext::format() const diff --git a/src/plugins/platforms/directfb/qdirectfbglcontext.cpp b/src/plugins/platforms/directfb/qdirectfbglcontext.cpp index e1607b131a..847435d96e 100644 --- a/src/plugins/platforms/directfb/qdirectfbglcontext.cpp +++ b/src/plugins/platforms/directfb/qdirectfbglcontext.cpp @@ -40,6 +40,7 @@ #include "qdirectfbglcontext.h" #include +#include #include @@ -80,13 +81,13 @@ void QDirectFbGLContext::doneCurrent() m_dfbGlContext->Unlock(m_dfbGlContext); } -void *QDirectFbGLContext::getProcAddress(const char *procName) +QFunctionPointer QDirectFbGLContext::getProcAddress(const char *procName) { void *proc; DFBResult result = m_dfbGlContext->GetProcAddress(m_dfbGlContext, procName, &proc); if (result == DFB_OK) - return proc; - return 0; + return (QFunctionPointer) proc; + return dlsym(RTLD_DEFAULT, procName); } void QDirectFbGLContext::swapBuffers() diff --git a/src/plugins/platforms/mirclient/qmirclientglcontext.cpp b/src/plugins/platforms/mirclient/qmirclientglcontext.cpp index 7a288af6ff..b1ca0b1f7c 100644 --- a/src/plugins/platforms/mirclient/qmirclientglcontext.cpp +++ b/src/plugins/platforms/mirclient/qmirclientglcontext.cpp @@ -40,6 +40,7 @@ #include "qmirclientlogging.h" #include #include +#include #if !defined(QT_NO_DEBUG) static void printOpenGLESConfig() { @@ -150,5 +151,8 @@ QFunctionPointer QMirClientOpenGLContext::getProcAddress(const char *procName) #else ASSERT(eglBindAPI(api_in_use()) == EGL_TRUE); #endif - return eglGetProcAddress(procName); + QFunctionPointer proc = (QFunctionPointer) eglGetProcAddress(procName); + if (!proc) + proc = (QFunctionPointer) dlsym(RTLD_DEFAULT, procName); + return proc; } diff --git a/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp b/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp index e57be90870..31d369ae00 100644 --- a/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp @@ -41,6 +41,7 @@ #include "qopenwfdwindow.h" #include "qopenwfdscreen.h" +#include QOpenWFDGLContext::QOpenWFDGLContext(QOpenWFDDevice *device) : QPlatformOpenGLContext() @@ -86,7 +87,10 @@ void QOpenWFDGLContext::swapBuffers(QPlatformSurface *surface) QFunctionPointer QOpenWFDGLContext::getProcAddress(const char *procName) { - return eglGetProcAddress(procName); + QFunctionPointer proc = (QFunctionPointer) eglGetProcAddress(procName); + if (!proc) + proc = (QFunctionPointer) dlsym(RTLD_DEFAULT, procName); + return proc; } EGLContext QOpenWFDGLContext::eglContext() const -- cgit v1.2.3 From 8115a3b4442c44b6b2f6ab55a0d083a26c14ed6f Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 2 Feb 2016 15:15:52 +0100 Subject: Get rid of the gles3helper class Since the backends can now resolve all possible GL functions, there's no need for the special handling for GLES that this class did anymore. Change-Id: Ib48aecc9a892f3c883d76ffc82217f346dbb3adc Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglextensions_p.h | 202 +------ src/gui/opengl/qopenglfunctions.cpp | 811 ++++++---------------------- src/gui/opengl/qopengltexturehelper.cpp | 16 +- src/gui/opengl/qopenglvertexarrayobject.cpp | 10 +- 4 files changed, 195 insertions(+), 844 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglextensions_p.h b/src/gui/opengl/qopenglextensions_p.h index 63e684438b..894b6f2dc6 100644 --- a/src/gui/opengl/qopenglextensions_p.h +++ b/src/gui/opengl/qopenglextensions_p.h @@ -52,204 +52,11 @@ // #include "qopenglextrafunctions.h" -#include QT_BEGIN_NAMESPACE class QOpenGLExtensionsPrivate; -class QOpenGLES3Helper -{ -public: - QOpenGLES3Helper(); - - // GLES3 - void (QOPENGLF_APIENTRYP ReadBuffer)(GLenum mode); - void (QOPENGLF_APIENTRYP DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); - void (QOPENGLF_APIENTRYP TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); - void (QOPENGLF_APIENTRYP TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); - void (QOPENGLF_APIENTRYP CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); - void (QOPENGLF_APIENTRYP CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); - void (QOPENGLF_APIENTRYP GenQueries)(GLsizei n, GLuint *ids); - void (QOPENGLF_APIENTRYP DeleteQueries)(GLsizei n, const GLuint *ids); - GLboolean (QOPENGLF_APIENTRYP IsQuery)(GLuint id); - void (QOPENGLF_APIENTRYP BeginQuery)(GLenum target, GLuint id); - void (QOPENGLF_APIENTRYP EndQuery)(GLenum target); - void (QOPENGLF_APIENTRYP GetQueryiv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params); - GLboolean (QOPENGLF_APIENTRYP UnmapBuffer)(GLenum target); - void (QOPENGLF_APIENTRYP GetBufferPointerv)(GLenum target, GLenum pname, void **params); - void (QOPENGLF_APIENTRYP DrawBuffers)(GLsizei n, const GLenum *bufs); - void (QOPENGLF_APIENTRYP UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - void (QOPENGLF_APIENTRYP RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); - void *(QOPENGLF_APIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - void (QOPENGLF_APIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); - void (QOPENGLF_APIENTRYP BindVertexArray)(GLuint array); - void (QOPENGLF_APIENTRYP DeleteVertexArrays)(GLsizei n, const GLuint *arrays); - void (QOPENGLF_APIENTRYP GenVertexArrays)(GLsizei n, GLuint *arrays); - GLboolean (QOPENGLF_APIENTRYP IsVertexArray)(GLuint array); - void (QOPENGLF_APIENTRYP GetIntegeri_v)(GLenum target, GLuint index, GLint *data); - void (QOPENGLF_APIENTRYP BeginTransformFeedback)(GLenum primitiveMode); - void (QOPENGLF_APIENTRYP EndTransformFeedback)(void); - void (QOPENGLF_APIENTRYP BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); - void (QOPENGLF_APIENTRYP BindBufferBase)(GLenum target, GLuint index, GLuint buffer); - void (QOPENGLF_APIENTRYP TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); - void (QOPENGLF_APIENTRYP GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); - void (QOPENGLF_APIENTRYP VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); - void (QOPENGLF_APIENTRYP GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params); - void (QOPENGLF_APIENTRYP VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); - void (QOPENGLF_APIENTRYP VertexAttribI4iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI4uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP GetUniformuiv)(GLuint program, GLint location, GLuint *params); - GLint (QOPENGLF_APIENTRYP GetFragDataLocation)(GLuint program, const GLchar *name); - void (QOPENGLF_APIENTRYP Uniform1ui)(GLint location, GLuint v0); - void (QOPENGLF_APIENTRYP Uniform2ui)(GLint location, GLuint v0, GLuint v1); - void (QOPENGLF_APIENTRYP Uniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2); - void (QOPENGLF_APIENTRYP Uniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - void (QOPENGLF_APIENTRYP Uniform1uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform2uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform3uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform4uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value); - void (QOPENGLF_APIENTRYP ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value); - void (QOPENGLF_APIENTRYP ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value); - void (QOPENGLF_APIENTRYP ClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); - const GLubyte *(QOPENGLF_APIENTRYP GetStringi)(GLenum name, GLuint index); - void (QOPENGLF_APIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); - void (QOPENGLF_APIENTRYP GetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); - void (QOPENGLF_APIENTRYP GetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); - GLuint (QOPENGLF_APIENTRYP GetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName); - void (QOPENGLF_APIENTRYP GetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); - void (QOPENGLF_APIENTRYP UniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); - void (QOPENGLF_APIENTRYP DrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); - void (QOPENGLF_APIENTRYP DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); - GLsync (QOPENGLF_APIENTRYP FenceSync)(GLenum condition, GLbitfield flags); - GLboolean (QOPENGLF_APIENTRYP IsSync)(GLsync sync); - void (QOPENGLF_APIENTRYP DeleteSync)(GLsync sync); - GLenum (QOPENGLF_APIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); - void (QOPENGLF_APIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); - void (QOPENGLF_APIENTRYP GetInteger64v)(GLenum pname, GLint64 *data); - void (QOPENGLF_APIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); - void (QOPENGLF_APIENTRYP GetInteger64i_v)(GLenum target, GLuint index, GLint64 *data); - void (QOPENGLF_APIENTRYP GetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 *params); - void (QOPENGLF_APIENTRYP GenSamplers)(GLsizei count, GLuint *samplers); - void (QOPENGLF_APIENTRYP DeleteSamplers)(GLsizei count, const GLuint *samplers); - GLboolean (QOPENGLF_APIENTRYP IsSampler)(GLuint sampler); - void (QOPENGLF_APIENTRYP BindSampler)(GLuint unit, GLuint sampler); - void (QOPENGLF_APIENTRYP SamplerParameteri)(GLuint sampler, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *param); - void (QOPENGLF_APIENTRYP SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *param); - void (QOPENGLF_APIENTRYP GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP VertexAttribDivisor)(GLuint index, GLuint divisor); - void (QOPENGLF_APIENTRYP BindTransformFeedback)(GLenum target, GLuint id); - void (QOPENGLF_APIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint *ids); - void (QOPENGLF_APIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint *ids); - GLboolean (QOPENGLF_APIENTRYP IsTransformFeedback)(GLuint id); - void (QOPENGLF_APIENTRYP PauseTransformFeedback)(void); - void (QOPENGLF_APIENTRYP ResumeTransformFeedback)(void); - void (QOPENGLF_APIENTRYP GetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); - void (QOPENGLF_APIENTRYP ProgramBinary)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); - void (QOPENGLF_APIENTRYP ProgramParameteri)(GLuint program, GLenum pname, GLint value); - void (QOPENGLF_APIENTRYP InvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments); - void (QOPENGLF_APIENTRYP InvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP TexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP TexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - void (QOPENGLF_APIENTRYP GetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); - - // GLES 3.1 - void (QOPENGLF_APIENTRYP DispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); - void (QOPENGLF_APIENTRYP DispatchComputeIndirect)(GLintptr indirect); - void (QOPENGLF_APIENTRYP DrawArraysIndirect)(GLenum mode, const void *indirect); - void (QOPENGLF_APIENTRYP DrawElementsIndirect)(GLenum mode, GLenum type, const void *indirect); - void (QOPENGLF_APIENTRYP FramebufferParameteri)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP GetFramebufferParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint *params); - GLuint (QOPENGLF_APIENTRYP GetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar *name); - void (QOPENGLF_APIENTRYP GetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); - void (QOPENGLF_APIENTRYP GetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); - GLint (QOPENGLF_APIENTRYP GetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar *name); - void (QOPENGLF_APIENTRYP UseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program); - void (QOPENGLF_APIENTRYP ActiveShaderProgram)(GLuint pipeline, GLuint program); - GLuint (QOPENGLF_APIENTRYP CreateShaderProgramv)(GLenum type, GLsizei count, const GLchar *const*strings); - void (QOPENGLF_APIENTRYP BindProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP DeleteProgramPipelines)(GLsizei n, const GLuint *pipelines); - void (QOPENGLF_APIENTRYP GenProgramPipelines)(GLsizei n, GLuint *pipelines); - GLboolean (QOPENGLF_APIENTRYP IsProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP GetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP ProgramUniform1i)(GLuint program, GLint location, GLint v0); - void (QOPENGLF_APIENTRYP ProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1); - void (QOPENGLF_APIENTRYP ProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); - void (QOPENGLF_APIENTRYP ProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - void (QOPENGLF_APIENTRYP ProgramUniform1ui)(GLuint program, GLint location, GLuint v0); - void (QOPENGLF_APIENTRYP ProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1); - void (QOPENGLF_APIENTRYP ProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); - void (QOPENGLF_APIENTRYP ProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - void (QOPENGLF_APIENTRYP ProgramUniform1f)(GLuint program, GLint location, GLfloat v0); - void (QOPENGLF_APIENTRYP ProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1); - void (QOPENGLF_APIENTRYP ProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - void (QOPENGLF_APIENTRYP ProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - void (QOPENGLF_APIENTRYP ProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ValidateProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP GetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (QOPENGLF_APIENTRYP BindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); - void (QOPENGLF_APIENTRYP GetBooleani_v)(GLenum target, GLuint index, GLboolean *data); - void (QOPENGLF_APIENTRYP MemoryBarrierFunc)(GLbitfield barriers); - void (QOPENGLF_APIENTRYP MemoryBarrierByRegion)(GLbitfield barriers); - void (QOPENGLF_APIENTRYP TexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP GetMultisamplefv)(GLenum pname, GLuint index, GLfloat *val); - void (QOPENGLF_APIENTRYP SampleMaski)(GLuint maskNumber, GLbitfield mask); - void (QOPENGLF_APIENTRYP GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP BindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); - void (QOPENGLF_APIENTRYP VertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexAttribBinding)(GLuint attribindex, GLuint bindingindex); - void (QOPENGLF_APIENTRYP VertexBindingDivisor)(GLuint bindingindex, GLuint divisor); - - QPair supportedVersion() const { return m_supportedVersion; } - -private: - bool init(); - QFunctionPointer resolve(const char *name); -#ifndef QT_NO_LIBRARY - QLibrary m_gl; -#endif - QPair m_supportedVersion; -}; - class Q_GUI_EXPORT QOpenGLExtensions : public QOpenGLExtraFunctions { Q_DECLARE_PRIVATE(QOpenGLExtensions) @@ -293,10 +100,10 @@ public: void glGetBufferSubData(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, GLvoid *data); void glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); - QOpenGLES3Helper *gles3Helper(); - void flushShared(); + QOpenGLExtensionsPrivate *d() const; + private: static bool isInitialized(const QOpenGLFunctionsPrivate *d) { return d != 0; } }; @@ -316,6 +123,11 @@ public: bool flushIsSufficientToSyncContexts; }; +inline QOpenGLExtensionsPrivate *QOpenGLExtensions::d() const +{ + return static_cast(d_ptr); +} + inline GLvoid *QOpenGLExtensions::glMapBuffer(GLenum target, GLenum access) { Q_D(QOpenGLExtensions); diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index 77739607f0..bde5823118 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -47,10 +47,6 @@ #include #include -#ifdef Q_OS_IOS -#include -#endif - #ifndef GL_FRAMEBUFFER_SRGB_CAPABLE_EXT #define GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA #endif @@ -5036,278 +5032,6 @@ QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *) \internal */ -// Functions part of the OpenGL ES 3.0+ standard need special handling. These, just like -// the 2.0 functions, are not guaranteed to be resolvable via eglGetProcAddress or -// similar. (we cannot count on EGL_KHR_(client_)get_all_proc_addresses being available) - -// Calling them directly is, unlike the 2.0 functions, not feasible because one may build -// the binaries on a GLES3-capable system and then deploy on a GLES2-only system that does -// not have these symbols, and vice versa. Until ES3 becomes universally available, they -// have to be dlsym'ed. - -Q_GLOBAL_STATIC(QOpenGLES3Helper, qgles3Helper) - -bool QOpenGLES3Helper::init() -{ -#ifdef QT_NO_LIBRARY - return false; -#elif !defined(Q_OS_IOS) -# ifdef Q_OS_WIN -# ifndef QT_DEBUG - m_gl.setFileName(QStringLiteral("libGLESv2")); -# else - m_gl.setFileName(QStringLiteral("libGLESv2d")); -# endif -# else -# ifdef Q_OS_ANDROID - m_gl.setFileName(QStringLiteral("GLESv2")); -# else - m_gl.setFileNameAndVersion(QStringLiteral("GLESv2"), 2); -# endif -# endif // Q_OS_WIN - return m_gl.load(); -#else - return true; -#endif // Q_OS_IOS -} - -QFunctionPointer QOpenGLES3Helper::resolve(const char *name) -{ -#ifdef Q_OS_IOS - return QFunctionPointer(dlsym(RTLD_DEFAULT, name)); -#elif !defined(QT_NO_LIBRARY) - return m_gl.resolve(name); -#else - Q_UNUSED(name); - return 0; -#endif -} - -QOpenGLES3Helper::QOpenGLES3Helper() -{ - m_supportedVersion = qMakePair(2, 0); - - if (Q_UNLIKELY(!init())) { - qFatal("Failed to load libGLESv2"); - } else { - const QPair contextVersion = QOpenGLContext::currentContext()->format().version(); - - qCDebug(lcGLES3, "Resolving OpenGL ES 3.0 entry points"); - - BeginQuery = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint)) resolve("glBeginQuery"); - BeginTransformFeedback = (void (QOPENGLF_APIENTRYP) (GLenum)) resolve("glBeginTransformFeedback"); - BindBufferBase = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint, GLuint)) resolve("glBindBufferBase"); - BindBufferRange = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr)) resolve("glBindBufferRange"); - BindSampler = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint)) resolve("glBindSampler"); - BindTransformFeedback = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint)) resolve("glBindTransformFeedback"); - BindVertexArray = (void (QOPENGLF_APIENTRYP) (GLuint)) resolve("glBindVertexArray"); - BlitFramebuffer = (void (QOPENGLF_APIENTRYP) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum)) resolve("glBlitFramebuffer"); - ClearBufferfi = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLfloat, GLint)) resolve("glClearBufferfi"); - ClearBufferfv = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, const GLfloat *)) resolve("glClearBufferfv"); - ClearBufferiv = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, const GLint *)) resolve("glClearBufferiv"); - ClearBufferuiv = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, const GLuint *)) resolve("glClearBufferuiv"); - ClientWaitSync = (GLenum (QOPENGLF_APIENTRYP) (GLsync, GLbitfield, GLuint64)) resolve("glClientWaitSync"); - CompressedTexImage3D = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const void *)) resolve("glCompressedTexImage3D"); - CompressedTexSubImage3D = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const void *)) resolve("glCompressedTexSubImage3D"); - CopyBufferSubData = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, GLintptr, GLintptr, GLsizeiptr)) resolve("glCopyBufferSubData"); - CopyTexSubImage3D = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei)) resolve("glCopyTexSubImage3D"); - DeleteQueries = (void (QOPENGLF_APIENTRYP) (GLsizei, const GLuint *)) resolve("glDeleteQueries"); - DeleteSamplers = (void (QOPENGLF_APIENTRYP) (GLsizei, const GLuint *)) resolve("glDeleteSamplers"); - DeleteSync = (void (QOPENGLF_APIENTRYP) (GLsync)) resolve("glDeleteSync"); - DeleteTransformFeedbacks = (void (QOPENGLF_APIENTRYP) (GLsizei, const GLuint *)) resolve("glDeleteTransformFeedbacks"); - DeleteVertexArrays = (void (QOPENGLF_APIENTRYP) (GLsizei, const GLuint *)) resolve("glDeleteVertexArrays"); - DrawArraysInstanced = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLsizei, GLsizei)) resolve("glDrawArraysInstanced"); - DrawBuffers = (void (QOPENGLF_APIENTRYP) (GLsizei, const GLenum *)) resolve("glDrawBuffers"); - DrawElementsInstanced = (void (QOPENGLF_APIENTRYP) (GLenum, GLsizei, GLenum, const void *, GLsizei)) resolve("glDrawElementsInstanced"); - DrawRangeElements = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint, GLuint, GLsizei, GLenum, const void *)) resolve("glDrawRangeElements"); - EndQuery = (void (QOPENGLF_APIENTRYP) (GLenum)) resolve("glEndQuery"); - EndTransformFeedback = (void (QOPENGLF_APIENTRYP) ()) resolve("glEndTransformFeedback"); - FenceSync = (GLsync (QOPENGLF_APIENTRYP) (GLenum, GLbitfield)) resolve("glFenceSync"); - FlushMappedBufferRange = (void (QOPENGLF_APIENTRYP) (GLenum, GLintptr, GLsizeiptr)) resolve("glFlushMappedBufferRange"); - FramebufferTextureLayer = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, GLuint, GLint, GLint)) resolve("glFramebufferTextureLayer"); - GenQueries = (void (QOPENGLF_APIENTRYP) (GLsizei, GLuint*)) resolve("glGenQueries"); - GenSamplers = (void (QOPENGLF_APIENTRYP) (GLsizei, GLuint*)) resolve("glGenSamplers"); - GenTransformFeedbacks = (void (QOPENGLF_APIENTRYP) (GLsizei, GLuint*)) resolve("glGenTransformFeedbacks"); - GenVertexArrays = (void (QOPENGLF_APIENTRYP) (GLsizei, GLuint*)) resolve("glGenVertexArrays"); - GetActiveUniformBlockName = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLsizei, GLsizei*, GLchar*)) resolve("glGetActiveUniformBlockName"); - GetActiveUniformBlockiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLenum, GLint*)) resolve("glGetActiveUniformBlockiv"); - GetActiveUniformsiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLsizei, const GLuint *, GLenum, GLint*)) resolve("glGetActiveUniformsiv"); - GetBufferParameteri64v = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, GLint64*)) resolve("glGetBufferParameteri64v"); - GetBufferPointerv = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, void **)) resolve("glGetBufferPointerv"); - GetFragDataLocation = (GLint (QOPENGLF_APIENTRYP) (GLuint, const GLchar *)) resolve("glGetFragDataLocation"); - GetInteger64i_v = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint, GLint64*)) resolve("glGetInteger64i_v"); - GetInteger64v = (void (QOPENGLF_APIENTRYP) (GLenum, GLint64*)) resolve("glGetInteger64v"); - GetIntegeri_v = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint, GLint*)) resolve("glGetIntegeri_v"); - GetInternalformativ = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, GLenum, GLsizei, GLint*)) resolve("glGetInternalformativ"); - GetProgramBinary = (void (QOPENGLF_APIENTRYP) (GLuint, GLsizei, GLsizei*, GLenum*, void *)) resolve("glGetProgramBinary"); - GetQueryObjectuiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLuint*)) resolve("glGetQueryObjectuiv"); - GetQueryiv = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, GLint*)) resolve("glGetQueryiv"); - GetSamplerParameterfv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLfloat*)) resolve("glGetSamplerParameterfv"); - GetSamplerParameteriv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLint*)) resolve("glGetSamplerParameteriv"); - GetStringi = (const GLubyte * (QOPENGLF_APIENTRYP) (GLenum, GLuint)) resolve("glGetStringi"); - GetSynciv = (void (QOPENGLF_APIENTRYP) (GLsync, GLenum, GLsizei, GLsizei*, GLint*)) resolve("glGetSynciv"); - GetTransformFeedbackVarying = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLsizei, GLsizei*, GLsizei*, GLenum*, GLchar*)) resolve("glGetTransformFeedbackVarying"); - GetUniformBlockIndex = (GLuint (QOPENGLF_APIENTRYP) (GLuint, const GLchar *)) resolve("glGetUniformBlockIndex"); - GetUniformIndices = (void (QOPENGLF_APIENTRYP) (GLuint, GLsizei, const GLchar *const*, GLuint*)) resolve("glGetUniformIndices"); - GetUniformuiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLuint*)) resolve("glGetUniformuiv"); - GetVertexAttribIiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLint*)) resolve("glGetVertexAttribIiv"); - GetVertexAttribIuiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLuint*)) resolve("glGetVertexAttribIuiv"); - InvalidateFramebuffer = (void (QOPENGLF_APIENTRYP) (GLenum, GLsizei, const GLenum *)) resolve("glInvalidateFramebuffer"); - InvalidateSubFramebuffer = (void (QOPENGLF_APIENTRYP) (GLenum, GLsizei, const GLenum *, GLint, GLint, GLsizei, GLsizei)) resolve("glInvalidateSubFramebuffer"); - IsQuery = (GLboolean (QOPENGLF_APIENTRYP) (GLuint)) resolve("glIsQuery"); - IsSampler = (GLboolean (QOPENGLF_APIENTRYP) (GLuint)) resolve("glIsSampler"); - IsSync = (GLboolean (QOPENGLF_APIENTRYP) (GLsync)) resolve("glIsSync"); - IsTransformFeedback = (GLboolean (QOPENGLF_APIENTRYP) (GLuint)) resolve("glIsTransformFeedback"); - IsVertexArray = (GLboolean (QOPENGLF_APIENTRYP) (GLuint)) resolve("glIsVertexArray"); - MapBufferRange = (void * (QOPENGLF_APIENTRYP) (GLenum, GLintptr, GLsizeiptr, GLbitfield)) resolve("glMapBufferRange"); - PauseTransformFeedback = (void (QOPENGLF_APIENTRYP) ()) resolve("glPauseTransformFeedback"); - ProgramBinary = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, const void *, GLsizei)) resolve("glProgramBinary"); - ProgramParameteri = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLint)) resolve("glProgramParameteri"); - ReadBuffer = (void (QOPENGLF_APIENTRYP) (GLenum)) resolve("glReadBuffer"); - RenderbufferStorageMultisample = (void (QOPENGLF_APIENTRYP) (GLenum, GLsizei, GLenum, GLsizei, GLsizei)) resolve("glRenderbufferStorageMultisample"); - ResumeTransformFeedback = (void (QOPENGLF_APIENTRYP) ()) resolve("glResumeTransformFeedback"); - SamplerParameterf = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLfloat)) resolve("glSamplerParameterf"); - SamplerParameterfv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, const GLfloat *)) resolve("glSamplerParameterfv"); - SamplerParameteri = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLint)) resolve("glSamplerParameteri"); - SamplerParameteriv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, const GLint *)) resolve("glSamplerParameteriv"); - TexImage3D = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *)) resolve("glTexImage3D"); - TexStorage2D = (void (QOPENGLF_APIENTRYP) (GLenum, GLsizei, GLenum, GLsizei, GLsizei)) resolve("glTexStorage2D"); - TexStorage3D = (void (QOPENGLF_APIENTRYP) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei)) resolve("glTexStorage3D"); - TexSubImage3D = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const void *)) resolve("glTexSubImage3D"); - TransformFeedbackVaryings = (void (QOPENGLF_APIENTRYP) (GLuint, GLsizei, const GLchar *const*, GLenum)) resolve("glTransformFeedbackVaryings"); - Uniform1ui = (void (QOPENGLF_APIENTRYP) (GLint, GLuint)) resolve("glUniform1ui"); - Uniform1uiv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, const GLuint *)) resolve("glUniform1uiv"); - Uniform2ui = (void (QOPENGLF_APIENTRYP) (GLint, GLuint, GLuint)) resolve("glUniform2ui"); - Uniform2uiv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, const GLuint *)) resolve("glUniform2uiv"); - Uniform3ui = (void (QOPENGLF_APIENTRYP) (GLint, GLuint, GLuint, GLuint)) resolve("glUniform3ui"); - Uniform3uiv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, const GLuint *)) resolve("glUniform3uiv"); - Uniform4ui = (void (QOPENGLF_APIENTRYP) (GLint, GLuint, GLuint, GLuint, GLuint)) resolve("glUniform4ui"); - Uniform4uiv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, const GLuint *)) resolve("glUniform4uiv"); - UniformBlockBinding = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLuint)) resolve("glUniformBlockBinding"); - UniformMatrix2x3fv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix2x3fv"); - UniformMatrix2x4fv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix2x4fv"); - UniformMatrix3x2fv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix3x2fv"); - UniformMatrix3x4fv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix3x4fv"); - UniformMatrix4x2fv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix4x2fv"); - UniformMatrix4x3fv = (void (QOPENGLF_APIENTRYP) (GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glUniformMatrix4x3fv"); - UnmapBuffer = (GLboolean (QOPENGLF_APIENTRYP) (GLenum)) resolve("glUnmapBuffer"); - VertexAttribDivisor = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint)) resolve("glVertexAttribDivisor"); - VertexAttribI4i = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLint, GLint, GLint)) resolve("glVertexAttribI4i"); - VertexAttribI4iv = (void (QOPENGLF_APIENTRYP) (GLuint, const GLint *)) resolve("glVertexAttribI4iv"); - VertexAttribI4ui = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLuint, GLuint, GLuint)) resolve("glVertexAttribI4ui"); - VertexAttribI4uiv = (void (QOPENGLF_APIENTRYP) (GLuint, const GLuint *)) resolve("glVertexAttribI4uiv"); - VertexAttribIPointer = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLenum, GLsizei, const void *)) resolve("glVertexAttribIPointer"); - WaitSync = (void (QOPENGLF_APIENTRYP) (GLsync, GLbitfield, GLuint64)) resolve("glWaitSync"); - - if (!BeginQuery || !BlitFramebuffer || !GenTransformFeedbacks || !GenVertexArrays || !MapBufferRange - || !RenderbufferStorageMultisample || !TexStorage2D || !WaitSync) { - qWarning("OpenGL ES 3.0 entry points not found. This is odd because the driver returned a context of version %d.%d", - contextVersion.first, contextVersion.second); - return; - } - m_supportedVersion = qMakePair(3, 0); - - if (contextVersion >= qMakePair(3, 1)) { - qCDebug(lcGLES3, "Resolving OpenGL ES 3.1 entry points"); - - ActiveShaderProgram = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint)) resolve("glActiveShaderProgram"); - BindImageTexture = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLint, GLboolean, GLint, GLenum, GLenum)) resolve("glBindImageTexture"); - BindProgramPipeline = (void (QOPENGLF_APIENTRYP) (GLuint)) resolve("glBindProgramPipeline"); - BindVertexBuffer = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLintptr, GLsizei)) resolve("glBindVertexBuffer"); - CreateShaderProgramv = (GLuint (QOPENGLF_APIENTRYP) (GLenum, GLsizei, const GLchar *const*)) resolve("glCreateShaderProgramv"); - DeleteProgramPipelines = (void (QOPENGLF_APIENTRYP) (GLsizei, const GLuint *)) resolve("glDeleteProgramPipelines"); - DispatchCompute = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint, GLuint)) resolve("glDispatchCompute"); - DispatchComputeIndirect = (void (QOPENGLF_APIENTRYP) (GLintptr)) resolve("glDispatchComputeIndirect"); - DrawArraysIndirect = (void (QOPENGLF_APIENTRYP) (GLenum, const void *)) resolve("glDrawArraysIndirect"); - DrawElementsIndirect = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, const void *)) resolve("glDrawElementsIndirect"); - FramebufferParameteri = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, GLint)) resolve("glFramebufferParameteri"); - GenProgramPipelines = (void (QOPENGLF_APIENTRYP) (GLsizei, GLuint*)) resolve("glGenProgramPipelines"); - GetBooleani_v = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint, GLboolean*)) resolve("glGetBooleani_v"); - GetFramebufferParameteriv = (void (QOPENGLF_APIENTRYP) (GLenum, GLenum, GLint*)) resolve("glGetFramebufferParameteriv"); - GetMultisamplefv = (void (QOPENGLF_APIENTRYP) (GLenum, GLuint, GLfloat*)) resolve("glGetMultisamplefv"); - GetProgramInterfaceiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLenum, GLint*)) resolve("glGetProgramInterfaceiv"); - GetProgramPipelineInfoLog = (void (QOPENGLF_APIENTRYP) (GLuint, GLsizei, GLsizei*, GLchar*)) resolve("glGetProgramPipelineInfoLog"); - GetProgramPipelineiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLint*)) resolve("glGetProgramPipelineiv"); - GetProgramResourceIndex = (GLuint (QOPENGLF_APIENTRYP) (GLuint, GLenum, const GLchar *)) resolve("glGetProgramResourceIndex"); - GetProgramResourceLocation = (GLint (QOPENGLF_APIENTRYP) (GLuint, GLenum, const GLchar *)) resolve("glGetProgramResourceLocation"); - GetProgramResourceName = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLuint, GLsizei, GLsizei*, GLchar*)) resolve("glGetProgramResourceName"); - GetProgramResourceiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLenum, GLuint, GLsizei, const GLenum *, GLsizei, GLsizei*, GLint*)) resolve("glGetProgramResourceiv"); - GetTexLevelParameterfv = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLenum, GLfloat*)) resolve("glGetTexLevelParameterfv"); - GetTexLevelParameteriv = (void (QOPENGLF_APIENTRYP) (GLenum, GLint, GLenum, GLint*)) resolve("glGetTexLevelParameteriv"); - IsProgramPipeline = (GLboolean (QOPENGLF_APIENTRYP) (GLuint)) resolve("glIsProgramPipeline"); - MemoryBarrierFunc = (void (QOPENGLF_APIENTRYP) (GLbitfield)) resolve("glMemoryBarrier"); - MemoryBarrierByRegion = (void (QOPENGLF_APIENTRYP) (GLbitfield)) resolve("glMemoryBarrierByRegion"); - ProgramUniform1f = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLfloat)) resolve("glProgramUniform1f"); - ProgramUniform1fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform1fv"); - ProgramUniform1i = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLint)) resolve("glProgramUniform1i"); - ProgramUniform1iv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform1iv"); - ProgramUniform1ui = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLuint)) resolve("glProgramUniform1ui"); - ProgramUniform1uiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform1uiv"); - ProgramUniform2f = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLfloat, GLfloat)) resolve("glProgramUniform2f"); - ProgramUniform2fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform2fv"); - ProgramUniform2i = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLint, GLint)) resolve("glProgramUniform2i"); - ProgramUniform2iv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform2iv"); - ProgramUniform2ui = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLuint, GLuint)) resolve("glProgramUniform2ui"); - ProgramUniform2uiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform2uiv"); - ProgramUniform3f = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLfloat, GLfloat, GLfloat)) resolve("glProgramUniform3f"); - ProgramUniform3fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform3fv"); - ProgramUniform3i = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLint, GLint, GLint)) resolve("glProgramUniform3i"); - ProgramUniform3iv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform3iv"); - ProgramUniform3ui = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLuint, GLuint, GLuint)) resolve("glProgramUniform3ui"); - ProgramUniform3uiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform3uiv"); - ProgramUniform4f = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLfloat, GLfloat, GLfloat, GLfloat)) resolve("glProgramUniform4f"); - ProgramUniform4fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLfloat *)) resolve("glProgramUniform4fv"); - ProgramUniform4i = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLint, GLint, GLint, GLint)) resolve("glProgramUniform4i"); - ProgramUniform4iv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLint *)) resolve("glProgramUniform4iv"); - ProgramUniform4ui = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLuint, GLuint, GLuint, GLuint)) resolve("glProgramUniform4ui"); - ProgramUniform4uiv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, const GLuint *)) resolve("glProgramUniform4uiv"); - ProgramUniformMatrix2fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix2fv"); - ProgramUniformMatrix2x3fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix2x3fv"); - ProgramUniformMatrix2x4fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix2x4fv"); - ProgramUniformMatrix3fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix3fv"); - ProgramUniformMatrix3x2fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix3x2fv"); - ProgramUniformMatrix3x4fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix3x4fv"); - ProgramUniformMatrix4fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix4fv"); - ProgramUniformMatrix4x2fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix4x2fv"); - ProgramUniformMatrix4x3fv = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLsizei, GLboolean, const GLfloat *)) resolve("glProgramUniformMatrix4x3fv"); - SampleMaski = (void (QOPENGLF_APIENTRYP) (GLuint, GLbitfield)) resolve("glSampleMaski"); - TexStorage2DMultisample = (void (QOPENGLF_APIENTRYP) (GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean)) resolve("glTexStorage2DMultisample"); - UseProgramStages = (void (QOPENGLF_APIENTRYP) (GLuint, GLbitfield, GLuint)) resolve("glUseProgramStages"); - ValidateProgramPipeline = (void (QOPENGLF_APIENTRYP) (GLuint)) resolve("glValidateProgramPipeline"); - VertexAttribBinding = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint)) resolve("glVertexAttribBinding"); - VertexAttribFormat = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLenum, GLboolean, GLuint)) resolve("glVertexAttribFormat"); - VertexAttribIFormat = (void (QOPENGLF_APIENTRYP) (GLuint, GLint, GLenum, GLuint)) resolve("glVertexAttribIFormat"); - VertexBindingDivisor = (void (QOPENGLF_APIENTRYP) (GLuint, GLuint)) resolve("glVertexBindingDivisor"); - - if (!ActiveShaderProgram || !BindImageTexture || !DispatchCompute || !DrawArraysIndirect - || !GenProgramPipelines || !MemoryBarrierFunc) { - qWarning("OpenGL ES 3.1 entry points not found. This is odd because the driver returned a context of version %d.%d", - contextVersion.first, contextVersion.second); - return; - } - m_supportedVersion = qMakePair(3, 1); - } - } -} - -// GLES 3.0 and 3.1 - -// Checks for true OpenGL ES 3.x. OpenGL with GL_ARB_ES3_compatibility -// does not count because there the plain resolvers work anyhow. -static inline bool isES3(int minor) -{ - QOpenGLContext *ctx = QOpenGLContext::currentContext(); - - const bool libMatches = QOpenGLContext::openGLModuleType() == QOpenGLContext::LibGLES; - const bool contextMatches = ctx->isOpenGLES() && ctx->format().version() >= qMakePair(3, minor); - - // Resolving happens whenever qgles3Helper() is called first. So do it only - // when the driver gives a 3.0+ context. - if (libMatches && contextMatches) - return qgles3Helper()->supportedVersion() >= qMakePair(3, minor); - - return false; -} /*! Constructs a default function resolver. The resolver cannot be used until @@ -5338,361 +5062,181 @@ QOpenGLExtraFunctionsPrivate::QOpenGLExtraFunctionsPrivate(QOpenGLContext *ctx) { QOpenGLContext *context = QOpenGLContext::currentContext(); - QOpenGLES3Helper *gl3helper = 0; - - if (isES3(0)) { - gl3helper = qgles3Helper(); - - ReadBuffer = gl3helper->ReadBuffer; - DrawRangeElements = gl3helper->DrawRangeElements; - TexImage3D = gl3helper->TexImage3D; - TexSubImage3D = gl3helper->TexSubImage3D; - CopyTexSubImage3D = gl3helper->CopyTexSubImage3D; - CompressedTexImage3D = gl3helper->CompressedTexImage3D; - CompressedTexSubImage3D = gl3helper->CompressedTexSubImage3D; - GenQueries = gl3helper->GenQueries; - DeleteQueries = gl3helper->DeleteQueries; - IsQuery = gl3helper->IsQuery; - BeginQuery = gl3helper->BeginQuery; - EndQuery = gl3helper->EndQuery; - GetQueryiv = gl3helper->GetQueryiv; - GetQueryObjectuiv = gl3helper->GetQueryObjectuiv; - UnmapBuffer = gl3helper->UnmapBuffer; - GetBufferPointerv = gl3helper->GetBufferPointerv; - DrawBuffers = gl3helper->DrawBuffers; - UniformMatrix2x3fv = gl3helper->UniformMatrix2x3fv; - UniformMatrix3x2fv = gl3helper->UniformMatrix3x2fv; - UniformMatrix2x4fv = gl3helper->UniformMatrix2x4fv; - UniformMatrix4x2fv = gl3helper->UniformMatrix4x2fv; - UniformMatrix3x4fv = gl3helper->UniformMatrix3x4fv; - UniformMatrix4x3fv = gl3helper->UniformMatrix4x3fv; - BlitFramebuffer = gl3helper->BlitFramebuffer; - RenderbufferStorageMultisample = gl3helper->RenderbufferStorageMultisample; - FramebufferTextureLayer = gl3helper->FramebufferTextureLayer; - MapBufferRange = gl3helper->MapBufferRange; - FlushMappedBufferRange = gl3helper->FlushMappedBufferRange; - BindVertexArray = gl3helper->BindVertexArray; - DeleteVertexArrays = gl3helper->DeleteVertexArrays; - GenVertexArrays = gl3helper->GenVertexArrays; - IsVertexArray = gl3helper->IsVertexArray; - GetIntegeri_v = gl3helper->GetIntegeri_v; - BeginTransformFeedback = gl3helper->BeginTransformFeedback; - EndTransformFeedback = gl3helper->EndTransformFeedback; - BindBufferRange = gl3helper->BindBufferRange; - BindBufferBase = gl3helper->BindBufferBase; - TransformFeedbackVaryings = gl3helper->TransformFeedbackVaryings; - GetTransformFeedbackVarying = gl3helper->GetTransformFeedbackVarying; - VertexAttribIPointer = gl3helper->VertexAttribIPointer; - GetVertexAttribIiv = gl3helper->GetVertexAttribIiv; - GetVertexAttribIuiv = gl3helper->GetVertexAttribIuiv; - VertexAttribI4i = gl3helper->VertexAttribI4i; - VertexAttribI4ui = gl3helper->VertexAttribI4ui; - VertexAttribI4iv = gl3helper->VertexAttribI4iv; - VertexAttribI4uiv = gl3helper->VertexAttribI4uiv; - GetUniformuiv = gl3helper->GetUniformuiv; - GetFragDataLocation = gl3helper->GetFragDataLocation; - Uniform1ui = gl3helper->Uniform1ui; - Uniform2ui = gl3helper->Uniform2ui; - Uniform3ui = gl3helper->Uniform3ui; - Uniform4ui = gl3helper->Uniform4ui; - Uniform1uiv = gl3helper->Uniform1uiv; - Uniform2uiv = gl3helper->Uniform2uiv; - Uniform3uiv = gl3helper->Uniform3uiv; - Uniform4uiv = gl3helper->Uniform4uiv; - ClearBufferiv = gl3helper->ClearBufferiv; - ClearBufferuiv = gl3helper->ClearBufferuiv; - ClearBufferfv = gl3helper->ClearBufferfv; - ClearBufferfi = gl3helper->ClearBufferfi; - GetStringi = gl3helper->GetStringi; - CopyBufferSubData = gl3helper->CopyBufferSubData; - GetUniformIndices = gl3helper->GetUniformIndices; - GetActiveUniformsiv = gl3helper->GetActiveUniformsiv; - GetUniformBlockIndex = gl3helper->GetUniformBlockIndex; - GetActiveUniformBlockiv = gl3helper->GetActiveUniformBlockiv; - GetActiveUniformBlockName = gl3helper->GetActiveUniformBlockName; - UniformBlockBinding = gl3helper->UniformBlockBinding; - DrawArraysInstanced = gl3helper->DrawArraysInstanced; - DrawElementsInstanced = gl3helper->DrawElementsInstanced; - FenceSync = gl3helper->FenceSync; - IsSync = gl3helper->IsSync; - DeleteSync = gl3helper->DeleteSync; - ClientWaitSync = gl3helper->ClientWaitSync; - WaitSync = gl3helper->WaitSync; - GetInteger64v = gl3helper->GetInteger64v; - GetSynciv = gl3helper->GetSynciv; - GetInteger64i_v = gl3helper->GetInteger64i_v; - GetBufferParameteri64v = gl3helper->GetBufferParameteri64v; - GenSamplers = gl3helper->GenSamplers; - DeleteSamplers = gl3helper->DeleteSamplers; - IsSampler = gl3helper->IsSampler; - BindSampler = gl3helper->BindSampler; - SamplerParameteri = gl3helper->SamplerParameteri; - SamplerParameteriv = gl3helper->SamplerParameteriv; - SamplerParameterf = gl3helper->SamplerParameterf; - SamplerParameterfv = gl3helper->SamplerParameterfv; - GetSamplerParameteriv = gl3helper->GetSamplerParameteriv; - GetSamplerParameterfv = gl3helper->GetSamplerParameterfv; - VertexAttribDivisor = gl3helper->VertexAttribDivisor; - BindTransformFeedback = gl3helper->BindTransformFeedback; - DeleteTransformFeedbacks = gl3helper->DeleteTransformFeedbacks; - GenTransformFeedbacks = gl3helper->GenTransformFeedbacks; - IsTransformFeedback = gl3helper->IsTransformFeedback; - PauseTransformFeedback = gl3helper->PauseTransformFeedback; - ResumeTransformFeedback = gl3helper->ResumeTransformFeedback; - GetProgramBinary = gl3helper->GetProgramBinary; - ProgramBinary = gl3helper->ProgramBinary; - ProgramParameteri = gl3helper->ProgramParameteri; - InvalidateFramebuffer = gl3helper->InvalidateFramebuffer; - InvalidateSubFramebuffer = gl3helper->InvalidateSubFramebuffer; - TexStorage2D = gl3helper->TexStorage2D; - TexStorage3D = gl3helper->TexStorage3D; - GetInternalformativ = gl3helper->GetInternalformativ; - } else { - ReadBuffer = RESOLVE(ReadBuffer, 0); - DrawRangeElements = RESOLVE(DrawRangeElements, 0); - TexImage3D = RESOLVE(TexImage3D, 0); - TexSubImage3D = RESOLVE(TexSubImage3D, 0); - CopyTexSubImage3D = RESOLVE(CopyTexSubImage3D, 0); - CompressedTexImage3D = RESOLVE(CompressedTexImage3D, 0); - CompressedTexSubImage3D = RESOLVE(CompressedTexSubImage3D, 0); - GenQueries = RESOLVE(GenQueries, 0); - DeleteQueries = RESOLVE(DeleteQueries, 0); - IsQuery = RESOLVE(IsQuery, 0); - BeginQuery = RESOLVE(BeginQuery, 0); - EndQuery = RESOLVE(EndQuery, 0); - GetQueryiv = RESOLVE(GetQueryiv, 0); - GetQueryObjectuiv = RESOLVE(GetQueryObjectuiv, 0); - UnmapBuffer = RESOLVE(UnmapBuffer, ResolveOES); - GetBufferPointerv = RESOLVE(GetBufferPointerv, 0); - DrawBuffers = RESOLVE(DrawBuffers, 0); - UniformMatrix2x3fv = RESOLVE(UniformMatrix2x3fv, 0); - UniformMatrix3x2fv = RESOLVE(UniformMatrix3x2fv, 0); - UniformMatrix2x4fv = RESOLVE(UniformMatrix2x4fv, 0); - UniformMatrix4x2fv = RESOLVE(UniformMatrix4x2fv, 0); - UniformMatrix3x4fv = RESOLVE(UniformMatrix3x4fv, 0); - UniformMatrix4x3fv = RESOLVE(UniformMatrix4x3fv, 0); - BlitFramebuffer = RESOLVE(BlitFramebuffer, ResolveEXT | ResolveANGLE | ResolveNV); - RenderbufferStorageMultisample = RESOLVE(RenderbufferStorageMultisample, ResolveEXT | ResolveANGLE | ResolveNV); - FramebufferTextureLayer = RESOLVE(FramebufferTextureLayer, 0); - MapBufferRange = RESOLVE(MapBufferRange, 0); - FlushMappedBufferRange = RESOLVE(FlushMappedBufferRange, 0); - BindVertexArray = RESOLVE(BindVertexArray, 0); - DeleteVertexArrays = RESOLVE(DeleteVertexArrays, 0); - GenVertexArrays = RESOLVE(GenVertexArrays, 0); - IsVertexArray = RESOLVE(IsVertexArray, 0); - GetIntegeri_v = RESOLVE(GetIntegeri_v, 0); - BeginTransformFeedback = RESOLVE(BeginTransformFeedback, 0); - EndTransformFeedback = RESOLVE(EndTransformFeedback, 0); - BindBufferRange = RESOLVE(BindBufferRange, 0); - BindBufferBase = RESOLVE(BindBufferBase, 0); - TransformFeedbackVaryings = RESOLVE(TransformFeedbackVaryings, 0); - GetTransformFeedbackVarying = RESOLVE(GetTransformFeedbackVarying, 0); - VertexAttribIPointer = RESOLVE(VertexAttribIPointer, 0); - GetVertexAttribIiv = RESOLVE(GetVertexAttribIiv, 0); - GetVertexAttribIuiv = RESOLVE(GetVertexAttribIuiv, 0); - VertexAttribI4i = RESOLVE(VertexAttribI4i, 0); - VertexAttribI4ui = RESOLVE(VertexAttribI4ui, 0); - VertexAttribI4iv = RESOLVE(VertexAttribI4iv, 0); - VertexAttribI4uiv = RESOLVE(VertexAttribI4uiv, 0); - GetUniformuiv = RESOLVE(GetUniformuiv, 0); - GetFragDataLocation = RESOLVE(GetFragDataLocation, 0); - Uniform1ui = RESOLVE(Uniform1ui, 0); - Uniform2ui = RESOLVE(Uniform2ui, 0); - Uniform3ui = RESOLVE(Uniform3ui, 0); - Uniform4ui = RESOLVE(Uniform4ui, 0); - Uniform1uiv = RESOLVE(Uniform1uiv, 0); - Uniform2uiv = RESOLVE(Uniform2uiv, 0); - Uniform3uiv = RESOLVE(Uniform3uiv, 0); - Uniform4uiv = RESOLVE(Uniform4uiv, 0); - ClearBufferiv = RESOLVE(ClearBufferiv, 0); - ClearBufferuiv = RESOLVE(ClearBufferuiv, 0); - ClearBufferfv = RESOLVE(ClearBufferfv, 0); - ClearBufferfi = RESOLVE(ClearBufferfi, 0); - GetStringi = RESOLVE(GetStringi, 0); - CopyBufferSubData = RESOLVE(CopyBufferSubData, 0); - GetUniformIndices = RESOLVE(GetUniformIndices, 0); - GetActiveUniformsiv = RESOLVE(GetActiveUniformsiv, 0); - GetUniformBlockIndex = RESOLVE(GetUniformBlockIndex, 0); - GetActiveUniformBlockiv = RESOLVE(GetActiveUniformBlockiv, 0); - GetActiveUniformBlockName = RESOLVE(GetActiveUniformBlockName, 0); - UniformBlockBinding = RESOLVE(UniformBlockBinding, 0); - DrawArraysInstanced = RESOLVE(DrawArraysInstanced, 0); - DrawElementsInstanced = RESOLVE(DrawElementsInstanced, 0); - FenceSync = RESOLVE(FenceSync, 0); - IsSync = RESOLVE(IsSync, 0); - DeleteSync = RESOLVE(DeleteSync, 0); - ClientWaitSync = RESOLVE(ClientWaitSync, 0); - WaitSync = RESOLVE(WaitSync, 0); - GetInteger64v = RESOLVE(GetInteger64v, 0); - GetSynciv = RESOLVE(GetSynciv, 0); - GetInteger64i_v = RESOLVE(GetInteger64i_v, 0); - GetBufferParameteri64v = RESOLVE(GetBufferParameteri64v, 0); - GenSamplers = RESOLVE(GenSamplers, 0); - DeleteSamplers = RESOLVE(DeleteSamplers, 0); - IsSampler = RESOLVE(IsSampler, 0); - BindSampler = RESOLVE(BindSampler, 0); - SamplerParameteri = RESOLVE(SamplerParameteri, 0); - SamplerParameteriv = RESOLVE(SamplerParameteriv, 0); - SamplerParameterf = RESOLVE(SamplerParameterf, 0); - SamplerParameterfv = RESOLVE(SamplerParameterfv, 0); - GetSamplerParameteriv = RESOLVE(GetSamplerParameteriv, 0); - GetSamplerParameterfv = RESOLVE(GetSamplerParameterfv, 0); - VertexAttribDivisor = RESOLVE(VertexAttribDivisor, 0); - BindTransformFeedback = RESOLVE(BindTransformFeedback, 0); - DeleteTransformFeedbacks = RESOLVE(DeleteTransformFeedbacks, 0); - GenTransformFeedbacks = RESOLVE(GenTransformFeedbacks, 0); - IsTransformFeedback = RESOLVE(IsTransformFeedback, 0); - PauseTransformFeedback = RESOLVE(PauseTransformFeedback, 0); - ResumeTransformFeedback = RESOLVE(ResumeTransformFeedback, 0); - GetProgramBinary = RESOLVE(GetProgramBinary, 0); - ProgramBinary = RESOLVE(ProgramBinary, 0); - ProgramParameteri = RESOLVE(ProgramParameteri, 0); - InvalidateFramebuffer = RESOLVE(InvalidateFramebuffer, 0); - InvalidateSubFramebuffer = RESOLVE(InvalidateSubFramebuffer, 0); - TexStorage2D = RESOLVE(TexStorage2D, 0); - TexStorage3D = RESOLVE(TexStorage3D, 0); - GetInternalformativ = RESOLVE(GetInternalformativ, 0); - } - - if (gl3helper && isES3(1)) { - DispatchCompute = gl3helper->DispatchCompute; - DispatchComputeIndirect = gl3helper->DispatchComputeIndirect; - DrawArraysIndirect = gl3helper->DrawArraysIndirect; - DrawElementsIndirect = gl3helper->DrawElementsIndirect; - FramebufferParameteri = gl3helper->FramebufferParameteri; - GetFramebufferParameteriv = gl3helper->GetFramebufferParameteriv; - GetProgramInterfaceiv = gl3helper->GetProgramInterfaceiv; - GetProgramResourceIndex = gl3helper->GetProgramResourceIndex; - GetProgramResourceName = gl3helper->GetProgramResourceName; - GetProgramResourceiv = gl3helper->GetProgramResourceiv; - GetProgramResourceLocation = gl3helper->GetProgramResourceLocation; - UseProgramStages = gl3helper->UseProgramStages; - ActiveShaderProgram = gl3helper->ActiveShaderProgram; - CreateShaderProgramv = gl3helper->CreateShaderProgramv; - BindProgramPipeline = gl3helper->BindProgramPipeline; - DeleteProgramPipelines = gl3helper->DeleteProgramPipelines; - GenProgramPipelines = gl3helper->GenProgramPipelines; - IsProgramPipeline = gl3helper->IsProgramPipeline; - GetProgramPipelineiv = gl3helper->GetProgramPipelineiv; - ProgramUniform1i = gl3helper->ProgramUniform1i; - ProgramUniform2i = gl3helper->ProgramUniform2i; - ProgramUniform3i = gl3helper->ProgramUniform3i; - ProgramUniform4i = gl3helper->ProgramUniform4i; - ProgramUniform1ui = gl3helper->ProgramUniform1ui; - ProgramUniform2ui = gl3helper->ProgramUniform2ui; - ProgramUniform3ui = gl3helper->ProgramUniform3ui; - ProgramUniform4ui = gl3helper->ProgramUniform4ui; - ProgramUniform1f = gl3helper->ProgramUniform1f; - ProgramUniform2f = gl3helper->ProgramUniform2f; - ProgramUniform3f = gl3helper->ProgramUniform3f; - ProgramUniform4f = gl3helper->ProgramUniform4f; - ProgramUniform1iv = gl3helper->ProgramUniform1iv; - ProgramUniform2iv = gl3helper->ProgramUniform2iv; - ProgramUniform3iv = gl3helper->ProgramUniform3iv; - ProgramUniform4iv = gl3helper->ProgramUniform4iv; - ProgramUniform1uiv = gl3helper->ProgramUniform1uiv; - ProgramUniform2uiv = gl3helper->ProgramUniform2uiv; - ProgramUniform3uiv = gl3helper->ProgramUniform3uiv; - ProgramUniform4uiv = gl3helper->ProgramUniform4uiv; - ProgramUniform1fv = gl3helper->ProgramUniform1fv; - ProgramUniform2fv = gl3helper->ProgramUniform2fv; - ProgramUniform3fv = gl3helper->ProgramUniform3fv; - ProgramUniform4fv = gl3helper->ProgramUniform4fv; - ProgramUniformMatrix2fv = gl3helper->ProgramUniformMatrix2fv; - ProgramUniformMatrix3fv = gl3helper->ProgramUniformMatrix3fv; - ProgramUniformMatrix4fv = gl3helper->ProgramUniformMatrix4fv; - ProgramUniformMatrix2x3fv = gl3helper->ProgramUniformMatrix2x3fv; - ProgramUniformMatrix3x2fv = gl3helper->ProgramUniformMatrix3x2fv; - ProgramUniformMatrix2x4fv = gl3helper->ProgramUniformMatrix2x4fv; - ProgramUniformMatrix4x2fv = gl3helper->ProgramUniformMatrix4x2fv; - ProgramUniformMatrix3x4fv = gl3helper->ProgramUniformMatrix3x4fv; - ProgramUniformMatrix4x3fv = gl3helper->ProgramUniformMatrix4x3fv; - ValidateProgramPipeline = gl3helper->ValidateProgramPipeline; - GetProgramPipelineInfoLog = gl3helper->GetProgramPipelineInfoLog; - BindImageTexture = gl3helper->BindImageTexture; - GetBooleani_v = gl3helper->GetBooleani_v; - MemoryBarrier = gl3helper->MemoryBarrierFunc; - MemoryBarrierByRegion = gl3helper->MemoryBarrierByRegion; - TexStorage2DMultisample = gl3helper->TexStorage2DMultisample; - GetMultisamplefv = gl3helper->GetMultisamplefv; - SampleMaski = gl3helper->SampleMaski; - GetTexLevelParameteriv = gl3helper->GetTexLevelParameteriv; - GetTexLevelParameterfv = gl3helper->GetTexLevelParameterfv; - BindVertexBuffer = gl3helper->BindVertexBuffer; - VertexAttribFormat = gl3helper->VertexAttribFormat; - VertexAttribIFormat = gl3helper->VertexAttribIFormat; - VertexAttribBinding = gl3helper->VertexAttribBinding; - VertexBindingDivisor = gl3helper->VertexBindingDivisor; - } else { - DispatchCompute = RESOLVE(DispatchCompute, 0); - DispatchComputeIndirect = RESOLVE(DispatchComputeIndirect, 0); - DrawArraysIndirect = RESOLVE(DrawArraysIndirect, 0); - DrawElementsIndirect = RESOLVE(DrawElementsIndirect, 0); - FramebufferParameteri = RESOLVE(FramebufferParameteri, 0); - GetFramebufferParameteriv = RESOLVE(GetFramebufferParameteriv, 0); - GetProgramInterfaceiv = RESOLVE(GetProgramInterfaceiv, 0); - GetProgramResourceIndex = RESOLVE(GetProgramResourceIndex, 0); - GetProgramResourceName = RESOLVE(GetProgramResourceName, 0); - GetProgramResourceiv = RESOLVE(GetProgramResourceiv, 0); - GetProgramResourceLocation = RESOLVE(GetProgramResourceLocation, 0); - UseProgramStages = RESOLVE(UseProgramStages, 0); - ActiveShaderProgram = RESOLVE(ActiveShaderProgram, 0); - CreateShaderProgramv = RESOLVE(CreateShaderProgramv, 0); - BindProgramPipeline = RESOLVE(BindProgramPipeline, 0); - DeleteProgramPipelines = RESOLVE(DeleteProgramPipelines, 0); - GenProgramPipelines = RESOLVE(GenProgramPipelines, 0); - IsProgramPipeline = RESOLVE(IsProgramPipeline, 0); - GetProgramPipelineiv = RESOLVE(GetProgramPipelineiv, 0); - ProgramUniform1i = RESOLVE(ProgramUniform1i, 0); - ProgramUniform2i = RESOLVE(ProgramUniform2i, 0); - ProgramUniform3i = RESOLVE(ProgramUniform3i, 0); - ProgramUniform4i = RESOLVE(ProgramUniform4i, 0); - ProgramUniform1ui = RESOLVE(ProgramUniform1ui, 0); - ProgramUniform2ui = RESOLVE(ProgramUniform2ui, 0); - ProgramUniform3ui = RESOLVE(ProgramUniform3ui, 0); - ProgramUniform4ui = RESOLVE(ProgramUniform4ui, 0); - ProgramUniform1f = RESOLVE(ProgramUniform1f, 0); - ProgramUniform2f = RESOLVE(ProgramUniform2f, 0); - ProgramUniform3f = RESOLVE(ProgramUniform3f, 0); - ProgramUniform4f = RESOLVE(ProgramUniform4f, 0); - ProgramUniform1iv = RESOLVE(ProgramUniform1iv, 0); - ProgramUniform2iv = RESOLVE(ProgramUniform2iv, 0); - ProgramUniform3iv = RESOLVE(ProgramUniform3iv, 0); - ProgramUniform4iv = RESOLVE(ProgramUniform4iv, 0); - ProgramUniform1uiv = RESOLVE(ProgramUniform1uiv, 0); - ProgramUniform2uiv = RESOLVE(ProgramUniform2uiv, 0); - ProgramUniform3uiv = RESOLVE(ProgramUniform3uiv, 0); - ProgramUniform4uiv = RESOLVE(ProgramUniform4uiv, 0); - ProgramUniform1fv = RESOLVE(ProgramUniform1fv, 0); - ProgramUniform2fv = RESOLVE(ProgramUniform2fv, 0); - ProgramUniform3fv = RESOLVE(ProgramUniform3fv, 0); - ProgramUniform4fv = RESOLVE(ProgramUniform4fv, 0); - ProgramUniformMatrix2fv = RESOLVE(ProgramUniformMatrix2fv, 0); - ProgramUniformMatrix3fv = RESOLVE(ProgramUniformMatrix3fv, 0); - ProgramUniformMatrix4fv = RESOLVE(ProgramUniformMatrix4fv, 0); - ProgramUniformMatrix2x3fv = RESOLVE(ProgramUniformMatrix2x3fv, 0); - ProgramUniformMatrix3x2fv = RESOLVE(ProgramUniformMatrix3x2fv, 0); - ProgramUniformMatrix2x4fv = RESOLVE(ProgramUniformMatrix2x4fv, 0); - ProgramUniformMatrix4x2fv = RESOLVE(ProgramUniformMatrix4x2fv, 0); - ProgramUniformMatrix3x4fv = RESOLVE(ProgramUniformMatrix3x4fv, 0); - ProgramUniformMatrix4x3fv = RESOLVE(ProgramUniformMatrix4x3fv, 0); - ValidateProgramPipeline = RESOLVE(ValidateProgramPipeline, 0); - GetProgramPipelineInfoLog = RESOLVE(GetProgramPipelineInfoLog, 0); - BindImageTexture = RESOLVE(BindImageTexture, 0); - GetBooleani_v = RESOLVE(GetBooleani_v, 0); - MemoryBarrier = RESOLVE(MemoryBarrier, 0); - MemoryBarrierByRegion = RESOLVE(MemoryBarrierByRegion, 0); - TexStorage2DMultisample = RESOLVE(TexStorage2DMultisample, 0); - GetMultisamplefv = RESOLVE(GetMultisamplefv, 0); - SampleMaski = RESOLVE(SampleMaski, 0); - GetTexLevelParameteriv = RESOLVE(GetTexLevelParameteriv, 0); - GetTexLevelParameterfv = RESOLVE(GetTexLevelParameterfv, 0); - BindVertexBuffer = RESOLVE(BindVertexBuffer, 0); - VertexAttribFormat = RESOLVE(VertexAttribFormat, 0); - VertexAttribIFormat = RESOLVE(VertexAttribIFormat, 0); - VertexAttribBinding = RESOLVE(VertexAttribBinding, 0); - VertexBindingDivisor = RESOLVE(VertexBindingDivisor, 0); - } + // GLES 3.0 + ReadBuffer = RESOLVE(ReadBuffer, 0); + DrawRangeElements = RESOLVE(DrawRangeElements, 0); + TexImage3D = RESOLVE(TexImage3D, 0); + TexSubImage3D = RESOLVE(TexSubImage3D, 0); + CopyTexSubImage3D = RESOLVE(CopyTexSubImage3D, 0); + CompressedTexImage3D = RESOLVE(CompressedTexImage3D, 0); + CompressedTexSubImage3D = RESOLVE(CompressedTexSubImage3D, 0); + GenQueries = RESOLVE(GenQueries, 0); + DeleteQueries = RESOLVE(DeleteQueries, 0); + IsQuery = RESOLVE(IsQuery, 0); + BeginQuery = RESOLVE(BeginQuery, 0); + EndQuery = RESOLVE(EndQuery, 0); + GetQueryiv = RESOLVE(GetQueryiv, 0); + GetQueryObjectuiv = RESOLVE(GetQueryObjectuiv, 0); + UnmapBuffer = RESOLVE(UnmapBuffer, ResolveOES); + GetBufferPointerv = RESOLVE(GetBufferPointerv, 0); + DrawBuffers = RESOLVE(DrawBuffers, 0); + UniformMatrix2x3fv = RESOLVE(UniformMatrix2x3fv, 0); + UniformMatrix3x2fv = RESOLVE(UniformMatrix3x2fv, 0); + UniformMatrix2x4fv = RESOLVE(UniformMatrix2x4fv, 0); + UniformMatrix4x2fv = RESOLVE(UniformMatrix4x2fv, 0); + UniformMatrix3x4fv = RESOLVE(UniformMatrix3x4fv, 0); + UniformMatrix4x3fv = RESOLVE(UniformMatrix4x3fv, 0); + BlitFramebuffer = RESOLVE(BlitFramebuffer, ResolveEXT | ResolveANGLE | ResolveNV); + RenderbufferStorageMultisample = RESOLVE(RenderbufferStorageMultisample, ResolveEXT | ResolveANGLE | ResolveNV); + FramebufferTextureLayer = RESOLVE(FramebufferTextureLayer, 0); + MapBufferRange = RESOLVE(MapBufferRange, 0); + FlushMappedBufferRange = RESOLVE(FlushMappedBufferRange, 0); + BindVertexArray = RESOLVE(BindVertexArray, 0); + DeleteVertexArrays = RESOLVE(DeleteVertexArrays, 0); + GenVertexArrays = RESOLVE(GenVertexArrays, 0); + IsVertexArray = RESOLVE(IsVertexArray, 0); + GetIntegeri_v = RESOLVE(GetIntegeri_v, 0); + BeginTransformFeedback = RESOLVE(BeginTransformFeedback, 0); + EndTransformFeedback = RESOLVE(EndTransformFeedback, 0); + BindBufferRange = RESOLVE(BindBufferRange, 0); + BindBufferBase = RESOLVE(BindBufferBase, 0); + TransformFeedbackVaryings = RESOLVE(TransformFeedbackVaryings, 0); + GetTransformFeedbackVarying = RESOLVE(GetTransformFeedbackVarying, 0); + VertexAttribIPointer = RESOLVE(VertexAttribIPointer, 0); + GetVertexAttribIiv = RESOLVE(GetVertexAttribIiv, 0); + GetVertexAttribIuiv = RESOLVE(GetVertexAttribIuiv, 0); + VertexAttribI4i = RESOLVE(VertexAttribI4i, 0); + VertexAttribI4ui = RESOLVE(VertexAttribI4ui, 0); + VertexAttribI4iv = RESOLVE(VertexAttribI4iv, 0); + VertexAttribI4uiv = RESOLVE(VertexAttribI4uiv, 0); + GetUniformuiv = RESOLVE(GetUniformuiv, 0); + GetFragDataLocation = RESOLVE(GetFragDataLocation, 0); + Uniform1ui = RESOLVE(Uniform1ui, 0); + Uniform2ui = RESOLVE(Uniform2ui, 0); + Uniform3ui = RESOLVE(Uniform3ui, 0); + Uniform4ui = RESOLVE(Uniform4ui, 0); + Uniform1uiv = RESOLVE(Uniform1uiv, 0); + Uniform2uiv = RESOLVE(Uniform2uiv, 0); + Uniform3uiv = RESOLVE(Uniform3uiv, 0); + Uniform4uiv = RESOLVE(Uniform4uiv, 0); + ClearBufferiv = RESOLVE(ClearBufferiv, 0); + ClearBufferuiv = RESOLVE(ClearBufferuiv, 0); + ClearBufferfv = RESOLVE(ClearBufferfv, 0); + ClearBufferfi = RESOLVE(ClearBufferfi, 0); + GetStringi = RESOLVE(GetStringi, 0); + CopyBufferSubData = RESOLVE(CopyBufferSubData, 0); + GetUniformIndices = RESOLVE(GetUniformIndices, 0); + GetActiveUniformsiv = RESOLVE(GetActiveUniformsiv, 0); + GetUniformBlockIndex = RESOLVE(GetUniformBlockIndex, 0); + GetActiveUniformBlockiv = RESOLVE(GetActiveUniformBlockiv, 0); + GetActiveUniformBlockName = RESOLVE(GetActiveUniformBlockName, 0); + UniformBlockBinding = RESOLVE(UniformBlockBinding, 0); + DrawArraysInstanced = RESOLVE(DrawArraysInstanced, 0); + DrawElementsInstanced = RESOLVE(DrawElementsInstanced, 0); + FenceSync = RESOLVE(FenceSync, 0); + IsSync = RESOLVE(IsSync, 0); + DeleteSync = RESOLVE(DeleteSync, 0); + ClientWaitSync = RESOLVE(ClientWaitSync, 0); + WaitSync = RESOLVE(WaitSync, 0); + GetInteger64v = RESOLVE(GetInteger64v, 0); + GetSynciv = RESOLVE(GetSynciv, 0); + GetInteger64i_v = RESOLVE(GetInteger64i_v, 0); + GetBufferParameteri64v = RESOLVE(GetBufferParameteri64v, 0); + GenSamplers = RESOLVE(GenSamplers, 0); + DeleteSamplers = RESOLVE(DeleteSamplers, 0); + IsSampler = RESOLVE(IsSampler, 0); + BindSampler = RESOLVE(BindSampler, 0); + SamplerParameteri = RESOLVE(SamplerParameteri, 0); + SamplerParameteriv = RESOLVE(SamplerParameteriv, 0); + SamplerParameterf = RESOLVE(SamplerParameterf, 0); + SamplerParameterfv = RESOLVE(SamplerParameterfv, 0); + GetSamplerParameteriv = RESOLVE(GetSamplerParameteriv, 0); + GetSamplerParameterfv = RESOLVE(GetSamplerParameterfv, 0); + VertexAttribDivisor = RESOLVE(VertexAttribDivisor, 0); + BindTransformFeedback = RESOLVE(BindTransformFeedback, 0); + DeleteTransformFeedbacks = RESOLVE(DeleteTransformFeedbacks, 0); + GenTransformFeedbacks = RESOLVE(GenTransformFeedbacks, 0); + IsTransformFeedback = RESOLVE(IsTransformFeedback, 0); + PauseTransformFeedback = RESOLVE(PauseTransformFeedback, 0); + ResumeTransformFeedback = RESOLVE(ResumeTransformFeedback, 0); + GetProgramBinary = RESOLVE(GetProgramBinary, 0); + ProgramBinary = RESOLVE(ProgramBinary, 0); + ProgramParameteri = RESOLVE(ProgramParameteri, 0); + InvalidateFramebuffer = RESOLVE(InvalidateFramebuffer, 0); + InvalidateSubFramebuffer = RESOLVE(InvalidateSubFramebuffer, 0); + TexStorage2D = RESOLVE(TexStorage2D, 0); + TexStorage3D = RESOLVE(TexStorage3D, 0); + GetInternalformativ = RESOLVE(GetInternalformativ, 0); + + // GLES 3.1 + DispatchCompute = RESOLVE(DispatchCompute, 0); + DispatchComputeIndirect = RESOLVE(DispatchComputeIndirect, 0); + DrawArraysIndirect = RESOLVE(DrawArraysIndirect, 0); + DrawElementsIndirect = RESOLVE(DrawElementsIndirect, 0); + FramebufferParameteri = RESOLVE(FramebufferParameteri, 0); + GetFramebufferParameteriv = RESOLVE(GetFramebufferParameteriv, 0); + GetProgramInterfaceiv = RESOLVE(GetProgramInterfaceiv, 0); + GetProgramResourceIndex = RESOLVE(GetProgramResourceIndex, 0); + GetProgramResourceName = RESOLVE(GetProgramResourceName, 0); + GetProgramResourceiv = RESOLVE(GetProgramResourceiv, 0); + GetProgramResourceLocation = RESOLVE(GetProgramResourceLocation, 0); + UseProgramStages = RESOLVE(UseProgramStages, 0); + ActiveShaderProgram = RESOLVE(ActiveShaderProgram, 0); + CreateShaderProgramv = RESOLVE(CreateShaderProgramv, 0); + BindProgramPipeline = RESOLVE(BindProgramPipeline, 0); + DeleteProgramPipelines = RESOLVE(DeleteProgramPipelines, 0); + GenProgramPipelines = RESOLVE(GenProgramPipelines, 0); + IsProgramPipeline = RESOLVE(IsProgramPipeline, 0); + GetProgramPipelineiv = RESOLVE(GetProgramPipelineiv, 0); + ProgramUniform1i = RESOLVE(ProgramUniform1i, 0); + ProgramUniform2i = RESOLVE(ProgramUniform2i, 0); + ProgramUniform3i = RESOLVE(ProgramUniform3i, 0); + ProgramUniform4i = RESOLVE(ProgramUniform4i, 0); + ProgramUniform1ui = RESOLVE(ProgramUniform1ui, 0); + ProgramUniform2ui = RESOLVE(ProgramUniform2ui, 0); + ProgramUniform3ui = RESOLVE(ProgramUniform3ui, 0); + ProgramUniform4ui = RESOLVE(ProgramUniform4ui, 0); + ProgramUniform1f = RESOLVE(ProgramUniform1f, 0); + ProgramUniform2f = RESOLVE(ProgramUniform2f, 0); + ProgramUniform3f = RESOLVE(ProgramUniform3f, 0); + ProgramUniform4f = RESOLVE(ProgramUniform4f, 0); + ProgramUniform1iv = RESOLVE(ProgramUniform1iv, 0); + ProgramUniform2iv = RESOLVE(ProgramUniform2iv, 0); + ProgramUniform3iv = RESOLVE(ProgramUniform3iv, 0); + ProgramUniform4iv = RESOLVE(ProgramUniform4iv, 0); + ProgramUniform1uiv = RESOLVE(ProgramUniform1uiv, 0); + ProgramUniform2uiv = RESOLVE(ProgramUniform2uiv, 0); + ProgramUniform3uiv = RESOLVE(ProgramUniform3uiv, 0); + ProgramUniform4uiv = RESOLVE(ProgramUniform4uiv, 0); + ProgramUniform1fv = RESOLVE(ProgramUniform1fv, 0); + ProgramUniform2fv = RESOLVE(ProgramUniform2fv, 0); + ProgramUniform3fv = RESOLVE(ProgramUniform3fv, 0); + ProgramUniform4fv = RESOLVE(ProgramUniform4fv, 0); + ProgramUniformMatrix2fv = RESOLVE(ProgramUniformMatrix2fv, 0); + ProgramUniformMatrix3fv = RESOLVE(ProgramUniformMatrix3fv, 0); + ProgramUniformMatrix4fv = RESOLVE(ProgramUniformMatrix4fv, 0); + ProgramUniformMatrix2x3fv = RESOLVE(ProgramUniformMatrix2x3fv, 0); + ProgramUniformMatrix3x2fv = RESOLVE(ProgramUniformMatrix3x2fv, 0); + ProgramUniformMatrix2x4fv = RESOLVE(ProgramUniformMatrix2x4fv, 0); + ProgramUniformMatrix4x2fv = RESOLVE(ProgramUniformMatrix4x2fv, 0); + ProgramUniformMatrix3x4fv = RESOLVE(ProgramUniformMatrix3x4fv, 0); + ProgramUniformMatrix4x3fv = RESOLVE(ProgramUniformMatrix4x3fv, 0); + ValidateProgramPipeline = RESOLVE(ValidateProgramPipeline, 0); + GetProgramPipelineInfoLog = RESOLVE(GetProgramPipelineInfoLog, 0); + BindImageTexture = RESOLVE(BindImageTexture, 0); + GetBooleani_v = RESOLVE(GetBooleani_v, 0); + MemoryBarrier = RESOLVE(MemoryBarrier, 0); + MemoryBarrierByRegion = RESOLVE(MemoryBarrierByRegion, 0); + TexStorage2DMultisample = RESOLVE(TexStorage2DMultisample, 0); + GetMultisamplefv = RESOLVE(GetMultisamplefv, 0); + SampleMaski = RESOLVE(SampleMaski, 0); + GetTexLevelParameteriv = RESOLVE(GetTexLevelParameteriv, 0); + GetTexLevelParameterfv = RESOLVE(GetTexLevelParameterfv, 0); + BindVertexBuffer = RESOLVE(BindVertexBuffer, 0); + VertexAttribFormat = RESOLVE(VertexAttribFormat, 0); + VertexAttribIFormat = RESOLVE(VertexAttribIFormat, 0); + VertexAttribBinding = RESOLVE(VertexAttribBinding, 0); + VertexBindingDivisor = RESOLVE(VertexBindingDivisor, 0); } QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx) @@ -5706,11 +5250,6 @@ QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx) DiscardFramebuffer = RESOLVE(DiscardFramebuffer, ResolveEXT); } -QOpenGLES3Helper *QOpenGLExtensions::gles3Helper() -{ - return qgles3Helper(); -} - void QOpenGLExtensions::flushShared() { Q_D(QOpenGLExtensions); diff --git a/src/gui/opengl/qopengltexturehelper.cpp b/src/gui/opengl/qopengltexturehelper.cpp index c0d3bc3c73..ff848db0b9 100644 --- a/src/gui/opengl/qopengltexturehelper.cpp +++ b/src/gui/opengl/qopengltexturehelper.cpp @@ -184,9 +184,9 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) QOpenGLContext *ctx = QOpenGLContext::currentContext(); if (ctx->format().majorVersion() >= 3) { // OpenGL ES 3.0+ has immutable storage for 2D and 3D at least. - QOpenGLES3Helper *es3 = static_cast(ctx->functions())->gles3Helper(); - TexStorage3D = es3->TexStorage3D; - TexStorage2D = es3->TexStorage2D; + QOpenGLExtraFunctionsPrivate *extra = static_cast(context->extraFunctions())->d(); + TexStorage3D = extra->TexStorage3D; + TexStorage2D = extra->TexStorage2D; } else { TexStorage3D = 0; TexStorage2D = 0; @@ -210,11 +210,11 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) QOpenGLContext *ctx = QOpenGLContext::currentContext(); if (ctx->isOpenGLES() && ctx->format().majorVersion() >= 3) { // OpenGL ES 3.0+ has glTexImage3D. - QOpenGLES3Helper *es3 = static_cast(ctx->functions())->gles3Helper(); - TexImage3D = es3->TexImage3D; - TexSubImage3D = es3->TexSubImage3D; - CompressedTexImage3D = es3->CompressedTexImage3D; - CompressedTexSubImage3D = es3->CompressedTexSubImage3D; + QOpenGLExtraFunctionsPrivate *extra = static_cast(context->extraFunctions())->d(); + TexImage3D = extra->TexImage3D; + TexSubImage3D = extra->TexSubImage3D; + CompressedTexImage3D = extra->CompressedTexImage3D; + CompressedTexSubImage3D = extra->CompressedTexSubImage3D; } else { // OpenGL 1.2 TexImage3D = reinterpret_cast(context->getProcAddress("glTexImage3D")); diff --git a/src/gui/opengl/qopenglvertexarrayobject.cpp b/src/gui/opengl/qopenglvertexarrayobject.cpp index fe1e308532..fc2be598e9 100644 --- a/src/gui/opengl/qopenglvertexarrayobject.cpp +++ b/src/gui/opengl/qopenglvertexarrayobject.cpp @@ -63,11 +63,11 @@ void qtInitializeVertexArrayObjectHelper(QOpenGLVertexArrayObjectHelper *helper, if (context->isOpenGLES()) { if (context->format().majorVersion() >= 3) { - QOpenGLES3Helper *es3 = static_cast(context->functions())->gles3Helper(); - helper->GenVertexArrays = es3->GenVertexArrays; - helper->DeleteVertexArrays = es3->DeleteVertexArrays; - helper->BindVertexArray = es3->BindVertexArray; - helper->IsVertexArray = es3->IsVertexArray; + QOpenGLExtraFunctionsPrivate *extra = static_cast(context->extraFunctions())->d(); + helper->GenVertexArrays = extra->GenVertexArrays; + helper->DeleteVertexArrays = extra->DeleteVertexArrays; + helper->BindVertexArray = extra->BindVertexArray; + helper->IsVertexArray = extra->IsVertexArray; tryARB = false; } else if (context->hasExtension(QByteArrayLiteral("GL_OES_vertex_array_object"))) { helper->GenVertexArrays = reinterpret_cast(context->getProcAddress("glGenVertexArraysOES")); -- cgit v1.2.3 From a900645c2a067d6580a5fb3335c11db927a407e9 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 2 Feb 2016 15:35:26 +0100 Subject: Remove some now unused code The old Resolver class to resolve GL symbols is not being used any longer, get rid of it. Change-Id: I835860eb1c42aea05458ca32cf652659500312da Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglfunctions.cpp | 348 +----------------------------------- 1 file changed, 2 insertions(+), 346 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index bde5823118..294e4a27c9 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -2089,110 +2089,6 @@ enum ResolvePolicy ResolveNV = 0x8 }; -template -class Resolver -{ -public: - Resolver(FuncType Base::*func, FuncType fallback, const char *name) - : funcPointerName(func) - , fallbackFuncPointer(fallback) - , funcName(name) - { - } - - ReturnType operator()(); - - template - ReturnType operator()(P1 p1); - - template - ReturnType operator()(P1 p1, P2 p2); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10); - - template - ReturnType operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11); - -private: - FuncType Base::*funcPointerName; - FuncType fallbackFuncPointer; - const char *funcName; -}; - -template -class Resolver -{ -public: - Resolver(FuncType Base::*func, FuncType fallback, const char *name) - : funcPointerName(func) - , fallbackFuncPointer(fallback) - , funcName(name) - { - } - - void operator()(); - - template - void operator()(P1 p1); - - template - void operator()(P1 p1, P2 p2); - - template - void operator()(P1 p1, P2 p2, P3 p3); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10); - - template - void operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11); - -private: - FuncType Base::*funcPointerName; - FuncType fallbackFuncPointer; - const char *funcName; -}; - static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName, int policy) { QFunctionPointer function = context->getProcAddress(funcName); @@ -2233,248 +2129,6 @@ static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *func return function; } -#define RESOLVER_COMMON \ - QOpenGLContext *context = QOpenGLContext::currentContext(); \ - Base *funcs = qt_gl_functions(context); \ - \ - FuncType old = funcs->*funcPointerName; \ - funcs->*funcPointerName = (FuncType)getProcAddress(context, funcName, Policy); - - -#define RESOLVER_COMMON_NON_VOID \ - RESOLVER_COMMON \ - \ - if (!(funcs->*funcPointerName)) { \ - if (fallbackFuncPointer) { \ - funcs->*funcPointerName = fallbackFuncPointer; \ - } else { \ - funcs->*funcPointerName = old; \ - return ReturnType(); \ - } \ - } - -#define RESOLVER_COMMON_VOID \ - RESOLVER_COMMON \ - \ - if (!(funcs->*funcPointerName)) { \ - if (fallbackFuncPointer) { \ - funcs->*funcPointerName = fallbackFuncPointer; \ - } else { \ - funcs->*funcPointerName = old; \ - return; \ - } \ - } - -template -ReturnType Resolver::operator()() -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(); -} - -template template -ReturnType Resolver::operator()(P1 p1) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3, p4); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3, p4, p5); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9); -} - -template template -ReturnType Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10) -{ - RESOLVER_COMMON_NON_VOID - - return (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); -} - -template -void Resolver::operator()() -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(); -} - -template template -void Resolver::operator()(P1 p1) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1); -} - -template template -void Resolver::operator()(P1 p1, P2 p2) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4, p5); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); -} - -template template -void Resolver::operator()(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11) -{ - RESOLVER_COMMON_VOID - - (funcs->*funcPointerName)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); -} - -template -Resolver functionResolverWithFallback(FuncType Base::*func, FuncType fallback, const char *name) -{ - return Resolver(func, fallback, name); -} - -template -Resolver functionResolver(FuncType Base::*func, const char *name) -{ - return Resolver(func, 0, name); -} - -} // namespace - -#define RESOLVE_FUNC(RETURN_TYPE, POLICY, NAME) \ - return functionResolver(&QOpenGLExtensionsPrivate::NAME, "gl" #NAME) - -#define RESOLVE_FUNC_VOID(POLICY, NAME) \ - functionResolver(&QOpenGLExtensionsPrivate::NAME, "gl" #NAME) - -#define RESOLVE_FUNC_SPECIAL(RETURN_TYPE, POLICY, NAME) \ - return functionResolverWithFallback(&QOpenGLExtensionsPrivate::NAME, qopenglfSpecial##NAME, "gl" #NAME) - -#define RESOLVE_FUNC_SPECIAL_VOID(POLICY, NAME) \ - functionResolverWithFallback(&QOpenGLExtensionsPrivate::NAME, qopenglfSpecial##NAME, "gl" #NAME) - template Func resolve(QOpenGLContext *context, const char *name, int policy, Func) { @@ -2490,6 +2144,8 @@ Func resolveWithFallback(QOpenGLContext *context, const char *name, int policy, return f; } +} + #define RESOLVE(name, policy) \ resolve(context, "gl"#name, policy, name) -- cgit v1.2.3 From 095b338732b6756b60aeb1461395237735a523e5 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 2 Feb 2016 15:58:48 +0100 Subject: Generate more compact code to resolve the QOpenGLFunctions Use a similar mechanism as in QOpenGLVersionFunctions and resolve the methods in a loop. This requires some macro magic but significantly reduces the size of the generated code. Change-Id: If5f5e5551af0d1aed4b4ce7ce82932d8988dab59 Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglfunctions.cpp | 270 +++------------- src/gui/opengl/qopenglfunctions.h | 604 +++++++++++++++++++----------------- 2 files changed, 351 insertions(+), 523 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index 294e4a27c9..a50a8be792 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -55,6 +55,24 @@ QT_BEGIN_NAMESPACE Q_LOGGING_CATEGORY(lcGLES3, "qt.opengl.es3") + +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 +#define QT_OPENGL_FUNCTION_NAMES(ret, name, args) \ + "gl"#name"\0" +#define QT_OPENGL_FLAGS(ret, name, args) \ + 0, +#define QT_OPENGL_IMPLEMENT_WITH_FLAGS(CLASS, FUNCTIONS) \ +void CLASS::init(QOpenGLContext *context) \ +{ \ + const int flags[] = { FUNCTIONS(QT_OPENGL_FLAGS) 0 }; \ + const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \ + const char *name = names; \ + for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \ + functions[i] = ::getProcAddress(context, name, flags[i]); \ + name += strlen(name) + 1; \ + } \ +} + /*! \class QOpenGLFunctions \brief The QOpenGLFunctions class provides cross-platform access to the OpenGL ES 2.0 API. @@ -2149,9 +2167,6 @@ Func resolveWithFallback(QOpenGLContext *context, const char *name, int policy, #define RESOLVE(name, policy) \ resolve(context, "gl"#name, policy, name) -#define RESOLVE_WITH_FALLBACK(name, policy) \ - resolveWithFallback(context, "gl"#name, policy, qopenglfSpecial##name) - #ifndef QT_OPENGL_ES_2 // some fallback functions @@ -2159,14 +2174,14 @@ static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf(GLclampf depth) { QOpenGLContext *context = QOpenGLContext::currentContext(); QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); - funcs->ClearDepth((GLdouble) depth); + funcs->f.ClearDepth((GLdouble) depth); } static void QOPENGLF_APIENTRY qopenglfSpecialDepthRangef(GLclampf zNear, GLclampf zFar) { QOpenGLContext *context = QOpenGLContext::currentContext(); QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); - funcs->DepthRange((GLdouble) zNear, (GLdouble) zFar); + funcs->f.DepthRange((GLdouble) zNear, (GLdouble) zFar); } static void QOPENGLF_APIENTRY qopenglfSpecialGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) @@ -2192,240 +2207,31 @@ static void QOPENGLF_APIENTRY qopenglfSpecialReleaseShaderCompiler() #endif // !QT_OPENGL_ES_2 -#if !defined(QT_OPENGL_ES_2) && !defined(QT_OPENGL_DYNAMIC) -// Special translation functions for ES-specific calls on desktop GL -static void QOPENGLF_APIENTRY qopenglfTranslateClearDepthf(GLclampf depth) +QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *c) { - ::glClearDepth(depth); -} + init(c); -static void QOPENGLF_APIENTRY qopenglfTranslateDepthRangef(GLclampf zNear, GLclampf zFar) -{ - ::glDepthRange(zNear, zFar); -} -#endif // !ES && !DYNAMIC - -QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *) -{ - /* Assign a pointer to an above defined static function - * which on first call resolves the function from the current - * context, assigns it to the member variable and executes it - * (see Resolver template) */ #ifndef QT_OPENGL_ES_2 - QOpenGLContext *context = QOpenGLContext::currentContext(); - - // The GL1 functions may not be queriable via getProcAddress(). - if (QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::AllGLFunctionsQueryable)) { - // The platform plugin supports resolving these. - BindTexture = RESOLVE(BindTexture, 0); - BlendFunc = RESOLVE(BlendFunc, 0); - Clear = RESOLVE(Clear, 0); - ClearColor = RESOLVE(ClearColor, 0); - ClearDepthf = RESOLVE_WITH_FALLBACK(ClearDepthf, 0); - ClearStencil = RESOLVE(ClearStencil, 0); - ColorMask = RESOLVE(ColorMask, 0); - CopyTexImage2D = RESOLVE(CopyTexImage2D, 0); - CopyTexSubImage2D = RESOLVE(CopyTexSubImage2D, 0); - CullFace = RESOLVE(CullFace, 0); - DeleteTextures = RESOLVE(DeleteTextures, 0); - DepthFunc = RESOLVE(DepthFunc, 0); - DepthMask = RESOLVE(DepthMask, 0); - DepthRangef = RESOLVE_WITH_FALLBACK(DepthRangef, 0); - Disable = RESOLVE(Disable, 0); - DrawArrays = RESOLVE(DrawArrays, 0); - DrawElements = RESOLVE(DrawElements, 0); - Enable = RESOLVE(Enable, 0); - Finish = RESOLVE(Finish, 0); - Flush = RESOLVE(Flush, 0); - FrontFace = RESOLVE(FrontFace, 0); - GenTextures = RESOLVE(GenTextures, 0); - GetBooleanv = RESOLVE(GetBooleanv, 0); - GetError = RESOLVE(GetError, 0); - GetFloatv = RESOLVE(GetFloatv, 0); - GetIntegerv = RESOLVE(GetIntegerv, 0); - GetString = RESOLVE(GetString, 0); - GetTexParameterfv = RESOLVE(GetTexParameterfv, 0); - GetTexParameteriv = RESOLVE(GetTexParameteriv, 0); - Hint = RESOLVE(Hint, 0); - IsEnabled = RESOLVE(IsEnabled, 0); - IsTexture = RESOLVE(IsTexture, 0); - LineWidth = RESOLVE(LineWidth, 0); - PixelStorei = RESOLVE(PixelStorei, 0); - PolygonOffset = RESOLVE(PolygonOffset, 0); - ReadPixels = RESOLVE(ReadPixels, 0); - Scissor = RESOLVE(Scissor, 0); - StencilFunc = RESOLVE(StencilFunc, 0); - StencilMask = RESOLVE(StencilMask, 0); - StencilOp = RESOLVE(StencilOp, 0); - TexImage2D = RESOLVE(TexImage2D, 0); - TexParameterf = RESOLVE(TexParameterf, 0); - TexParameterfv = RESOLVE(TexParameterfv, 0); - TexParameteri = RESOLVE(TexParameteri, 0); - TexParameteriv = RESOLVE(TexParameteriv, 0); - TexSubImage2D = RESOLVE(TexSubImage2D, 0); - Viewport = RESOLVE(Viewport, 0); - } else { -#ifndef QT_OPENGL_DYNAMIC - // Use the functions directly. This requires linking QtGui to an OpenGL implementation. - BindTexture = ::glBindTexture; - BlendFunc = ::glBlendFunc; - Clear = ::glClear; - ClearColor = ::glClearColor; - ClearDepthf = qopenglfTranslateClearDepthf; - ClearStencil = ::glClearStencil; - ColorMask = ::glColorMask; - CopyTexImage2D = ::glCopyTexImage2D; - CopyTexSubImage2D = ::glCopyTexSubImage2D; - CullFace = ::glCullFace; - DeleteTextures = ::glDeleteTextures; - DepthFunc = ::glDepthFunc; - DepthMask = ::glDepthMask; - DepthRangef = qopenglfTranslateDepthRangef; - Disable = ::glDisable; - DrawArrays = ::glDrawArrays; - DrawElements = ::glDrawElements; - Enable = ::glEnable; - Finish = ::glFinish; - Flush = ::glFlush; - FrontFace = ::glFrontFace; - GenTextures = ::glGenTextures; - GetBooleanv = ::glGetBooleanv; - GetError = ::glGetError; - GetFloatv = ::glGetFloatv; - GetIntegerv = ::glGetIntegerv; - GetString = ::glGetString; - GetTexParameterfv = ::glGetTexParameterfv; - GetTexParameteriv = ::glGetTexParameteriv; - Hint = ::glHint; - IsEnabled = ::glIsEnabled; - IsTexture = ::glIsTexture; - LineWidth = ::glLineWidth; - PixelStorei = ::glPixelStorei; - PolygonOffset = ::glPolygonOffset; - ReadPixels = ::glReadPixels; - Scissor = ::glScissor; - StencilFunc = ::glStencilFunc; - StencilMask = ::glStencilMask; - StencilOp = ::glStencilOp; -#if defined(Q_OS_OSX) && MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7 - TexImage2D = reinterpret_cast(glTexImage2D); -#else - TexImage2D = glTexImage2D; + // setup fallbacks in case some methods couldn't get resolved + if (!f.ClearDepthf) + f.ClearDepthf = qopenglfSpecialClearDepthf; + if (!f.DepthRangef) + f.DepthRangef = qopenglfSpecialDepthRangef; + if (!f.GetShaderPrecisionFormat) + f.GetShaderPrecisionFormat = qopenglfSpecialGetShaderPrecisionFormat; + if (!f.IsProgram) + f.IsProgram = qopenglfSpecialIsProgram; + if (!f.IsShader) + f.IsShader = qopenglfSpecialIsShader; + if (!f.ReleaseShaderCompiler) + f.ReleaseShaderCompiler = qopenglfSpecialReleaseShaderCompiler; #endif - TexParameterf = ::glTexParameterf; - TexParameterfv = ::glTexParameterfv; - TexParameteri = ::glTexParameteri; - TexParameteriv = ::glTexParameteriv; - TexSubImage2D = ::glTexSubImage2D; - Viewport = ::glViewport; -#else // QT_OPENGL_DYNAMIC - // This should not happen. - qFatal("QOpenGLFunctions: Dynamic OpenGL builds do not support platforms with insufficient function resolving capabilities"); -#endif - } - - ActiveTexture = RESOLVE(ActiveTexture, 0); - AttachShader = RESOLVE(AttachShader, 0); - BindAttribLocation = RESOLVE(BindAttribLocation, 0); - BindBuffer = RESOLVE(BindBuffer, ResolveOES | ResolveEXT); - BindFramebuffer = RESOLVE(BindFramebuffer, ResolveOES | ResolveEXT); - BindRenderbuffer = RESOLVE(BindRenderbuffer, ResolveOES | ResolveEXT); - BlendColor = RESOLVE(BlendColor, ResolveOES | ResolveEXT); - BlendEquation = RESOLVE(BlendEquation, ResolveOES | ResolveEXT); - BlendEquationSeparate = RESOLVE(BlendEquationSeparate, ResolveOES | ResolveEXT); - BlendFuncSeparate = RESOLVE(BlendFuncSeparate, ResolveOES | ResolveEXT); - BufferData = RESOLVE(BufferData, ResolveOES | ResolveEXT); - BufferSubData = RESOLVE(BufferSubData, ResolveOES | ResolveEXT); - CheckFramebufferStatus = RESOLVE(CheckFramebufferStatus, ResolveOES | ResolveEXT); - CompileShader = RESOLVE(CompileShader, 0); - CompressedTexImage2D = RESOLVE(CompressedTexImage2D, ResolveOES | ResolveEXT); - CompressedTexSubImage2D = RESOLVE(CompressedTexSubImage2D, ResolveOES | ResolveEXT); - CreateProgram = RESOLVE(CreateProgram, 0); - CreateShader = RESOLVE(CreateShader, 0); - DeleteBuffers = RESOLVE(DeleteBuffers, ResolveOES | ResolveEXT); - DeleteFramebuffers = RESOLVE(DeleteFramebuffers, ResolveOES | ResolveEXT); - DeleteProgram = RESOLVE(DeleteProgram, 0); - DeleteRenderbuffers = RESOLVE(DeleteRenderbuffers, ResolveOES | ResolveEXT); - DeleteShader = RESOLVE(DeleteShader, 0); - DetachShader = RESOLVE(DetachShader, 0); - DisableVertexAttribArray = RESOLVE(DisableVertexAttribArray, 0); - EnableVertexAttribArray = RESOLVE(EnableVertexAttribArray, 0); - FramebufferRenderbuffer = RESOLVE(FramebufferRenderbuffer, ResolveOES | ResolveEXT); - FramebufferTexture2D = RESOLVE(FramebufferTexture2D, ResolveOES | ResolveEXT); - GenBuffers = RESOLVE(GenBuffers, ResolveOES | ResolveEXT); - GenerateMipmap = RESOLVE(GenerateMipmap, ResolveOES | ResolveEXT); - GenFramebuffers = RESOLVE(GenFramebuffers, ResolveOES | ResolveEXT); - GenRenderbuffers = RESOLVE(GenRenderbuffers, ResolveOES | ResolveEXT); - GetActiveAttrib = RESOLVE(GetActiveAttrib, 0); - GetActiveUniform = RESOLVE(GetActiveUniform, 0); - GetAttachedShaders = RESOLVE(GetAttachedShaders, 0); - GetAttribLocation = RESOLVE(GetAttribLocation, 0); - GetBufferParameteriv = RESOLVE(GetBufferParameteriv, ResolveOES | ResolveEXT); - GetFramebufferAttachmentParameteriv = RESOLVE(GetFramebufferAttachmentParameteriv, ResolveOES | ResolveEXT); - GetProgramiv = RESOLVE(GetProgramiv, 0); - GetProgramInfoLog = RESOLVE(GetProgramInfoLog, 0); - GetRenderbufferParameteriv = RESOLVE(GetRenderbufferParameteriv, ResolveOES | ResolveEXT); - GetShaderiv = RESOLVE(GetShaderiv, 0); - GetShaderInfoLog = RESOLVE(GetShaderInfoLog, 0); - GetShaderPrecisionFormat = RESOLVE_WITH_FALLBACK(GetShaderPrecisionFormat, ResolveOES | ResolveEXT); - GetShaderSource = RESOLVE(GetShaderSource, 0); - GetUniformfv = RESOLVE(GetUniformfv, 0); - GetUniformiv = RESOLVE(GetUniformiv, 0); - GetUniformLocation = RESOLVE(GetUniformLocation, 0); - GetVertexAttribfv = RESOLVE(GetVertexAttribfv, 0); - GetVertexAttribiv = RESOLVE(GetVertexAttribiv, 0); - GetVertexAttribPointerv = RESOLVE(GetVertexAttribPointerv, 0); - IsBuffer = RESOLVE(IsBuffer, ResolveOES | ResolveEXT); - IsFramebuffer = RESOLVE(IsFramebuffer, ResolveOES | ResolveEXT); - IsProgram = RESOLVE_WITH_FALLBACK(IsProgram, 0); - IsRenderbuffer = RESOLVE(IsRenderbuffer, ResolveOES | ResolveEXT); - IsShader = RESOLVE_WITH_FALLBACK(IsShader, 0); - LinkProgram = RESOLVE(LinkProgram, 0); - ReleaseShaderCompiler = RESOLVE_WITH_FALLBACK(ReleaseShaderCompiler, 0); - RenderbufferStorage = RESOLVE(RenderbufferStorage, ResolveOES | ResolveEXT); - SampleCoverage = RESOLVE(SampleCoverage, ResolveOES | ResolveEXT); - ShaderBinary = RESOLVE(ShaderBinary, 0); - ShaderSource = RESOLVE(ShaderSource, 0); - StencilFuncSeparate = RESOLVE(StencilFuncSeparate, ResolveEXT); - StencilMaskSeparate = RESOLVE(StencilMaskSeparate, ResolveEXT); - StencilOpSeparate = RESOLVE(StencilOpSeparate, ResolveEXT); - Uniform1f = RESOLVE(Uniform1f, 0); - Uniform1fv = RESOLVE(Uniform1fv, 0); - Uniform1i = RESOLVE(Uniform1i, 0); - Uniform1iv = RESOLVE(Uniform1iv, 0); - Uniform2f = RESOLVE(Uniform2f, 0); - Uniform2fv = RESOLVE(Uniform2fv, 0); - Uniform2i = RESOLVE(Uniform2i, 0); - Uniform2iv = RESOLVE(Uniform2iv, 0); - Uniform3f = RESOLVE(Uniform3f, 0); - Uniform3fv = RESOLVE(Uniform3fv, 0); - Uniform3i = RESOLVE(Uniform3i, 0); - Uniform3iv = RESOLVE(Uniform3iv, 0); - Uniform4f = RESOLVE(Uniform4f, 0); - Uniform4fv = RESOLVE(Uniform4fv, 0); - Uniform4i = RESOLVE(Uniform4i, 0); - Uniform4iv = RESOLVE(Uniform4iv, 0); - UniformMatrix2fv = RESOLVE(UniformMatrix2fv, 0); - UniformMatrix3fv = RESOLVE(UniformMatrix3fv, 0); - UniformMatrix4fv = RESOLVE(UniformMatrix4fv, 0); - UseProgram = RESOLVE(UseProgram, 0); - ValidateProgram = RESOLVE(ValidateProgram, 0); - VertexAttrib1f = RESOLVE(VertexAttrib1f, 0); - VertexAttrib1fv = RESOLVE(VertexAttrib1fv, 0); - VertexAttrib2f = RESOLVE(VertexAttrib2f, 0); - VertexAttrib2fv = RESOLVE(VertexAttrib2fv, 0); - VertexAttrib3f = RESOLVE(VertexAttrib3f, 0); - VertexAttrib3fv = RESOLVE(VertexAttrib3fv, 0); - VertexAttrib4f = RESOLVE(VertexAttrib4f, 0); - VertexAttrib4fv = RESOLVE(VertexAttrib4fv, 0); - VertexAttribPointer = RESOLVE(VertexAttribPointer, 0); - - ClearDepth = RESOLVE(ClearDepth, 0); - DepthRange = RESOLVE(DepthRange, 0); -#endif // !QT_OPENGL_ES_2 } + +QT_OPENGL_IMPLEMENT_WITH_FLAGS(QOpenGLFunctionsPrivate, QT_OPENGL_FUNCTIONS) + /*! \class QOpenGLExtraFunctions \brief The QOpenGLExtraFunctions class provides cross-platform access to the OpenGL ES 3.0 and 3.1 API. diff --git a/src/gui/opengl/qopenglfunctions.h b/src/gui/opengl/qopenglfunctions.h index ed42e59e5d..f6cd0e553e 100644 --- a/src/gui/opengl/qopenglfunctions.h +++ b/src/gui/opengl/qopenglfunctions.h @@ -56,6 +56,10 @@ //#define Q_ENABLE_OPENGL_FUNCTIONS_DEBUG +#ifdef QT_OPENGL_ES +typedef double GLdouble; +#endif + #ifdef Q_ENABLE_OPENGL_FUNCTIONS_DEBUG #include #define Q_OPENGL_FUNCTIONS_DEBUG \ @@ -414,159 +418,173 @@ protected: Q_DECLARE_OPERATORS_FOR_FLAGS(QOpenGLFunctions::OpenGLFeatures) +#define QT_OPENGL_DECLARE_FUNCTIONS(ret, name, args) \ + ret (QOPENGLF_APIENTRYP name)args; +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 + +#define QT_OPENGL_DECLARE(FUNCTIONS) \ +public: \ + struct Functions { \ + FUNCTIONS(QT_OPENGL_DECLARE_FUNCTIONS) \ + }; \ + union { \ + QFunctionPointer functions[FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS)]; \ + Functions f; \ + }; \ +private: \ + void init(QOpenGLContext *context); + struct QOpenGLFunctionsPrivate { QOpenGLFunctionsPrivate(QOpenGLContext *ctx); - void (QOPENGLF_APIENTRYP BindTexture)(GLenum target, GLuint texture); - void (QOPENGLF_APIENTRYP BlendFunc)(GLenum sfactor, GLenum dfactor); - void (QOPENGLF_APIENTRYP Clear)(GLbitfield mask); - void (QOPENGLF_APIENTRYP ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - void (QOPENGLF_APIENTRYP ClearDepthf)(GLclampf depth); - void (QOPENGLF_APIENTRYP ClearStencil)(GLint s); - void (QOPENGLF_APIENTRYP ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - void (QOPENGLF_APIENTRYP CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - void (QOPENGLF_APIENTRYP CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CullFace)(GLenum mode); - void (QOPENGLF_APIENTRYP DeleteTextures)(GLsizei n, const GLuint* textures); - void (QOPENGLF_APIENTRYP DepthFunc)(GLenum func); - void (QOPENGLF_APIENTRYP DepthMask)(GLboolean flag); - void (QOPENGLF_APIENTRYP DepthRangef)(GLclampf nearVal, GLclampf farVal); - void (QOPENGLF_APIENTRYP Disable)(GLenum cap); - void (QOPENGLF_APIENTRYP DrawArrays)(GLenum mode, GLint first, GLsizei count); - void (QOPENGLF_APIENTRYP DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); - void (QOPENGLF_APIENTRYP Enable)(GLenum cap); - void (QOPENGLF_APIENTRYP Finish)(); - void (QOPENGLF_APIENTRYP Flush)(); - void (QOPENGLF_APIENTRYP FrontFace)(GLenum mode); - void (QOPENGLF_APIENTRYP GenTextures)(GLsizei n, GLuint* textures); - void (QOPENGLF_APIENTRYP GetBooleanv)(GLenum pname, GLboolean* params); - GLenum (QOPENGLF_APIENTRYP GetError)(); - void (QOPENGLF_APIENTRYP GetFloatv)(GLenum pname, GLfloat* params); - void (QOPENGLF_APIENTRYP GetIntegerv)(GLenum pname, GLint* params); - const GLubyte * (QOPENGLF_APIENTRYP GetString)(GLenum name); - void (QOPENGLF_APIENTRYP GetTexParameterfv)(GLenum target, GLenum pname, GLfloat* params); - void (QOPENGLF_APIENTRYP GetTexParameteriv)(GLenum target, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP Hint)(GLenum target, GLenum mode); - GLboolean (QOPENGLF_APIENTRYP IsEnabled)(GLenum cap); - GLboolean (QOPENGLF_APIENTRYP IsTexture)(GLuint texture); - void (QOPENGLF_APIENTRYP LineWidth)(GLfloat width); - void (QOPENGLF_APIENTRYP PixelStorei)(GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP PolygonOffset)(GLfloat factor, GLfloat units); - void (QOPENGLF_APIENTRYP ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); - void (QOPENGLF_APIENTRYP Scissor)(GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP StencilFunc)(GLenum func, GLint ref, GLuint mask); - void (QOPENGLF_APIENTRYP StencilMask)(GLuint mask); - void (QOPENGLF_APIENTRYP StencilOp)(GLenum fail, GLenum zfail, GLenum zpass); - void (QOPENGLF_APIENTRYP TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); - void (QOPENGLF_APIENTRYP TexParameterf)(GLenum target, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP TexParameterfv)(GLenum target, GLenum pname, const GLfloat* params); - void (QOPENGLF_APIENTRYP TexParameteri)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP TexParameteriv)(GLenum target, GLenum pname, const GLint* params); - void (QOPENGLF_APIENTRYP TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); - void (QOPENGLF_APIENTRYP Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); - - void (QOPENGLF_APIENTRYP ActiveTexture)(GLenum texture); - void (QOPENGLF_APIENTRYP AttachShader)(GLuint program, GLuint shader); - void (QOPENGLF_APIENTRYP BindAttribLocation)(GLuint program, GLuint index, const char* name); - void (QOPENGLF_APIENTRYP BindBuffer)(GLenum target, GLuint buffer); - void (QOPENGLF_APIENTRYP BindFramebuffer)(GLenum target, GLuint framebuffer); - void (QOPENGLF_APIENTRYP BindRenderbuffer)(GLenum target, GLuint renderbuffer); - void (QOPENGLF_APIENTRYP BlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - void (QOPENGLF_APIENTRYP BlendEquation)(GLenum mode); - void (QOPENGLF_APIENTRYP BlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha); - void (QOPENGLF_APIENTRYP BlendFuncSeparate)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); - void (QOPENGLF_APIENTRYP BufferData)(GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage); - void (QOPENGLF_APIENTRYP BufferSubData)(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data); - GLenum (QOPENGLF_APIENTRYP CheckFramebufferStatus)(GLenum target); - void (QOPENGLF_APIENTRYP CompileShader)(GLuint shader); - void (QOPENGLF_APIENTRYP CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); - void (QOPENGLF_APIENTRYP CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); - GLuint (QOPENGLF_APIENTRYP CreateProgram)(); - GLuint (QOPENGLF_APIENTRYP CreateShader)(GLenum type); - void (QOPENGLF_APIENTRYP DeleteBuffers)(GLsizei n, const GLuint* buffers); - void (QOPENGLF_APIENTRYP DeleteFramebuffers)(GLsizei n, const GLuint* framebuffers); - void (QOPENGLF_APIENTRYP DeleteProgram)(GLuint program); - void (QOPENGLF_APIENTRYP DeleteRenderbuffers)(GLsizei n, const GLuint* renderbuffers); - void (QOPENGLF_APIENTRYP DeleteShader)(GLuint shader); - void (QOPENGLF_APIENTRYP DetachShader)(GLuint program, GLuint shader); - void (QOPENGLF_APIENTRYP DisableVertexAttribArray)(GLuint index); - void (QOPENGLF_APIENTRYP EnableVertexAttribArray)(GLuint index); - void (QOPENGLF_APIENTRYP FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - void (QOPENGLF_APIENTRYP FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - void (QOPENGLF_APIENTRYP GenBuffers)(GLsizei n, GLuint* buffers); - void (QOPENGLF_APIENTRYP GenerateMipmap)(GLenum target); - void (QOPENGLF_APIENTRYP GenFramebuffers)(GLsizei n, GLuint* framebuffers); - void (QOPENGLF_APIENTRYP GenRenderbuffers)(GLsizei n, GLuint* renderbuffers); - void (QOPENGLF_APIENTRYP GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name); - void (QOPENGLF_APIENTRYP GetActiveUniform)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name); - void (QOPENGLF_APIENTRYP GetAttachedShaders)(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); - GLint (QOPENGLF_APIENTRYP GetAttribLocation)(GLuint program, const char* name); - void (QOPENGLF_APIENTRYP GetBufferParameteriv)(GLenum target, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetProgramiv)(GLuint program, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetProgramInfoLog)(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog); - void (QOPENGLF_APIENTRYP GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetShaderiv)(GLuint shader, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetShaderInfoLog)(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog); - void (QOPENGLF_APIENTRYP GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); - void (QOPENGLF_APIENTRYP GetShaderSource)(GLuint shader, GLsizei bufsize, GLsizei* length, char* source); - void (QOPENGLF_APIENTRYP GetUniformfv)(GLuint program, GLint location, GLfloat* params); - void (QOPENGLF_APIENTRYP GetUniformiv)(GLuint program, GLint location, GLint* params); - GLint (QOPENGLF_APIENTRYP GetUniformLocation)(GLuint program, const char* name); - void (QOPENGLF_APIENTRYP GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat* params); - void (QOPENGLF_APIENTRYP GetVertexAttribiv)(GLuint index, GLenum pname, GLint* params); - void (QOPENGLF_APIENTRYP GetVertexAttribPointerv)(GLuint index, GLenum pname, void** pointer); - GLboolean (QOPENGLF_APIENTRYP IsBuffer)(GLuint buffer); - GLboolean (QOPENGLF_APIENTRYP IsFramebuffer)(GLuint framebuffer); - GLboolean (QOPENGLF_APIENTRYP IsProgram)(GLuint program); - GLboolean (QOPENGLF_APIENTRYP IsRenderbuffer)(GLuint renderbuffer); - GLboolean (QOPENGLF_APIENTRYP IsShader)(GLuint shader); - void (QOPENGLF_APIENTRYP LinkProgram)(GLuint program); - void (QOPENGLF_APIENTRYP ReleaseShaderCompiler)(); - void (QOPENGLF_APIENTRYP RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP SampleCoverage)(GLclampf value, GLboolean invert); - void (QOPENGLF_APIENTRYP ShaderBinary)(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length); - void (QOPENGLF_APIENTRYP ShaderSource)(GLuint shader, GLsizei count, const char** string, const GLint* length); - void (QOPENGLF_APIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); - void (QOPENGLF_APIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); - void (QOPENGLF_APIENTRYP StencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass); - void (QOPENGLF_APIENTRYP Uniform1f)(GLint location, GLfloat x); - void (QOPENGLF_APIENTRYP Uniform1fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform1i)(GLint location, GLint x); - void (QOPENGLF_APIENTRYP Uniform1iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP Uniform2f)(GLint location, GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP Uniform2fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform2i)(GLint location, GLint x, GLint y); - void (QOPENGLF_APIENTRYP Uniform2iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP Uniform3f)(GLint location, GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP Uniform3fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform3i)(GLint location, GLint x, GLint y, GLint z); - void (QOPENGLF_APIENTRYP Uniform3iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP Uniform4f)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP Uniform4fv)(GLint location, GLsizei count, const GLfloat* v); - void (QOPENGLF_APIENTRYP Uniform4i)(GLint location, GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP Uniform4iv)(GLint location, GLsizei count, const GLint* v); - void (QOPENGLF_APIENTRYP UniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (QOPENGLF_APIENTRYP UniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (QOPENGLF_APIENTRYP UniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (QOPENGLF_APIENTRYP UseProgram)(GLuint program); - void (QOPENGLF_APIENTRYP ValidateProgram)(GLuint program); - void (QOPENGLF_APIENTRYP VertexAttrib1f)(GLuint indx, GLfloat x); - void (QOPENGLF_APIENTRYP VertexAttrib1fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttrib2f)(GLuint indx, GLfloat x, GLfloat y); - void (QOPENGLF_APIENTRYP VertexAttrib2fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttrib3f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z); - void (QOPENGLF_APIENTRYP VertexAttrib3fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttrib4f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (QOPENGLF_APIENTRYP VertexAttrib4fv)(GLuint indx, const GLfloat* values); - void (QOPENGLF_APIENTRYP VertexAttribPointer)(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr); - - // Special non-ES OpenGL variants, not to be called directly -#ifndef QT_OPENGL_ES_2 - void (QOPENGLF_APIENTRYP ClearDepth)(GLdouble depth); - void (QOPENGLF_APIENTRYP DepthRange)(GLdouble zNear, GLdouble zFar); -#endif +#define QT_OPENGL_FUNCTIONS(F) \ + F(void, BindTexture, (GLenum target, GLuint texture)) \ + F(void, BlendFunc, (GLenum sfactor, GLenum dfactor)) \ + F(void, Clear, (GLbitfield mask)) \ + F(void, ClearColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) \ + F(void, ClearDepthf, (GLclampf depth)) \ + F(void, ClearStencil, (GLint s)) \ + F(void, ColorMask, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)) \ + F(void, CopyTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) \ + F(void, CopyTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, CullFace, (GLenum mode)) \ + F(void, DeleteTextures, (GLsizei n, const GLuint* textures)) \ + F(void, DepthFunc, (GLenum func)) \ + F(void, DepthMask, (GLboolean flag)) \ + F(void, DepthRangef, (GLclampf nearVal, GLclampf farVal)) \ + F(void, Disable, (GLenum cap)) \ + F(void, DrawArrays, (GLenum mode, GLint first, GLsizei count)) \ + F(void, DrawElements, (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices)) \ + F(void, Enable, (GLenum cap)) \ + F(void, Finish, ()) \ + F(void, Flush, ()) \ + F(void, FrontFace, (GLenum mode)) \ + F(void, GenTextures, (GLsizei n, GLuint* textures)) \ + F(void, GetBooleanv, (GLenum pname, GLboolean* params)) \ + F(GLenum, GetError, ()) \ + F(void, GetFloatv, (GLenum pname, GLfloat* params)) \ + F(void, GetIntegerv, (GLenum pname, GLint* params)) \ + F(const GLubyte *, GetString, (GLenum name)) \ + F(void, GetTexParameterfv, (GLenum target, GLenum pname, GLfloat* params)) \ + F(void, GetTexParameteriv, (GLenum target, GLenum pname, GLint* params)) \ + F(void, Hint, (GLenum target, GLenum mode)) \ + F(GLboolean, IsEnabled, (GLenum cap)) \ + F(GLboolean, IsTexture, (GLuint texture)) \ + F(void, LineWidth, (GLfloat width)) \ + F(void, PixelStorei, (GLenum pname, GLint param)) \ + F(void, PolygonOffset, (GLfloat factor, GLfloat units)) \ + F(void, ReadPixels, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels)) \ + F(void, Scissor, (GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, StencilFunc, (GLenum func, GLint ref, GLuint mask)) \ + F(void, StencilMask, (GLuint mask)) \ + F(void, StencilOp, (GLenum fail, GLenum zfail, GLenum zpass)) \ + F(void, TexImage2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels)) \ + F(void, TexParameterf, (GLenum target, GLenum pname, GLfloat param)) \ + F(void, TexParameterfv, (GLenum target, GLenum pname, const GLfloat* params)) \ + F(void, TexParameteri, (GLenum target, GLenum pname, GLint param)) \ + F(void, TexParameteriv, (GLenum target, GLenum pname, const GLint* params)) \ + F(void, TexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels)) \ + F(void, Viewport, (GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, ActiveTexture, (GLenum texture)) \ + F(void, AttachShader, (GLuint program, GLuint shader)) \ + F(void, BindAttribLocation, (GLuint program, GLuint index, const char* name)) \ + F(void, BindBuffer, (GLenum target, GLuint buffer)) \ + F(void, BindFramebuffer, (GLenum target, GLuint framebuffer)) \ + F(void, BindRenderbuffer, (GLenum target, GLuint renderbuffer)) \ + F(void, BlendColor, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) \ + F(void, BlendEquation, (GLenum mode)) \ + F(void, BlendEquationSeparate, (GLenum modeRGB, GLenum modeAlpha)) \ + F(void, BlendFuncSeparate, (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)) \ + F(void, BufferData, (GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage)) \ + F(void, BufferSubData, (GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data)) \ + F(GLenum, CheckFramebufferStatus, (GLenum target)) \ + F(void, CompileShader, (GLuint shader)) \ + F(void, CompressedTexImage2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)) \ + F(void, CompressedTexSubImage2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)) \ + F(GLuint, CreateProgram, ()) \ + F(GLuint, CreateShader, (GLenum type)) \ + F(void, DeleteBuffers, (GLsizei n, const GLuint* buffers)) \ + F(void, DeleteFramebuffers, (GLsizei n, const GLuint* framebuffers)) \ + F(void, DeleteProgram, (GLuint program)) \ + F(void, DeleteRenderbuffers, (GLsizei n, const GLuint* renderbuffers)) \ + F(void, DeleteShader, (GLuint shader)) \ + F(void, DetachShader, (GLuint program, GLuint shader)) \ + F(void, DisableVertexAttribArray, (GLuint index)) \ + F(void, EnableVertexAttribArray, (GLuint index)) \ + F(void, FramebufferRenderbuffer, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) \ + F(void, FramebufferTexture2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) \ + F(void, GenBuffers, (GLsizei n, GLuint* buffers)) \ + F(void, GenerateMipmap, (GLenum target)) \ + F(void, GenFramebuffers, (GLsizei n, GLuint* framebuffers)) \ + F(void, GenRenderbuffers, (GLsizei n, GLuint* renderbuffers)) \ + F(void, GetActiveAttrib, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)) \ + F(void, GetActiveUniform, (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)) \ + F(void, GetAttachedShaders, (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)) \ + F(GLint, GetAttribLocation, (GLuint program, const char* name)) \ + F(void, GetBufferParameteriv, (GLenum target, GLenum pname, GLint* params)) \ + F(void, GetFramebufferAttachmentParameteriv, (GLenum target, GLenum attachment, GLenum pname, GLint* params)) \ + F(void, GetProgramiv, (GLuint program, GLenum pname, GLint* params)) \ + F(void, GetProgramInfoLog, (GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)) \ + F(void, GetRenderbufferParameteriv, (GLenum target, GLenum pname, GLint* params)) \ + F(void, GetShaderiv, (GLuint shader, GLenum pname, GLint* params)) \ + F(void, GetShaderInfoLog, (GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)) \ + F(void, GetShaderPrecisionFormat, (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)) \ + F(void, GetShaderSource, (GLuint shader, GLsizei bufsize, GLsizei* length, char* source)) \ + F(void, GetUniformfv, (GLuint program, GLint location, GLfloat* params)) \ + F(void, GetUniformiv, (GLuint program, GLint location, GLint* params)) \ + F(GLint, GetUniformLocation, (GLuint program, const char* name)) \ + F(void, GetVertexAttribfv, (GLuint index, GLenum pname, GLfloat* params)) \ + F(void, GetVertexAttribiv, (GLuint index, GLenum pname, GLint* params)) \ + F(void, GetVertexAttribPointerv, (GLuint index, GLenum pname, void** pointer)) \ + F(GLboolean, IsBuffer, (GLuint buffer)) \ + F(GLboolean, IsFramebuffer, (GLuint framebuffer)) \ + F(GLboolean, IsProgram, (GLuint program)) \ + F(GLboolean, IsRenderbuffer, (GLuint renderbuffer)) \ + F(GLboolean, IsShader, (GLuint shader)) \ + F(void, LinkProgram, (GLuint program)) \ + F(void, ReleaseShaderCompiler, ()) \ + F(void, RenderbufferStorage, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, SampleCoverage, (GLclampf value, GLboolean invert)) \ + F(void, ShaderBinary, (GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length)) \ + F(void, ShaderSource, (GLuint shader, GLsizei count, const char** string, const GLint* length)) \ + F(void, StencilFuncSeparate, (GLenum face, GLenum func, GLint ref, GLuint mask)) \ + F(void, StencilMaskSeparate, (GLenum face, GLuint mask)) \ + F(void, StencilOpSeparate, (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)) \ + F(void, Uniform1f, (GLint location, GLfloat x)) \ + F(void, Uniform1fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform1i, (GLint location, GLint x)) \ + F(void, Uniform1iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, Uniform2f, (GLint location, GLfloat x, GLfloat y)) \ + F(void, Uniform2fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform2i, (GLint location, GLint x, GLint y)) \ + F(void, Uniform2iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, Uniform3f, (GLint location, GLfloat x, GLfloat y, GLfloat z)) \ + F(void, Uniform3fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform3i, (GLint location, GLint x, GLint y, GLint z)) \ + F(void, Uniform3iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, Uniform4f, (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, Uniform4fv, (GLint location, GLsizei count, const GLfloat* v)) \ + F(void, Uniform4i, (GLint location, GLint x, GLint y, GLint z, GLint w)) \ + F(void, Uniform4iv, (GLint location, GLsizei count, const GLint* v)) \ + F(void, UniformMatrix2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)) \ + F(void, UniformMatrix3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)) \ + F(void, UniformMatrix4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)) \ + F(void, UseProgram, (GLuint program)) \ + F(void, ValidateProgram, (GLuint program)) \ + F(void, VertexAttrib1f, (GLuint indx, GLfloat x)) \ + F(void, VertexAttrib1fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttrib2f, (GLuint indx, GLfloat x, GLfloat y)) \ + F(void, VertexAttrib2fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttrib3f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z)) \ + F(void, VertexAttrib3fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttrib4f, (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) \ + F(void, VertexAttrib4fv, (GLuint indx, const GLfloat* values)) \ + F(void, VertexAttribPointer, (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)) \ + F(void, ClearDepth, (GLdouble depth)) \ + F(void, DepthRange, (GLdouble zNear, GLdouble zFar)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_FUNCTIONS) }; // GLES2 + OpenGL1 common subset @@ -577,7 +595,7 @@ inline void QOpenGLFunctions::glBindTexture(GLenum target, GLuint texture) ::glBindTexture(target, texture); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindTexture(target, texture); + d_ptr->f.BindTexture(target, texture); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -588,7 +606,7 @@ inline void QOpenGLFunctions::glBlendFunc(GLenum sfactor, GLenum dfactor) ::glBlendFunc(sfactor, dfactor); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendFunc(sfactor, dfactor); + d_ptr->f.BlendFunc(sfactor, dfactor); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -599,7 +617,7 @@ inline void QOpenGLFunctions::glClear(GLbitfield mask) ::glClear(mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Clear(mask); + d_ptr->f.Clear(mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -610,7 +628,7 @@ inline void QOpenGLFunctions::glClearColor(GLclampf red, GLclampf green, GLclamp ::glClearColor(red, green, blue, alpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ClearColor(red, green, blue, alpha); + d_ptr->f.ClearColor(red, green, blue, alpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -621,7 +639,7 @@ inline void QOpenGLFunctions::glClearStencil(GLint s) ::glClearStencil(s); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ClearStencil(s); + d_ptr->f.ClearStencil(s); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -632,7 +650,7 @@ inline void QOpenGLFunctions::glColorMask(GLboolean red, GLboolean green, GLbool ::glColorMask(red, green, blue, alpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ColorMask(red, green, blue, alpha); + d_ptr->f.ColorMask(red, green, blue, alpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -643,7 +661,7 @@ inline void QOpenGLFunctions::glCopyTexImage2D(GLenum target, GLint level, GLenu ::glCopyTexImage2D(target, level, internalformat, x, y, width,height, border); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CopyTexImage2D(target, level, internalformat, x, y, width,height, border); + d_ptr->f.CopyTexImage2D(target, level, internalformat, x, y, width,height, border); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -654,7 +672,7 @@ inline void QOpenGLFunctions::glCopyTexSubImage2D(GLenum target, GLint level, GL ::glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); + d_ptr->f.CopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -665,7 +683,7 @@ inline void QOpenGLFunctions::glCullFace(GLenum mode) ::glCullFace(mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CullFace(mode); + d_ptr->f.CullFace(mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -676,7 +694,7 @@ inline void QOpenGLFunctions::glDeleteTextures(GLsizei n, const GLuint* textures ::glDeleteTextures(n, textures); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteTextures(n, textures); + d_ptr->f.DeleteTextures(n, textures); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -687,7 +705,7 @@ inline void QOpenGLFunctions::glDepthFunc(GLenum func) ::glDepthFunc(func); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DepthFunc(func); + d_ptr->f.DepthFunc(func); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -698,7 +716,7 @@ inline void QOpenGLFunctions::glDepthMask(GLboolean flag) ::glDepthMask(flag); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DepthMask(flag); + d_ptr->f.DepthMask(flag); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -709,7 +727,7 @@ inline void QOpenGLFunctions::glDisable(GLenum cap) ::glDisable(cap); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Disable(cap); + d_ptr->f.Disable(cap); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -720,7 +738,7 @@ inline void QOpenGLFunctions::glDrawArrays(GLenum mode, GLint first, GLsizei cou ::glDrawArrays(mode, first, count); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DrawArrays(mode, first, count); + d_ptr->f.DrawArrays(mode, first, count); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -731,7 +749,7 @@ inline void QOpenGLFunctions::glDrawElements(GLenum mode, GLsizei count, GLenum ::glDrawElements(mode, count, type, indices); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DrawElements(mode, count, type, indices); + d_ptr->f.DrawElements(mode, count, type, indices); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -742,7 +760,7 @@ inline void QOpenGLFunctions::glEnable(GLenum cap) ::glEnable(cap); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Enable(cap); + d_ptr->f.Enable(cap); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -753,7 +771,7 @@ inline void QOpenGLFunctions::glFinish() ::glFinish(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Finish(); + d_ptr->f.Finish(); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -764,7 +782,7 @@ inline void QOpenGLFunctions::glFlush() ::glFlush(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Flush(); + d_ptr->f.Flush(); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -775,7 +793,7 @@ inline void QOpenGLFunctions::glFrontFace(GLenum mode) ::glFrontFace(mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->FrontFace(mode); + d_ptr->f.FrontFace(mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -786,7 +804,7 @@ inline void QOpenGLFunctions::glGenTextures(GLsizei n, GLuint* textures) ::glGenTextures(n, textures); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenTextures(n, textures); + d_ptr->f.GenTextures(n, textures); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -797,7 +815,7 @@ inline void QOpenGLFunctions::glGetBooleanv(GLenum pname, GLboolean* params) ::glGetBooleanv(pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetBooleanv(pname, params); + d_ptr->f.GetBooleanv(pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -808,7 +826,7 @@ inline GLenum QOpenGLFunctions::glGetError() GLenum result = ::glGetError(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLenum result = d_ptr->GetError(); + GLenum result = d_ptr->f.GetError(); #endif return result; } @@ -819,7 +837,7 @@ inline void QOpenGLFunctions::glGetFloatv(GLenum pname, GLfloat* params) ::glGetFloatv(pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetFloatv(pname, params); + d_ptr->f.GetFloatv(pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -830,7 +848,7 @@ inline void QOpenGLFunctions::glGetIntegerv(GLenum pname, GLint* params) ::glGetIntegerv(pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetIntegerv(pname, params); + d_ptr->f.GetIntegerv(pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -841,7 +859,7 @@ inline const GLubyte *QOpenGLFunctions::glGetString(GLenum name) const GLubyte *result = ::glGetString(name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - const GLubyte *result = d_ptr->GetString(name); + const GLubyte *result = d_ptr->f.GetString(name); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -853,7 +871,7 @@ inline void QOpenGLFunctions::glGetTexParameterfv(GLenum target, GLenum pname, G ::glGetTexParameterfv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetTexParameterfv(target, pname, params); + d_ptr->f.GetTexParameterfv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -864,7 +882,7 @@ inline void QOpenGLFunctions::glGetTexParameteriv(GLenum target, GLenum pname, G ::glGetTexParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetTexParameteriv(target, pname, params); + d_ptr->f.GetTexParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -875,7 +893,7 @@ inline void QOpenGLFunctions::glHint(GLenum target, GLenum mode) ::glHint(target, mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Hint(target, mode); + d_ptr->f.Hint(target, mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -886,7 +904,7 @@ inline GLboolean QOpenGLFunctions::glIsEnabled(GLenum cap) GLboolean result = ::glIsEnabled(cap); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsEnabled(cap); + GLboolean result = d_ptr->f.IsEnabled(cap); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -898,7 +916,7 @@ inline GLboolean QOpenGLFunctions::glIsTexture(GLuint texture) GLboolean result = ::glIsTexture(texture); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsTexture(texture); + GLboolean result = d_ptr->f.IsTexture(texture); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -910,7 +928,7 @@ inline void QOpenGLFunctions::glLineWidth(GLfloat width) ::glLineWidth(width); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->LineWidth(width); + d_ptr->f.LineWidth(width); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -921,7 +939,7 @@ inline void QOpenGLFunctions::glPixelStorei(GLenum pname, GLint param) ::glPixelStorei(pname, param); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->PixelStorei(pname, param); + d_ptr->f.PixelStorei(pname, param); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -932,7 +950,7 @@ inline void QOpenGLFunctions::glPolygonOffset(GLfloat factor, GLfloat units) ::glPolygonOffset(factor, units); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->PolygonOffset(factor, units); + d_ptr->f.PolygonOffset(factor, units); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -943,7 +961,7 @@ inline void QOpenGLFunctions::glReadPixels(GLint x, GLint y, GLsizei width, GLsi ::glReadPixels(x, y, width, height, format, type, pixels); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ReadPixels(x, y, width, height, format, type, pixels); + d_ptr->f.ReadPixels(x, y, width, height, format, type, pixels); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -954,7 +972,7 @@ inline void QOpenGLFunctions::glScissor(GLint x, GLint y, GLsizei width, GLsizei ::glScissor(x, y, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Scissor(x, y, width, height); + d_ptr->f.Scissor(x, y, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -965,7 +983,7 @@ inline void QOpenGLFunctions::glStencilFunc(GLenum func, GLint ref, GLuint mask) ::glStencilFunc(func, ref, mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilFunc(func, ref, mask); + d_ptr->f.StencilFunc(func, ref, mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -976,7 +994,7 @@ inline void QOpenGLFunctions::glStencilMask(GLuint mask) ::glStencilMask(mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilMask(mask); + d_ptr->f.StencilMask(mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -987,7 +1005,7 @@ inline void QOpenGLFunctions::glStencilOp(GLenum fail, GLenum zfail, GLenum zpas ::glStencilOp(fail, zfail, zpass); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilOp(fail, zfail, zpass); + d_ptr->f.StencilOp(fail, zfail, zpass); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -998,7 +1016,7 @@ inline void QOpenGLFunctions::glTexImage2D(GLenum target, GLint level, GLint int ::glTexImage2D(target, level, internalformat, width,height, border, format, type, pixels); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexImage2D(target, level, internalformat, width,height, border, format, type, pixels); + d_ptr->f.TexImage2D(target, level, internalformat, width,height, border, format, type, pixels); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1009,7 +1027,7 @@ inline void QOpenGLFunctions::glTexParameterf(GLenum target, GLenum pname, GLflo ::glTexParameterf(target, pname, param); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameterf(target, pname, param); + d_ptr->f.TexParameterf(target, pname, param); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1020,7 +1038,7 @@ inline void QOpenGLFunctions::glTexParameterfv(GLenum target, GLenum pname, cons ::glTexParameterfv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameterfv(target, pname, params); + d_ptr->f.TexParameterfv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1031,7 +1049,7 @@ inline void QOpenGLFunctions::glTexParameteri(GLenum target, GLenum pname, GLint ::glTexParameteri(target, pname, param); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameteri(target, pname, param); + d_ptr->f.TexParameteri(target, pname, param); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1042,7 +1060,7 @@ inline void QOpenGLFunctions::glTexParameteriv(GLenum target, GLenum pname, cons ::glTexParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexParameteriv(target, pname, params); + d_ptr->f.TexParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1053,7 +1071,7 @@ inline void QOpenGLFunctions::glTexSubImage2D(GLenum target, GLint level, GLint ::glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); + d_ptr->f.TexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1064,7 +1082,7 @@ inline void QOpenGLFunctions::glViewport(GLint x, GLint y, GLsizei width, GLsize ::glViewport(x, y, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Viewport(x, y, width, height); + d_ptr->f.Viewport(x, y, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1077,7 +1095,7 @@ inline void QOpenGLFunctions::glActiveTexture(GLenum texture) ::glActiveTexture(texture); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ActiveTexture(texture); + d_ptr->f.ActiveTexture(texture); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1088,7 +1106,7 @@ inline void QOpenGLFunctions::glAttachShader(GLuint program, GLuint shader) ::glAttachShader(program, shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->AttachShader(program, shader); + d_ptr->f.AttachShader(program, shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1099,7 +1117,7 @@ inline void QOpenGLFunctions::glBindAttribLocation(GLuint program, GLuint index, ::glBindAttribLocation(program, index, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindAttribLocation(program, index, name); + d_ptr->f.BindAttribLocation(program, index, name); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1110,7 +1128,7 @@ inline void QOpenGLFunctions::glBindBuffer(GLenum target, GLuint buffer) ::glBindBuffer(target, buffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindBuffer(target, buffer); + d_ptr->f.BindBuffer(target, buffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1123,7 +1141,7 @@ inline void QOpenGLFunctions::glBindFramebuffer(GLenum target, GLuint framebuffe ::glBindFramebuffer(target, framebuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindFramebuffer(target, framebuffer); + d_ptr->f.BindFramebuffer(target, framebuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1134,7 +1152,7 @@ inline void QOpenGLFunctions::glBindRenderbuffer(GLenum target, GLuint renderbuf ::glBindRenderbuffer(target, renderbuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BindRenderbuffer(target, renderbuffer); + d_ptr->f.BindRenderbuffer(target, renderbuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1145,7 +1163,7 @@ inline void QOpenGLFunctions::glBlendColor(GLclampf red, GLclampf green, GLclamp ::glBlendColor(red, green, blue, alpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendColor(red, green, blue, alpha); + d_ptr->f.BlendColor(red, green, blue, alpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1156,7 +1174,7 @@ inline void QOpenGLFunctions::glBlendEquation(GLenum mode) ::glBlendEquation(mode); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendEquation(mode); + d_ptr->f.BlendEquation(mode); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1167,7 +1185,7 @@ inline void QOpenGLFunctions::glBlendEquationSeparate(GLenum modeRGB, GLenum mod ::glBlendEquationSeparate(modeRGB, modeAlpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendEquationSeparate(modeRGB, modeAlpha); + d_ptr->f.BlendEquationSeparate(modeRGB, modeAlpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1178,7 +1196,7 @@ inline void QOpenGLFunctions::glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, ::glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); + d_ptr->f.BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1189,7 +1207,7 @@ inline void QOpenGLFunctions::glBufferData(GLenum target, qopengl_GLsizeiptr siz ::glBufferData(target, size, data, usage); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BufferData(target, size, data, usage); + d_ptr->f.BufferData(target, size, data, usage); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1200,7 +1218,7 @@ inline void QOpenGLFunctions::glBufferSubData(GLenum target, qopengl_GLintptr of ::glBufferSubData(target, offset, size, data); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->BufferSubData(target, offset, size, data); + d_ptr->f.BufferSubData(target, offset, size, data); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1211,7 +1229,7 @@ inline GLenum QOpenGLFunctions::glCheckFramebufferStatus(GLenum target) GLenum result = ::glCheckFramebufferStatus(target); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLenum result = d_ptr->CheckFramebufferStatus(target); + GLenum result = d_ptr->f.CheckFramebufferStatus(target); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1221,7 +1239,7 @@ inline void QOpenGLFunctions::glClearDepthf(GLclampf depth) { #ifndef QT_OPENGL_ES Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ClearDepthf(depth); + d_ptr->f.ClearDepthf(depth); #else ::glClearDepthf(depth); #endif @@ -1234,7 +1252,7 @@ inline void QOpenGLFunctions::glCompileShader(GLuint shader) ::glCompileShader(shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CompileShader(shader); + d_ptr->f.CompileShader(shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1245,7 +1263,7 @@ inline void QOpenGLFunctions::glCompressedTexImage2D(GLenum target, GLint level, ::glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); + d_ptr->f.CompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1256,7 +1274,7 @@ inline void QOpenGLFunctions::glCompressedTexSubImage2D(GLenum target, GLint lev ::glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); + d_ptr->f.CompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1267,7 +1285,7 @@ inline GLuint QOpenGLFunctions::glCreateProgram() GLuint result = ::glCreateProgram(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLuint result = d_ptr->CreateProgram(); + GLuint result = d_ptr->f.CreateProgram(); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1279,7 +1297,7 @@ inline GLuint QOpenGLFunctions::glCreateShader(GLenum type) GLuint result = ::glCreateShader(type); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLuint result = d_ptr->CreateShader(type); + GLuint result = d_ptr->f.CreateShader(type); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1291,7 +1309,7 @@ inline void QOpenGLFunctions::glDeleteBuffers(GLsizei n, const GLuint* buffers) ::glDeleteBuffers(n, buffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteBuffers(n, buffers); + d_ptr->f.DeleteBuffers(n, buffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1302,7 +1320,7 @@ inline void QOpenGLFunctions::glDeleteFramebuffers(GLsizei n, const GLuint* fram ::glDeleteFramebuffers(n, framebuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteFramebuffers(n, framebuffers); + d_ptr->f.DeleteFramebuffers(n, framebuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1313,7 +1331,7 @@ inline void QOpenGLFunctions::glDeleteProgram(GLuint program) ::glDeleteProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteProgram(program); + d_ptr->f.DeleteProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1324,7 +1342,7 @@ inline void QOpenGLFunctions::glDeleteRenderbuffers(GLsizei n, const GLuint* ren ::glDeleteRenderbuffers(n, renderbuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteRenderbuffers(n, renderbuffers); + d_ptr->f.DeleteRenderbuffers(n, renderbuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1335,7 +1353,7 @@ inline void QOpenGLFunctions::glDeleteShader(GLuint shader) ::glDeleteShader(shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DeleteShader(shader); + d_ptr->f.DeleteShader(shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1344,7 +1362,7 @@ inline void QOpenGLFunctions::glDepthRangef(GLclampf zNear, GLclampf zFar) { #ifndef QT_OPENGL_ES Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DepthRangef(zNear, zFar); + d_ptr->f.DepthRangef(zNear, zFar); #else ::glDepthRangef(zNear, zFar); #endif @@ -1357,7 +1375,7 @@ inline void QOpenGLFunctions::glDetachShader(GLuint program, GLuint shader) ::glDetachShader(program, shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DetachShader(program, shader); + d_ptr->f.DetachShader(program, shader); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1368,7 +1386,7 @@ inline void QOpenGLFunctions::glDisableVertexAttribArray(GLuint index) ::glDisableVertexAttribArray(index); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->DisableVertexAttribArray(index); + d_ptr->f.DisableVertexAttribArray(index); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1379,7 +1397,7 @@ inline void QOpenGLFunctions::glEnableVertexAttribArray(GLuint index) ::glEnableVertexAttribArray(index); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->EnableVertexAttribArray(index); + d_ptr->f.EnableVertexAttribArray(index); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1390,7 +1408,7 @@ inline void QOpenGLFunctions::glFramebufferRenderbuffer(GLenum target, GLenum at ::glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); + d_ptr->f.FramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1401,7 +1419,7 @@ inline void QOpenGLFunctions::glFramebufferTexture2D(GLenum target, GLenum attac ::glFramebufferTexture2D(target, attachment, textarget, texture, level); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->FramebufferTexture2D(target, attachment, textarget, texture, level); + d_ptr->f.FramebufferTexture2D(target, attachment, textarget, texture, level); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1412,7 +1430,7 @@ inline void QOpenGLFunctions::glGenBuffers(GLsizei n, GLuint* buffers) ::glGenBuffers(n, buffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenBuffers(n, buffers); + d_ptr->f.GenBuffers(n, buffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1423,7 +1441,7 @@ inline void QOpenGLFunctions::glGenerateMipmap(GLenum target) ::glGenerateMipmap(target); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenerateMipmap(target); + d_ptr->f.GenerateMipmap(target); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1434,7 +1452,7 @@ inline void QOpenGLFunctions::glGenFramebuffers(GLsizei n, GLuint* framebuffers) ::glGenFramebuffers(n, framebuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenFramebuffers(n, framebuffers); + d_ptr->f.GenFramebuffers(n, framebuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1445,7 +1463,7 @@ inline void QOpenGLFunctions::glGenRenderbuffers(GLsizei n, GLuint* renderbuffer ::glGenRenderbuffers(n, renderbuffers); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GenRenderbuffers(n, renderbuffers); + d_ptr->f.GenRenderbuffers(n, renderbuffers); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1456,7 +1474,7 @@ inline void QOpenGLFunctions::glGetActiveAttrib(GLuint program, GLuint index, GL ::glGetActiveAttrib(program, index, bufsize, length, size, type, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetActiveAttrib(program, index, bufsize, length, size, type, name); + d_ptr->f.GetActiveAttrib(program, index, bufsize, length, size, type, name); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1467,7 +1485,7 @@ inline void QOpenGLFunctions::glGetActiveUniform(GLuint program, GLuint index, G ::glGetActiveUniform(program, index, bufsize, length, size, type, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetActiveUniform(program, index, bufsize, length, size, type, name); + d_ptr->f.GetActiveUniform(program, index, bufsize, length, size, type, name); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1478,7 +1496,7 @@ inline void QOpenGLFunctions::glGetAttachedShaders(GLuint program, GLsizei maxco ::glGetAttachedShaders(program, maxcount, count, shaders); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetAttachedShaders(program, maxcount, count, shaders); + d_ptr->f.GetAttachedShaders(program, maxcount, count, shaders); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1489,7 +1507,7 @@ inline GLint QOpenGLFunctions::glGetAttribLocation(GLuint program, const char* n GLint result = ::glGetAttribLocation(program, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLint result = d_ptr->GetAttribLocation(program, name); + GLint result = d_ptr->f.GetAttribLocation(program, name); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1501,7 +1519,7 @@ inline void QOpenGLFunctions::glGetBufferParameteriv(GLenum target, GLenum pname ::glGetBufferParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetBufferParameteriv(target, pname, params); + d_ptr->f.GetBufferParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1512,7 +1530,7 @@ inline void QOpenGLFunctions::glGetFramebufferAttachmentParameteriv(GLenum targe ::glGetFramebufferAttachmentParameteriv(target, attachment, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetFramebufferAttachmentParameteriv(target, attachment, pname, params); + d_ptr->f.GetFramebufferAttachmentParameteriv(target, attachment, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1523,7 +1541,7 @@ inline void QOpenGLFunctions::glGetProgramiv(GLuint program, GLenum pname, GLint ::glGetProgramiv(program, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetProgramiv(program, pname, params); + d_ptr->f.GetProgramiv(program, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1534,7 +1552,7 @@ inline void QOpenGLFunctions::glGetProgramInfoLog(GLuint program, GLsizei bufsiz ::glGetProgramInfoLog(program, bufsize, length, infolog); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetProgramInfoLog(program, bufsize, length, infolog); + d_ptr->f.GetProgramInfoLog(program, bufsize, length, infolog); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1545,7 +1563,7 @@ inline void QOpenGLFunctions::glGetRenderbufferParameteriv(GLenum target, GLenum ::glGetRenderbufferParameteriv(target, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetRenderbufferParameteriv(target, pname, params); + d_ptr->f.GetRenderbufferParameteriv(target, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1556,7 +1574,7 @@ inline void QOpenGLFunctions::glGetShaderiv(GLuint shader, GLenum pname, GLint* ::glGetShaderiv(shader, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderiv(shader, pname, params); + d_ptr->f.GetShaderiv(shader, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1567,7 +1585,7 @@ inline void QOpenGLFunctions::glGetShaderInfoLog(GLuint shader, GLsizei bufsize, ::glGetShaderInfoLog(shader, bufsize, length, infolog); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderInfoLog(shader, bufsize, length, infolog); + d_ptr->f.GetShaderInfoLog(shader, bufsize, length, infolog); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1578,7 +1596,7 @@ inline void QOpenGLFunctions::glGetShaderPrecisionFormat(GLenum shadertype, GLen ::glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); + d_ptr->f.GetShaderPrecisionFormat(shadertype, precisiontype, range, precision); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1589,7 +1607,7 @@ inline void QOpenGLFunctions::glGetShaderSource(GLuint shader, GLsizei bufsize, ::glGetShaderSource(shader, bufsize, length, source); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetShaderSource(shader, bufsize, length, source); + d_ptr->f.GetShaderSource(shader, bufsize, length, source); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1600,7 +1618,7 @@ inline void QOpenGLFunctions::glGetUniformfv(GLuint program, GLint location, GLf ::glGetUniformfv(program, location, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetUniformfv(program, location, params); + d_ptr->f.GetUniformfv(program, location, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1611,7 +1629,7 @@ inline void QOpenGLFunctions::glGetUniformiv(GLuint program, GLint location, GLi ::glGetUniformiv(program, location, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetUniformiv(program, location, params); + d_ptr->f.GetUniformiv(program, location, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1622,7 +1640,7 @@ inline GLint QOpenGLFunctions::glGetUniformLocation(GLuint program, const char* GLint result = ::glGetUniformLocation(program, name); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLint result = d_ptr->GetUniformLocation(program, name); + GLint result = d_ptr->f.GetUniformLocation(program, name); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1634,7 +1652,7 @@ inline void QOpenGLFunctions::glGetVertexAttribfv(GLuint index, GLenum pname, GL ::glGetVertexAttribfv(index, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetVertexAttribfv(index, pname, params); + d_ptr->f.GetVertexAttribfv(index, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1645,7 +1663,7 @@ inline void QOpenGLFunctions::glGetVertexAttribiv(GLuint index, GLenum pname, GL ::glGetVertexAttribiv(index, pname, params); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetVertexAttribiv(index, pname, params); + d_ptr->f.GetVertexAttribiv(index, pname, params); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1656,7 +1674,7 @@ inline void QOpenGLFunctions::glGetVertexAttribPointerv(GLuint index, GLenum pna ::glGetVertexAttribPointerv(index, pname, pointer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->GetVertexAttribPointerv(index, pname, pointer); + d_ptr->f.GetVertexAttribPointerv(index, pname, pointer); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1667,7 +1685,7 @@ inline GLboolean QOpenGLFunctions::glIsBuffer(GLuint buffer) GLboolean result = ::glIsBuffer(buffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsBuffer(buffer); + GLboolean result = d_ptr->f.IsBuffer(buffer); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1679,7 +1697,7 @@ inline GLboolean QOpenGLFunctions::glIsFramebuffer(GLuint framebuffer) GLboolean result = ::glIsFramebuffer(framebuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsFramebuffer(framebuffer); + GLboolean result = d_ptr->f.IsFramebuffer(framebuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1691,7 +1709,7 @@ inline GLboolean QOpenGLFunctions::glIsProgram(GLuint program) GLboolean result = ::glIsProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsProgram(program); + GLboolean result = d_ptr->f.IsProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1703,7 +1721,7 @@ inline GLboolean QOpenGLFunctions::glIsRenderbuffer(GLuint renderbuffer) GLboolean result = ::glIsRenderbuffer(renderbuffer); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsRenderbuffer(renderbuffer); + GLboolean result = d_ptr->f.IsRenderbuffer(renderbuffer); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1715,7 +1733,7 @@ inline GLboolean QOpenGLFunctions::glIsShader(GLuint shader) GLboolean result = ::glIsShader(shader); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - GLboolean result = d_ptr->IsShader(shader); + GLboolean result = d_ptr->f.IsShader(shader); #endif Q_OPENGL_FUNCTIONS_DEBUG return result; @@ -1727,7 +1745,7 @@ inline void QOpenGLFunctions::glLinkProgram(GLuint program) ::glLinkProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->LinkProgram(program); + d_ptr->f.LinkProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1738,7 +1756,7 @@ inline void QOpenGLFunctions::glReleaseShaderCompiler() ::glReleaseShaderCompiler(); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ReleaseShaderCompiler(); + d_ptr->f.ReleaseShaderCompiler(); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1749,7 +1767,7 @@ inline void QOpenGLFunctions::glRenderbufferStorage(GLenum target, GLenum intern ::glRenderbufferStorage(target, internalformat, width, height); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->RenderbufferStorage(target, internalformat, width, height); + d_ptr->f.RenderbufferStorage(target, internalformat, width, height); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1760,7 +1778,7 @@ inline void QOpenGLFunctions::glSampleCoverage(GLclampf value, GLboolean invert) ::glSampleCoverage(value, invert); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->SampleCoverage(value, invert); + d_ptr->f.SampleCoverage(value, invert); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1771,7 +1789,7 @@ inline void QOpenGLFunctions::glShaderBinary(GLint n, const GLuint* shaders, GLe ::glShaderBinary(n, shaders, binaryformat, binary, length); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ShaderBinary(n, shaders, binaryformat, binary, length); + d_ptr->f.ShaderBinary(n, shaders, binaryformat, binary, length); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1782,7 +1800,7 @@ inline void QOpenGLFunctions::glShaderSource(GLuint shader, GLsizei count, const ::glShaderSource(shader, count, string, length); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ShaderSource(shader, count, string, length); + d_ptr->f.ShaderSource(shader, count, string, length); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1793,7 +1811,7 @@ inline void QOpenGLFunctions::glStencilFuncSeparate(GLenum face, GLenum func, GL ::glStencilFuncSeparate(face, func, ref, mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilFuncSeparate(face, func, ref, mask); + d_ptr->f.StencilFuncSeparate(face, func, ref, mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1804,7 +1822,7 @@ inline void QOpenGLFunctions::glStencilMaskSeparate(GLenum face, GLuint mask) ::glStencilMaskSeparate(face, mask); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilMaskSeparate(face, mask); + d_ptr->f.StencilMaskSeparate(face, mask); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1815,7 +1833,7 @@ inline void QOpenGLFunctions::glStencilOpSeparate(GLenum face, GLenum fail, GLen ::glStencilOpSeparate(face, fail, zfail, zpass); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->StencilOpSeparate(face, fail, zfail, zpass); + d_ptr->f.StencilOpSeparate(face, fail, zfail, zpass); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1826,7 +1844,7 @@ inline void QOpenGLFunctions::glUniform1f(GLint location, GLfloat x) ::glUniform1f(location, x); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1f(location, x); + d_ptr->f.Uniform1f(location, x); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1837,7 +1855,7 @@ inline void QOpenGLFunctions::glUniform1fv(GLint location, GLsizei count, const ::glUniform1fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1fv(location, count, v); + d_ptr->f.Uniform1fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1848,7 +1866,7 @@ inline void QOpenGLFunctions::glUniform1i(GLint location, GLint x) ::glUniform1i(location, x); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1i(location, x); + d_ptr->f.Uniform1i(location, x); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1859,7 +1877,7 @@ inline void QOpenGLFunctions::glUniform1iv(GLint location, GLsizei count, const ::glUniform1iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform1iv(location, count, v); + d_ptr->f.Uniform1iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1870,7 +1888,7 @@ inline void QOpenGLFunctions::glUniform2f(GLint location, GLfloat x, GLfloat y) ::glUniform2f(location, x, y); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2f(location, x, y); + d_ptr->f.Uniform2f(location, x, y); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1881,7 +1899,7 @@ inline void QOpenGLFunctions::glUniform2fv(GLint location, GLsizei count, const ::glUniform2fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2fv(location, count, v); + d_ptr->f.Uniform2fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1892,7 +1910,7 @@ inline void QOpenGLFunctions::glUniform2i(GLint location, GLint x, GLint y) ::glUniform2i(location, x, y); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2i(location, x, y); + d_ptr->f.Uniform2i(location, x, y); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1903,7 +1921,7 @@ inline void QOpenGLFunctions::glUniform2iv(GLint location, GLsizei count, const ::glUniform2iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform2iv(location, count, v); + d_ptr->f.Uniform2iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1914,7 +1932,7 @@ inline void QOpenGLFunctions::glUniform3f(GLint location, GLfloat x, GLfloat y, ::glUniform3f(location, x, y, z); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3f(location, x, y, z); + d_ptr->f.Uniform3f(location, x, y, z); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1925,7 +1943,7 @@ inline void QOpenGLFunctions::glUniform3fv(GLint location, GLsizei count, const ::glUniform3fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3fv(location, count, v); + d_ptr->f.Uniform3fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1936,7 +1954,7 @@ inline void QOpenGLFunctions::glUniform3i(GLint location, GLint x, GLint y, GLin ::glUniform3i(location, x, y, z); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3i(location, x, y, z); + d_ptr->f.Uniform3i(location, x, y, z); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1947,7 +1965,7 @@ inline void QOpenGLFunctions::glUniform3iv(GLint location, GLsizei count, const ::glUniform3iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform3iv(location, count, v); + d_ptr->f.Uniform3iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1958,7 +1976,7 @@ inline void QOpenGLFunctions::glUniform4f(GLint location, GLfloat x, GLfloat y, ::glUniform4f(location, x, y, z, w); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4f(location, x, y, z, w); + d_ptr->f.Uniform4f(location, x, y, z, w); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1969,7 +1987,7 @@ inline void QOpenGLFunctions::glUniform4fv(GLint location, GLsizei count, const ::glUniform4fv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4fv(location, count, v); + d_ptr->f.Uniform4fv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1980,7 +1998,7 @@ inline void QOpenGLFunctions::glUniform4i(GLint location, GLint x, GLint y, GLin ::glUniform4i(location, x, y, z, w); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4i(location, x, y, z, w); + d_ptr->f.Uniform4i(location, x, y, z, w); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -1991,7 +2009,7 @@ inline void QOpenGLFunctions::glUniform4iv(GLint location, GLsizei count, const ::glUniform4iv(location, count, v); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->Uniform4iv(location, count, v); + d_ptr->f.Uniform4iv(location, count, v); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2002,7 +2020,7 @@ inline void QOpenGLFunctions::glUniformMatrix2fv(GLint location, GLsizei count, ::glUniformMatrix2fv(location, count, transpose, value); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UniformMatrix2fv(location, count, transpose, value); + d_ptr->f.UniformMatrix2fv(location, count, transpose, value); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2013,7 +2031,7 @@ inline void QOpenGLFunctions::glUniformMatrix3fv(GLint location, GLsizei count, ::glUniformMatrix3fv(location, count, transpose, value); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UniformMatrix3fv(location, count, transpose, value); + d_ptr->f.UniformMatrix3fv(location, count, transpose, value); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2024,7 +2042,7 @@ inline void QOpenGLFunctions::glUniformMatrix4fv(GLint location, GLsizei count, ::glUniformMatrix4fv(location, count, transpose, value); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UniformMatrix4fv(location, count, transpose, value); + d_ptr->f.UniformMatrix4fv(location, count, transpose, value); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2035,7 +2053,7 @@ inline void QOpenGLFunctions::glUseProgram(GLuint program) ::glUseProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->UseProgram(program); + d_ptr->f.UseProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2046,7 +2064,7 @@ inline void QOpenGLFunctions::glValidateProgram(GLuint program) ::glValidateProgram(program); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->ValidateProgram(program); + d_ptr->f.ValidateProgram(program); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2057,7 +2075,7 @@ inline void QOpenGLFunctions::glVertexAttrib1f(GLuint indx, GLfloat x) ::glVertexAttrib1f(indx, x); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib1f(indx, x); + d_ptr->f.VertexAttrib1f(indx, x); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2068,7 +2086,7 @@ inline void QOpenGLFunctions::glVertexAttrib1fv(GLuint indx, const GLfloat* valu ::glVertexAttrib1fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib1fv(indx, values); + d_ptr->f.VertexAttrib1fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2079,7 +2097,7 @@ inline void QOpenGLFunctions::glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y ::glVertexAttrib2f(indx, x, y); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib2f(indx, x, y); + d_ptr->f.VertexAttrib2f(indx, x, y); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2090,7 +2108,7 @@ inline void QOpenGLFunctions::glVertexAttrib2fv(GLuint indx, const GLfloat* valu ::glVertexAttrib2fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib2fv(indx, values); + d_ptr->f.VertexAttrib2fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2101,7 +2119,7 @@ inline void QOpenGLFunctions::glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y ::glVertexAttrib3f(indx, x, y, z); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib3f(indx, x, y, z); + d_ptr->f.VertexAttrib3f(indx, x, y, z); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2112,7 +2130,7 @@ inline void QOpenGLFunctions::glVertexAttrib3fv(GLuint indx, const GLfloat* valu ::glVertexAttrib3fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib3fv(indx, values); + d_ptr->f.VertexAttrib3fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2123,7 +2141,7 @@ inline void QOpenGLFunctions::glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y ::glVertexAttrib4f(indx, x, y, z, w); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib4f(indx, x, y, z, w); + d_ptr->f.VertexAttrib4f(indx, x, y, z, w); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2134,7 +2152,7 @@ inline void QOpenGLFunctions::glVertexAttrib4fv(GLuint indx, const GLfloat* valu ::glVertexAttrib4fv(indx, values); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttrib4fv(indx, values); + d_ptr->f.VertexAttrib4fv(indx, values); #endif Q_OPENGL_FUNCTIONS_DEBUG } @@ -2145,11 +2163,15 @@ inline void QOpenGLFunctions::glVertexAttribPointer(GLuint indx, GLint size, GLe ::glVertexAttribPointer(indx, size, type, normalized, stride, ptr); #else Q_ASSERT(QOpenGLFunctions::isInitialized(d_ptr)); - d_ptr->VertexAttribPointer(indx, size, type, normalized, stride, ptr); + d_ptr->f.VertexAttribPointer(indx, size, type, normalized, stride, ptr); #endif Q_OPENGL_FUNCTIONS_DEBUG } +#undef QT_OPENGL_DECLARE_FUNCTIONS +#undef QT_OPENGL_COUNT_FUNCTIONS +#undef QT_OPENGL_DECLARE + QT_END_NAMESPACE #endif // QT_NO_OPENGL -- cgit v1.2.3 From d98bfedfe4b2ba3c19ab37ec555bacab2e5fe250 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 3 Feb 2016 09:19:04 +0100 Subject: Generate more compact code to resolve the QOpenGLExtraFunctions Similar to the parent commit, this reduces binary size significantly. Change-Id: Idd6753ec5e04ec84d93bf6f86b5c71550b90ae9b Reviewed-by: Sean Harmer Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglextrafunctions.h | 724 +++++++++++++++------------- src/gui/opengl/qopenglfunctions.cpp | 202 +------- src/gui/opengl/qopengltexturehelper.cpp | 12 +- src/gui/opengl/qopenglvertexarrayobject.cpp | 8 +- 4 files changed, 397 insertions(+), 549 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglextrafunctions.h b/src/gui/opengl/qopenglextrafunctions.h index d3b25fa348..aa29d685bc 100644 --- a/src/gui/opengl/qopenglextrafunctions.h +++ b/src/gui/opengl/qopenglextrafunctions.h @@ -46,6 +46,12 @@ #include +// MemoryBarrier is a macro on some architectures on Windows +#ifdef Q_OS_WIN +#pragma push_macro("MemoryBarrier") +#undef MemoryBarrier +#endif + QT_BEGIN_NAMESPACE class QOpenGLExtraFunctionsPrivate; @@ -413,186 +419,204 @@ private: static bool isInitialized(const QOpenGLExtraFunctionsPrivate *d) { return d != Q_NULLPTR; } }; + +#define QT_OPENGL_DECLARE_FUNCTIONS(ret, name, args) \ + ret (QOPENGLF_APIENTRYP name)args; +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 + +#define QT_OPENGL_DECLARE(FUNCTIONS) \ +public: \ + struct Functions { \ + FUNCTIONS(QT_OPENGL_DECLARE_FUNCTIONS) \ + }; \ + union { \ + QFunctionPointer functions[FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS)]; \ + Functions f; \ + }; \ +private: \ + void init(QOpenGLContext *context); + class QOpenGLExtraFunctionsPrivate : public QOpenGLFunctionsPrivate { public: QOpenGLExtraFunctionsPrivate(QOpenGLContext *ctx); // GLES3 - void (QOPENGLF_APIENTRYP ReadBuffer)(GLenum mode); - void (QOPENGLF_APIENTRYP DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); - void (QOPENGLF_APIENTRYP TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); - void (QOPENGLF_APIENTRYP TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); - void (QOPENGLF_APIENTRYP CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); - void (QOPENGLF_APIENTRYP CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); - void (QOPENGLF_APIENTRYP GenQueries)(GLsizei n, GLuint *ids); - void (QOPENGLF_APIENTRYP DeleteQueries)(GLsizei n, const GLuint *ids); - GLboolean (QOPENGLF_APIENTRYP IsQuery)(GLuint id); - void (QOPENGLF_APIENTRYP BeginQuery)(GLenum target, GLuint id); - void (QOPENGLF_APIENTRYP EndQuery)(GLenum target); - void (QOPENGLF_APIENTRYP GetQueryiv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params); - GLboolean (QOPENGLF_APIENTRYP UnmapBuffer)(GLenum target); - void (QOPENGLF_APIENTRYP GetBufferPointerv)(GLenum target, GLenum pname, void **params); - void (QOPENGLF_APIENTRYP DrawBuffers)(GLsizei n, const GLenum *bufs); - void (QOPENGLF_APIENTRYP UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); - void (QOPENGLF_APIENTRYP RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); - void *(QOPENGLF_APIENTRYP MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - void (QOPENGLF_APIENTRYP FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); - void (QOPENGLF_APIENTRYP BindVertexArray)(GLuint array); - void (QOPENGLF_APIENTRYP DeleteVertexArrays)(GLsizei n, const GLuint *arrays); - void (QOPENGLF_APIENTRYP GenVertexArrays)(GLsizei n, GLuint *arrays); - GLboolean (QOPENGLF_APIENTRYP IsVertexArray)(GLuint array); - void (QOPENGLF_APIENTRYP GetIntegeri_v)(GLenum target, GLuint index, GLint *data); - void (QOPENGLF_APIENTRYP BeginTransformFeedback)(GLenum primitiveMode); - void (QOPENGLF_APIENTRYP EndTransformFeedback)(void); - void (QOPENGLF_APIENTRYP BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); - void (QOPENGLF_APIENTRYP BindBufferBase)(GLenum target, GLuint index, GLuint buffer); - void (QOPENGLF_APIENTRYP TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); - void (QOPENGLF_APIENTRYP GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); - void (QOPENGLF_APIENTRYP VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); - void (QOPENGLF_APIENTRYP GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params); - void (QOPENGLF_APIENTRYP VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w); - void (QOPENGLF_APIENTRYP VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); - void (QOPENGLF_APIENTRYP VertexAttribI4iv)(GLuint index, const GLint *v); - void (QOPENGLF_APIENTRYP VertexAttribI4uiv)(GLuint index, const GLuint *v); - void (QOPENGLF_APIENTRYP GetUniformuiv)(GLuint program, GLint location, GLuint *params); - GLint (QOPENGLF_APIENTRYP GetFragDataLocation)(GLuint program, const GLchar *name); - void (QOPENGLF_APIENTRYP Uniform1ui)(GLint location, GLuint v0); - void (QOPENGLF_APIENTRYP Uniform2ui)(GLint location, GLuint v0, GLuint v1); - void (QOPENGLF_APIENTRYP Uniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2); - void (QOPENGLF_APIENTRYP Uniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - void (QOPENGLF_APIENTRYP Uniform1uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform2uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform3uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP Uniform4uiv)(GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value); - void (QOPENGLF_APIENTRYP ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value); - void (QOPENGLF_APIENTRYP ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value); - void (QOPENGLF_APIENTRYP ClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); - const GLubyte *(QOPENGLF_APIENTRYP GetStringi)(GLenum name, GLuint index); - void (QOPENGLF_APIENTRYP CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); - void (QOPENGLF_APIENTRYP GetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); - void (QOPENGLF_APIENTRYP GetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); - GLuint (QOPENGLF_APIENTRYP GetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName); - void (QOPENGLF_APIENTRYP GetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); - void (QOPENGLF_APIENTRYP UniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); - void (QOPENGLF_APIENTRYP DrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); - void (QOPENGLF_APIENTRYP DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); - GLsync (QOPENGLF_APIENTRYP FenceSync)(GLenum condition, GLbitfield flags); - GLboolean (QOPENGLF_APIENTRYP IsSync)(GLsync sync); - void (QOPENGLF_APIENTRYP DeleteSync)(GLsync sync); - GLenum (QOPENGLF_APIENTRYP ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); - void (QOPENGLF_APIENTRYP WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); - void (QOPENGLF_APIENTRYP GetInteger64v)(GLenum pname, GLint64 *data); - void (QOPENGLF_APIENTRYP GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); - void (QOPENGLF_APIENTRYP GetInteger64i_v)(GLenum target, GLuint index, GLint64 *data); - void (QOPENGLF_APIENTRYP GetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 *params); - void (QOPENGLF_APIENTRYP GenSamplers)(GLsizei count, GLuint *samplers); - void (QOPENGLF_APIENTRYP DeleteSamplers)(GLsizei count, const GLuint *samplers); - GLboolean (QOPENGLF_APIENTRYP IsSampler)(GLuint sampler); - void (QOPENGLF_APIENTRYP BindSampler)(GLuint unit, GLuint sampler); - void (QOPENGLF_APIENTRYP SamplerParameteri)(GLuint sampler, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *param); - void (QOPENGLF_APIENTRYP SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param); - void (QOPENGLF_APIENTRYP SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *param); - void (QOPENGLF_APIENTRYP GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP VertexAttribDivisor)(GLuint index, GLuint divisor); - void (QOPENGLF_APIENTRYP BindTransformFeedback)(GLenum target, GLuint id); - void (QOPENGLF_APIENTRYP DeleteTransformFeedbacks)(GLsizei n, const GLuint *ids); - void (QOPENGLF_APIENTRYP GenTransformFeedbacks)(GLsizei n, GLuint *ids); - GLboolean (QOPENGLF_APIENTRYP IsTransformFeedback)(GLuint id); - void (QOPENGLF_APIENTRYP PauseTransformFeedback)(void); - void (QOPENGLF_APIENTRYP ResumeTransformFeedback)(void); - void (QOPENGLF_APIENTRYP GetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); - void (QOPENGLF_APIENTRYP ProgramBinary)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); - void (QOPENGLF_APIENTRYP ProgramParameteri)(GLuint program, GLenum pname, GLint value); - void (QOPENGLF_APIENTRYP InvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments); - void (QOPENGLF_APIENTRYP InvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP TexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); - void (QOPENGLF_APIENTRYP TexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); - void (QOPENGLF_APIENTRYP GetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); - - // GLES 3.1 - void (QOPENGLF_APIENTRYP DispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); - void (QOPENGLF_APIENTRYP DispatchComputeIndirect)(GLintptr indirect); - void (QOPENGLF_APIENTRYP DrawArraysIndirect)(GLenum mode, const void *indirect); - void (QOPENGLF_APIENTRYP DrawElementsIndirect)(GLenum mode, GLenum type, const void *indirect); - void (QOPENGLF_APIENTRYP FramebufferParameteri)(GLenum target, GLenum pname, GLint param); - void (QOPENGLF_APIENTRYP GetFramebufferParameteriv)(GLenum target, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint *params); - GLuint (QOPENGLF_APIENTRYP GetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar *name); - void (QOPENGLF_APIENTRYP GetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); - void (QOPENGLF_APIENTRYP GetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); - GLint (QOPENGLF_APIENTRYP GetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar *name); - void (QOPENGLF_APIENTRYP UseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program); - void (QOPENGLF_APIENTRYP ActiveShaderProgram)(GLuint pipeline, GLuint program); - GLuint (QOPENGLF_APIENTRYP CreateShaderProgramv)(GLenum type, GLsizei count, const GLchar *const*strings); - void (QOPENGLF_APIENTRYP BindProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP DeleteProgramPipelines)(GLsizei n, const GLuint *pipelines); - void (QOPENGLF_APIENTRYP GenProgramPipelines)(GLsizei n, GLuint *pipelines); - GLboolean (QOPENGLF_APIENTRYP IsProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP GetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP ProgramUniform1i)(GLuint program, GLint location, GLint v0); - void (QOPENGLF_APIENTRYP ProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1); - void (QOPENGLF_APIENTRYP ProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); - void (QOPENGLF_APIENTRYP ProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); - void (QOPENGLF_APIENTRYP ProgramUniform1ui)(GLuint program, GLint location, GLuint v0); - void (QOPENGLF_APIENTRYP ProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1); - void (QOPENGLF_APIENTRYP ProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); - void (QOPENGLF_APIENTRYP ProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - void (QOPENGLF_APIENTRYP ProgramUniform1f)(GLuint program, GLint location, GLfloat v0); - void (QOPENGLF_APIENTRYP ProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1); - void (QOPENGLF_APIENTRYP ProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); - void (QOPENGLF_APIENTRYP ProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); - void (QOPENGLF_APIENTRYP ProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint *value); - void (QOPENGLF_APIENTRYP ProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); - void (QOPENGLF_APIENTRYP ProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - void (QOPENGLF_APIENTRYP ValidateProgramPipeline)(GLuint pipeline); - void (QOPENGLF_APIENTRYP GetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); - void (QOPENGLF_APIENTRYP BindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); - void (QOPENGLF_APIENTRYP GetBooleani_v)(GLenum target, GLuint index, GLboolean *data); - void (QOPENGLF_APIENTRYP MemoryBarrierFunc)(GLbitfield barriers); - void (QOPENGLF_APIENTRYP MemoryBarrierByRegion)(GLbitfield barriers); - void (QOPENGLF_APIENTRYP TexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); - void (QOPENGLF_APIENTRYP GetMultisamplefv)(GLenum pname, GLuint index, GLfloat *val); - void (QOPENGLF_APIENTRYP SampleMaski)(GLuint maskNumber, GLbitfield mask); - void (QOPENGLF_APIENTRYP GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params); - void (QOPENGLF_APIENTRYP GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params); - void (QOPENGLF_APIENTRYP BindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); - void (QOPENGLF_APIENTRYP VertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); - void (QOPENGLF_APIENTRYP VertexAttribBinding)(GLuint attribindex, GLuint bindingindex); - void (QOPENGLF_APIENTRYP VertexBindingDivisor)(GLuint bindingindex, GLuint divisor); +#define QT_OPENGL_EXTRA_FUNCTIONS(F) \ + F(void, ReadBuffer, (GLenum mode)) \ + F(void, DrawRangeElements, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)) \ + F(void, TexImage3D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)) \ + F(void, TexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)) \ + F(void, CopyTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, CompressedTexImage3D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)) \ + F(void, CompressedTexSubImage3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)) \ + F(void, GenQueries, (GLsizei n, GLuint *ids)) \ + F(void, DeleteQueries, (GLsizei n, const GLuint *ids)) \ + F(GLboolean, IsQuery, (GLuint id)) \ + F(void, BeginQuery, (GLenum target, GLuint id)) \ + F(void, EndQuery, (GLenum target)) \ + F(void, GetQueryiv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, GetQueryObjectuiv, (GLuint id, GLenum pname, GLuint *params)) \ + F(GLboolean, UnmapBuffer, (GLenum target)) \ + F(void, GetBufferPointerv, (GLenum target, GLenum pname, void **params)) \ + F(void, DrawBuffers, (GLsizei n, const GLenum *bufs)) \ + F(void, UniformMatrix2x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix3x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix2x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix4x2fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix3x4fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, UniformMatrix4x3fv, (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, BlitFramebuffer, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) \ + F(void, RenderbufferStorageMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, FramebufferTextureLayer, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) \ + F(void *,MapBufferRange, (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)) \ + F(void, FlushMappedBufferRange, (GLenum target, GLintptr offset, GLsizeiptr length)) \ + F(void, BindVertexArray, (GLuint array)) \ + F(void, DeleteVertexArrays, (GLsizei n, const GLuint *arrays)) \ + F(void, GenVertexArrays, (GLsizei n, GLuint *arrays)) \ + F(GLboolean, IsVertexArray, (GLuint array)) \ + F(void, GetIntegeri_v, (GLenum target, GLuint index, GLint *data)) \ + F(void, BeginTransformFeedback, (GLenum primitiveMode)) \ + F(void, EndTransformFeedback, (void)) \ + F(void, BindBufferRange, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) \ + F(void, BindBufferBase, (GLenum target, GLuint index, GLuint buffer)) \ + F(void, TransformFeedbackVaryings, (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode)) \ + F(void, GetTransformFeedbackVarying, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) \ + F(void, VertexAttribIPointer, (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)) \ + F(void, GetVertexAttribIiv, (GLuint index, GLenum pname, GLint *params)) \ + F(void, GetVertexAttribIuiv, (GLuint index, GLenum pname, GLuint *params)) \ + F(void, VertexAttribI4i, (GLuint index, GLint x, GLint y, GLint z, GLint w)) \ + F(void, VertexAttribI4ui, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) \ + F(void, VertexAttribI4iv, (GLuint index, const GLint *v)) \ + F(void, VertexAttribI4uiv, (GLuint index, const GLuint *v)) \ + F(void, GetUniformuiv, (GLuint program, GLint location, GLuint *params)) \ + F(GLint, GetFragDataLocation, (GLuint program, const GLchar *name)) \ + F(void, Uniform1ui, (GLint location, GLuint v0)) \ + F(void, Uniform2ui, (GLint location, GLuint v0, GLuint v1)) \ + F(void, Uniform3ui, (GLint location, GLuint v0, GLuint v1, GLuint v2)) \ + F(void, Uniform4ui, (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) \ + F(void, Uniform1uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, Uniform2uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, Uniform3uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, Uniform4uiv, (GLint location, GLsizei count, const GLuint *value)) \ + F(void, ClearBufferiv, (GLenum buffer, GLint drawbuffer, const GLint *value)) \ + F(void, ClearBufferuiv, (GLenum buffer, GLint drawbuffer, const GLuint *value)) \ + F(void, ClearBufferfv, (GLenum buffer, GLint drawbuffer, const GLfloat *value)) \ + F(void, ClearBufferfi, (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)) \ + F(const GLubyte *, GetStringi, (GLenum name, GLuint index)) \ + F(void, CopyBufferSubData, (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)) \ + F(void, GetUniformIndices, (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices)) \ + F(void, GetActiveUniformsiv, (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)) \ + F(GLuint, GetUniformBlockIndex, (GLuint program, const GLchar *uniformBlockName)) \ + F(void, GetActiveUniformBlockiv, (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)) \ + F(void, GetActiveUniformBlockName, (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)) \ + F(void, UniformBlockBinding, (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)) \ + F(void, DrawArraysInstanced, (GLenum mode, GLint first, GLsizei count, GLsizei instancecount)) \ + F(void, DrawElementsInstanced, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount)) \ + F(GLsync, FenceSync, (GLenum condition, GLbitfield flags)) \ + F(GLboolean, IsSync, (GLsync sync)) \ + F(void, DeleteSync, (GLsync sync)) \ + F(GLenum, ClientWaitSync, (GLsync sync, GLbitfield flags, GLuint64 timeout)) \ + F(void, WaitSync, (GLsync sync, GLbitfield flags, GLuint64 timeout)) \ + F(void, GetInteger64v, (GLenum pname, GLint64 *data)) \ + F(void, GetSynciv, (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)) \ + F(void, GetInteger64i_v, (GLenum target, GLuint index, GLint64 *data)) \ + F(void, GetBufferParameteri64v, (GLenum target, GLenum pname, GLint64 *params)) \ + F(void, GenSamplers, (GLsizei count, GLuint *samplers)) \ + F(void, DeleteSamplers, (GLsizei count, const GLuint *samplers)) \ + F(GLboolean, IsSampler, (GLuint sampler)) \ + F(void, BindSampler, (GLuint unit, GLuint sampler)) \ + F(void, SamplerParameteri, (GLuint sampler, GLenum pname, GLint param)) \ + F(void, SamplerParameteriv, (GLuint sampler, GLenum pname, const GLint *param)) \ + F(void, SamplerParameterf, (GLuint sampler, GLenum pname, GLfloat param)) \ + F(void, SamplerParameterfv, (GLuint sampler, GLenum pname, const GLfloat *param)) \ + F(void, GetSamplerParameteriv, (GLuint sampler, GLenum pname, GLint *params)) \ + F(void, GetSamplerParameterfv, (GLuint sampler, GLenum pname, GLfloat *params)) \ + F(void, VertexAttribDivisor, (GLuint index, GLuint divisor)) \ + F(void, BindTransformFeedback, (GLenum target, GLuint id)) \ + F(void, DeleteTransformFeedbacks, (GLsizei n, const GLuint *ids)) \ + F(void, GenTransformFeedbacks, (GLsizei n, GLuint *ids)) \ + F(GLboolean, IsTransformFeedback, (GLuint id)) \ + F(void, PauseTransformFeedback, (void)) \ + F(void, ResumeTransformFeedback, (void)) \ + F(void, GetProgramBinary, (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)) \ + F(void, ProgramBinary, (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)) \ + F(void, ProgramParameteri, (GLuint program, GLenum pname, GLint value)) \ + F(void, InvalidateFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum *attachments)) \ + F(void, InvalidateSubFramebuffer, (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)) \ + F(void, TexStorage2D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \ + F(void, TexStorage3D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) \ + F(void, GetInternalformativ, (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)) \ + F(void, DispatchCompute, (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)) \ + F(void, DispatchComputeIndirect, (GLintptr indirect)) \ + F(void, DrawArraysIndirect, (GLenum mode, const void *indirect)) \ + F(void, DrawElementsIndirect, (GLenum mode, GLenum type, const void *indirect)) \ + F(void, FramebufferParameteri, (GLenum target, GLenum pname, GLint param)) \ + F(void, GetFramebufferParameteriv, (GLenum target, GLenum pname, GLint *params)) \ + F(void, GetProgramInterfaceiv, (GLuint program, GLenum programInterface, GLenum pname, GLint *params)) \ + F(GLuint, GetProgramResourceIndex, (GLuint program, GLenum programInterface, const GLchar *name)) \ + F(void, GetProgramResourceName, (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)) \ + F(void, GetProgramResourceiv, (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params)) \ + F(GLint, GetProgramResourceLocation, (GLuint program, GLenum programInterface, const GLchar *name)) \ + F(void, UseProgramStages, (GLuint pipeline, GLbitfield stages, GLuint program)) \ + F(void, ActiveShaderProgram, (GLuint pipeline, GLuint program)) \ + F(GLuint, CreateShaderProgramv, (GLenum type, GLsizei count, const GLchar *const*strings)) \ + F(void, BindProgramPipeline, (GLuint pipeline)) \ + F(void, DeleteProgramPipelines, (GLsizei n, const GLuint *pipelines)) \ + F(void, GenProgramPipelines, (GLsizei n, GLuint *pipelines)) \ + F(GLboolean, IsProgramPipeline, (GLuint pipeline)) \ + F(void, GetProgramPipelineiv, (GLuint pipeline, GLenum pname, GLint *params)) \ + F(void, ProgramUniform1i, (GLuint program, GLint location, GLint v0)) \ + F(void, ProgramUniform2i, (GLuint program, GLint location, GLint v0, GLint v1)) \ + F(void, ProgramUniform3i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2)) \ + F(void, ProgramUniform4i, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) \ + F(void, ProgramUniform1ui, (GLuint program, GLint location, GLuint v0)) \ + F(void, ProgramUniform2ui, (GLuint program, GLint location, GLuint v0, GLuint v1)) \ + F(void, ProgramUniform3ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)) \ + F(void, ProgramUniform4ui, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) \ + F(void, ProgramUniform1f, (GLuint program, GLint location, GLfloat v0)) \ + F(void, ProgramUniform2f, (GLuint program, GLint location, GLfloat v0, GLfloat v1)) \ + F(void, ProgramUniform3f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) \ + F(void, ProgramUniform4f, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) \ + F(void, ProgramUniform1iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform2iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform3iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform4iv, (GLuint program, GLint location, GLsizei count, const GLint *value)) \ + F(void, ProgramUniform1uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform2uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform3uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform4uiv, (GLuint program, GLint location, GLsizei count, const GLuint *value)) \ + F(void, ProgramUniform1fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniform2fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniform3fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniform4fv, (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \ + F(void, ProgramUniformMatrix2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix2x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix3x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix2x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix4x2fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix3x4fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ProgramUniformMatrix4x3fv, (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \ + F(void, ValidateProgramPipeline, (GLuint pipeline)) \ + F(void, GetProgramPipelineInfoLog, (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) \ + F(void, BindImageTexture, (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)) \ + F(void, GetBooleani_v, (GLenum target, GLuint index, GLboolean *data)) \ + F(void, MemoryBarrier, (GLbitfield barriers)) \ + F(void, MemoryBarrierByRegion, (GLbitfield barriers)) \ + F(void, TexStorage2DMultisample, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)) \ + F(void, GetMultisamplefv, (GLenum pname, GLuint index, GLfloat *val)) \ + F(void, SampleMaski, (GLuint maskNumber, GLbitfield mask)) \ + F(void, GetTexLevelParameteriv, (GLenum target, GLint level, GLenum pname, GLint *params)) \ + F(void, GetTexLevelParameterfv, (GLenum target, GLint level, GLenum pname, GLfloat *params)) \ + F(void, BindVertexBuffer, (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)) \ + F(void, VertexAttribFormat, (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)) \ + F(void, VertexAttribIFormat, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) \ + F(void, VertexAttribBinding, (GLuint attribindex, GLuint bindingindex)) \ + F(void, VertexBindingDivisor, (GLuint bindingindex, GLuint divisor)) \ + + QT_OPENGL_DECLARE(QT_OPENGL_EXTRA_FUNCTIONS) }; // GLES 3.0 and 3.1 @@ -601,7 +625,7 @@ inline void QOpenGLExtraFunctions::glBeginQuery(GLenum target, GLuint id) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BeginQuery(target, id); + d->f.BeginQuery(target, id); Q_OPENGL_FUNCTIONS_DEBUG } @@ -609,7 +633,7 @@ inline void QOpenGLExtraFunctions::glBeginTransformFeedback(GLenum primitiveMode { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BeginTransformFeedback(primitiveMode); + d->f.BeginTransformFeedback(primitiveMode); Q_OPENGL_FUNCTIONS_DEBUG } @@ -617,7 +641,7 @@ inline void QOpenGLExtraFunctions::glBindBufferBase(GLenum target, GLuint index, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindBufferBase(target, index, buffer); + d->f.BindBufferBase(target, index, buffer); Q_OPENGL_FUNCTIONS_DEBUG } @@ -625,7 +649,7 @@ inline void QOpenGLExtraFunctions::glBindBufferRange(GLenum target, GLuint index { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindBufferRange(target, index, buffer, offset, size); + d->f.BindBufferRange(target, index, buffer, offset, size); Q_OPENGL_FUNCTIONS_DEBUG } @@ -633,7 +657,7 @@ inline void QOpenGLExtraFunctions::glBindSampler(GLuint unit, GLuint sampler) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindSampler(unit, sampler); + d->f.BindSampler(unit, sampler); Q_OPENGL_FUNCTIONS_DEBUG } @@ -641,7 +665,7 @@ inline void QOpenGLExtraFunctions::glBindTransformFeedback(GLenum target, GLuint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindTransformFeedback(target, id); + d->f.BindTransformFeedback(target, id); Q_OPENGL_FUNCTIONS_DEBUG } @@ -649,7 +673,7 @@ inline void QOpenGLExtraFunctions::glBindVertexArray(GLuint array) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindVertexArray(array); + d->f.BindVertexArray(array); Q_OPENGL_FUNCTIONS_DEBUG } @@ -657,7 +681,7 @@ inline void QOpenGLExtraFunctions::glBlitFramebuffer(GLint srcX0, GLint srcY0, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); + d->f.BlitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); Q_OPENGL_FUNCTIONS_DEBUG } @@ -665,7 +689,7 @@ inline void QOpenGLExtraFunctions::glClearBufferfi(GLenum buffer, GLint drawbuff { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ClearBufferfi(buffer, drawbuffer, depth, stencil); + d->f.ClearBufferfi(buffer, drawbuffer, depth, stencil); Q_OPENGL_FUNCTIONS_DEBUG } @@ -673,7 +697,7 @@ inline void QOpenGLExtraFunctions::glClearBufferfv(GLenum buffer, GLint drawbuff { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ClearBufferfv(buffer, drawbuffer, value); + d->f.ClearBufferfv(buffer, drawbuffer, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -681,7 +705,7 @@ inline void QOpenGLExtraFunctions::glClearBufferiv(GLenum buffer, GLint drawbuff { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ClearBufferiv(buffer, drawbuffer, value); + d->f.ClearBufferiv(buffer, drawbuffer, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -689,7 +713,7 @@ inline void QOpenGLExtraFunctions::glClearBufferuiv(GLenum buffer, GLint drawbuf { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ClearBufferuiv(buffer, drawbuffer, value); + d->f.ClearBufferuiv(buffer, drawbuffer, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -697,7 +721,7 @@ inline GLenum QOpenGLExtraFunctions::glClientWaitSync(GLsync sync, GLbitfield fl { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLenum result = d->ClientWaitSync(sync, flags, timeout); + GLenum result = d->f.ClientWaitSync(sync, flags, timeout); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -706,7 +730,7 @@ inline void QOpenGLExtraFunctions::glCompressedTexImage3D(GLenum target, GLint l { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); + d->f.CompressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data); Q_OPENGL_FUNCTIONS_DEBUG } @@ -714,7 +738,7 @@ inline void QOpenGLExtraFunctions::glCompressedTexSubImage3D(GLenum target, GLin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); + d->f.CompressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data); Q_OPENGL_FUNCTIONS_DEBUG } @@ -722,7 +746,7 @@ inline void QOpenGLExtraFunctions::glCopyBufferSubData(GLenum readTarget, GLenum { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); + d->f.CopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size); Q_OPENGL_FUNCTIONS_DEBUG } @@ -730,7 +754,7 @@ inline void QOpenGLExtraFunctions::glCopyTexSubImage3D(GLenum target, GLint leve { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); + d->f.CopyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height); Q_OPENGL_FUNCTIONS_DEBUG } @@ -738,7 +762,7 @@ inline void QOpenGLExtraFunctions::glDeleteQueries(GLsizei n, const GLuint * ids { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DeleteQueries(n, ids); + d->f.DeleteQueries(n, ids); Q_OPENGL_FUNCTIONS_DEBUG } @@ -746,7 +770,7 @@ inline void QOpenGLExtraFunctions::glDeleteSamplers(GLsizei count, const GLuint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DeleteSamplers(count, samplers); + d->f.DeleteSamplers(count, samplers); Q_OPENGL_FUNCTIONS_DEBUG } @@ -754,7 +778,7 @@ inline void QOpenGLExtraFunctions::glDeleteSync(GLsync sync) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DeleteSync(sync); + d->f.DeleteSync(sync); Q_OPENGL_FUNCTIONS_DEBUG } @@ -762,7 +786,7 @@ inline void QOpenGLExtraFunctions::glDeleteTransformFeedbacks(GLsizei n, const G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DeleteTransformFeedbacks(n, ids); + d->f.DeleteTransformFeedbacks(n, ids); Q_OPENGL_FUNCTIONS_DEBUG } @@ -770,7 +794,7 @@ inline void QOpenGLExtraFunctions::glDeleteVertexArrays(GLsizei n, const GLuint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DeleteVertexArrays(n, arrays); + d->f.DeleteVertexArrays(n, arrays); Q_OPENGL_FUNCTIONS_DEBUG } @@ -778,7 +802,7 @@ inline void QOpenGLExtraFunctions::glDrawArraysInstanced(GLenum mode, GLint firs { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DrawArraysInstanced(mode, first, count, instancecount); + d->f.DrawArraysInstanced(mode, first, count, instancecount); Q_OPENGL_FUNCTIONS_DEBUG } @@ -786,7 +810,7 @@ inline void QOpenGLExtraFunctions::glDrawBuffers(GLsizei n, const GLenum * bufs) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DrawBuffers(n, bufs); + d->f.DrawBuffers(n, bufs); Q_OPENGL_FUNCTIONS_DEBUG } @@ -794,7 +818,7 @@ inline void QOpenGLExtraFunctions::glDrawElementsInstanced(GLenum mode, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DrawElementsInstanced(mode, count, type, indices, instancecount); + d->f.DrawElementsInstanced(mode, count, type, indices, instancecount); Q_OPENGL_FUNCTIONS_DEBUG } @@ -802,7 +826,7 @@ inline void QOpenGLExtraFunctions::glDrawRangeElements(GLenum mode, GLuint start { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DrawRangeElements(mode, start, end, count, type, indices); + d->f.DrawRangeElements(mode, start, end, count, type, indices); Q_OPENGL_FUNCTIONS_DEBUG } @@ -810,7 +834,7 @@ inline void QOpenGLExtraFunctions::glEndQuery(GLenum target) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->EndQuery(target); + d->f.EndQuery(target); Q_OPENGL_FUNCTIONS_DEBUG } @@ -818,7 +842,7 @@ inline void QOpenGLExtraFunctions::glEndTransformFeedback() { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->EndTransformFeedback(); + d->f.EndTransformFeedback(); Q_OPENGL_FUNCTIONS_DEBUG } @@ -826,7 +850,7 @@ inline GLsync QOpenGLExtraFunctions::glFenceSync(GLenum condition, GLbitfield fl { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLsync result = d->FenceSync(condition, flags); + GLsync result = d->f.FenceSync(condition, flags); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -835,7 +859,7 @@ inline void QOpenGLExtraFunctions::glFlushMappedBufferRange(GLenum target, GLint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->FlushMappedBufferRange(target, offset, length); + d->f.FlushMappedBufferRange(target, offset, length); Q_OPENGL_FUNCTIONS_DEBUG } @@ -843,7 +867,7 @@ inline void QOpenGLExtraFunctions::glFramebufferTextureLayer(GLenum target, GLen { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->FramebufferTextureLayer(target, attachment, texture, level, layer); + d->f.FramebufferTextureLayer(target, attachment, texture, level, layer); Q_OPENGL_FUNCTIONS_DEBUG } @@ -851,7 +875,7 @@ inline void QOpenGLExtraFunctions::glGenQueries(GLsizei n, GLuint* ids) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GenQueries(n, ids); + d->f.GenQueries(n, ids); Q_OPENGL_FUNCTIONS_DEBUG } @@ -859,7 +883,7 @@ inline void QOpenGLExtraFunctions::glGenSamplers(GLsizei count, GLuint* samplers { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GenSamplers(count, samplers); + d->f.GenSamplers(count, samplers); Q_OPENGL_FUNCTIONS_DEBUG } @@ -867,7 +891,7 @@ inline void QOpenGLExtraFunctions::glGenTransformFeedbacks(GLsizei n, GLuint* id { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GenTransformFeedbacks(n, ids); + d->f.GenTransformFeedbacks(n, ids); Q_OPENGL_FUNCTIONS_DEBUG } @@ -875,7 +899,7 @@ inline void QOpenGLExtraFunctions::glGenVertexArrays(GLsizei n, GLuint* arrays) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GenVertexArrays(n, arrays); + d->f.GenVertexArrays(n, arrays); Q_OPENGL_FUNCTIONS_DEBUG } @@ -883,7 +907,7 @@ inline void QOpenGLExtraFunctions::glGetActiveUniformBlockName(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); + d->f.GetActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName); Q_OPENGL_FUNCTIONS_DEBUG } @@ -891,7 +915,7 @@ inline void QOpenGLExtraFunctions::glGetActiveUniformBlockiv(GLuint program, GLu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); + d->f.GetActiveUniformBlockiv(program, uniformBlockIndex, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -899,7 +923,7 @@ inline void QOpenGLExtraFunctions::glGetActiveUniformsiv(GLuint program, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); + d->f.GetActiveUniformsiv(program, uniformCount, uniformIndices, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -907,7 +931,7 @@ inline void QOpenGLExtraFunctions::glGetBufferParameteri64v(GLenum target, GLenu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetBufferParameteri64v(target, pname, params); + d->f.GetBufferParameteri64v(target, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -915,7 +939,7 @@ inline void QOpenGLExtraFunctions::glGetBufferPointerv(GLenum target, GLenum pna { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetBufferPointerv(target, pname, params); + d->f.GetBufferPointerv(target, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -923,7 +947,7 @@ inline GLint QOpenGLExtraFunctions::glGetFragDataLocation(GLuint program, const { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLint result = d->GetFragDataLocation(program, name); + GLint result = d->f.GetFragDataLocation(program, name); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -932,7 +956,7 @@ inline void QOpenGLExtraFunctions::glGetInteger64i_v(GLenum target, GLuint index { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetInteger64i_v(target, index, data); + d->f.GetInteger64i_v(target, index, data); Q_OPENGL_FUNCTIONS_DEBUG } @@ -940,7 +964,7 @@ inline void QOpenGLExtraFunctions::glGetInteger64v(GLenum pname, GLint64* data) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetInteger64v(pname, data); + d->f.GetInteger64v(pname, data); Q_OPENGL_FUNCTIONS_DEBUG } @@ -948,7 +972,7 @@ inline void QOpenGLExtraFunctions::glGetIntegeri_v(GLenum target, GLuint index, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetIntegeri_v(target, index, data); + d->f.GetIntegeri_v(target, index, data); Q_OPENGL_FUNCTIONS_DEBUG } @@ -956,7 +980,7 @@ inline void QOpenGLExtraFunctions::glGetInternalformativ(GLenum target, GLenum i { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetInternalformativ(target, internalformat, pname, bufSize, params); + d->f.GetInternalformativ(target, internalformat, pname, bufSize, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -964,7 +988,7 @@ inline void QOpenGLExtraFunctions::glGetProgramBinary(GLuint program, GLsizei bu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetProgramBinary(program, bufSize, length, binaryFormat, binary); + d->f.GetProgramBinary(program, bufSize, length, binaryFormat, binary); Q_OPENGL_FUNCTIONS_DEBUG } @@ -972,7 +996,7 @@ inline void QOpenGLExtraFunctions::glGetQueryObjectuiv(GLuint id, GLenum pname, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetQueryObjectuiv(id, pname, params); + d->f.GetQueryObjectuiv(id, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -980,7 +1004,7 @@ inline void QOpenGLExtraFunctions::glGetQueryiv(GLenum target, GLenum pname, GLi { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetQueryiv(target, pname, params); + d->f.GetQueryiv(target, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -988,7 +1012,7 @@ inline void QOpenGLExtraFunctions::glGetSamplerParameterfv(GLuint sampler, GLenu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetSamplerParameterfv(sampler, pname, params); + d->f.GetSamplerParameterfv(sampler, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -996,7 +1020,7 @@ inline void QOpenGLExtraFunctions::glGetSamplerParameteriv(GLuint sampler, GLenu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetSamplerParameteriv(sampler, pname, params); + d->f.GetSamplerParameteriv(sampler, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1004,7 +1028,7 @@ inline const GLubyte * QOpenGLExtraFunctions::glGetStringi(GLenum name, GLuint i { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - const GLubyte * result = d->GetStringi(name, index); + const GLubyte * result = d->f.GetStringi(name, index); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1013,7 +1037,7 @@ inline void QOpenGLExtraFunctions::glGetSynciv(GLsync sync, GLenum pname, GLsize { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetSynciv(sync, pname, bufSize, length, values); + d->f.GetSynciv(sync, pname, bufSize, length, values); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1021,7 +1045,7 @@ inline void QOpenGLExtraFunctions::glGetTransformFeedbackVarying(GLuint program, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); + d->f.GetTransformFeedbackVarying(program, index, bufSize, length, size, type, name); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1029,7 +1053,7 @@ inline GLuint QOpenGLExtraFunctions::glGetUniformBlockIndex(GLuint program, cons { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLuint result = d->GetUniformBlockIndex(program, uniformBlockName); + GLuint result = d->f.GetUniformBlockIndex(program, uniformBlockName); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1038,7 +1062,7 @@ inline void QOpenGLExtraFunctions::glGetUniformIndices(GLuint program, GLsizei u { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); + d->f.GetUniformIndices(program, uniformCount, uniformNames, uniformIndices); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1046,7 +1070,7 @@ inline void QOpenGLExtraFunctions::glGetUniformuiv(GLuint program, GLint locatio { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetUniformuiv(program, location, params); + d->f.GetUniformuiv(program, location, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1054,7 +1078,7 @@ inline void QOpenGLExtraFunctions::glGetVertexAttribIiv(GLuint index, GLenum pna { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetVertexAttribIiv(index, pname, params); + d->f.GetVertexAttribIiv(index, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1062,7 +1086,7 @@ inline void QOpenGLExtraFunctions::glGetVertexAttribIuiv(GLuint index, GLenum pn { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetVertexAttribIuiv(index, pname, params); + d->f.GetVertexAttribIuiv(index, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1070,7 +1094,7 @@ inline void QOpenGLExtraFunctions::glInvalidateFramebuffer(GLenum target, GLsize { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->InvalidateFramebuffer(target, numAttachments, attachments); + d->f.InvalidateFramebuffer(target, numAttachments, attachments); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1078,7 +1102,7 @@ inline void QOpenGLExtraFunctions::glInvalidateSubFramebuffer(GLenum target, GLs { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); + d->f.InvalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1086,7 +1110,7 @@ inline GLboolean QOpenGLExtraFunctions::glIsQuery(GLuint id) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLboolean result = d->IsQuery(id); + GLboolean result = d->f.IsQuery(id); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1095,7 +1119,7 @@ inline GLboolean QOpenGLExtraFunctions::glIsSampler(GLuint sampler) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLboolean result = d->IsSampler(sampler); + GLboolean result = d->f.IsSampler(sampler); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1104,7 +1128,7 @@ inline GLboolean QOpenGLExtraFunctions::glIsSync(GLsync sync) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLboolean result = d->IsSync(sync); + GLboolean result = d->f.IsSync(sync); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1113,7 +1137,7 @@ inline GLboolean QOpenGLExtraFunctions::glIsTransformFeedback(GLuint id) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLboolean result = d->IsTransformFeedback(id); + GLboolean result = d->f.IsTransformFeedback(id); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1122,7 +1146,7 @@ inline GLboolean QOpenGLExtraFunctions::glIsVertexArray(GLuint array) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLboolean result = d->IsVertexArray(array); + GLboolean result = d->f.IsVertexArray(array); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1131,7 +1155,7 @@ inline void * QOpenGLExtraFunctions::glMapBufferRange(GLenum target, GLintptr of { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - void *result = d->MapBufferRange(target, offset, length, access); + void *result = d->f.MapBufferRange(target, offset, length, access); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1140,7 +1164,7 @@ inline void QOpenGLExtraFunctions::glPauseTransformFeedback() { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->PauseTransformFeedback(); + d->f.PauseTransformFeedback(); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1148,7 +1172,7 @@ inline void QOpenGLExtraFunctions::glProgramBinary(GLuint program, GLenum binary { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramBinary(program, binaryFormat, binary, length); + d->f.ProgramBinary(program, binaryFormat, binary, length); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1156,7 +1180,7 @@ inline void QOpenGLExtraFunctions::glProgramParameteri(GLuint program, GLenum pn { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramParameteri(program, pname, value); + d->f.ProgramParameteri(program, pname, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1164,7 +1188,7 @@ inline void QOpenGLExtraFunctions::glReadBuffer(GLenum src) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ReadBuffer(src); + d->f.ReadBuffer(src); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1172,7 +1196,7 @@ inline void QOpenGLExtraFunctions::glRenderbufferStorageMultisample(GLenum targe { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->RenderbufferStorageMultisample(target, samples, internalformat, width, height); + d->f.RenderbufferStorageMultisample(target, samples, internalformat, width, height); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1180,7 +1204,7 @@ inline void QOpenGLExtraFunctions::glResumeTransformFeedback() { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ResumeTransformFeedback(); + d->f.ResumeTransformFeedback(); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1188,7 +1212,7 @@ inline void QOpenGLExtraFunctions::glSamplerParameterf(GLuint sampler, GLenum pn { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->SamplerParameterf(sampler, pname, param); + d->f.SamplerParameterf(sampler, pname, param); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1196,7 +1220,7 @@ inline void QOpenGLExtraFunctions::glSamplerParameterfv(GLuint sampler, GLenum p { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->SamplerParameterfv(sampler, pname, param); + d->f.SamplerParameterfv(sampler, pname, param); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1204,7 +1228,7 @@ inline void QOpenGLExtraFunctions::glSamplerParameteri(GLuint sampler, GLenum pn { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->SamplerParameteri(sampler, pname, param); + d->f.SamplerParameteri(sampler, pname, param); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1212,7 +1236,7 @@ inline void QOpenGLExtraFunctions::glSamplerParameteriv(GLuint sampler, GLenum p { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->SamplerParameteriv(sampler, pname, param); + d->f.SamplerParameteriv(sampler, pname, param); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1220,7 +1244,7 @@ inline void QOpenGLExtraFunctions::glTexImage3D(GLenum target, GLint level, GLin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); + d->f.TexImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1228,7 +1252,7 @@ inline void QOpenGLExtraFunctions::glTexStorage2D(GLenum target, GLsizei levels, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->TexStorage2D(target, levels, internalformat, width, height); + d->f.TexStorage2D(target, levels, internalformat, width, height); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1236,7 +1260,7 @@ inline void QOpenGLExtraFunctions::glTexStorage3D(GLenum target, GLsizei levels, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->TexStorage3D(target, levels, internalformat, width, height, depth); + d->f.TexStorage3D(target, levels, internalformat, width, height, depth); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1244,7 +1268,7 @@ inline void QOpenGLExtraFunctions::glTexSubImage3D(GLenum target, GLint level, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); + d->f.TexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1252,7 +1276,7 @@ inline void QOpenGLExtraFunctions::glTransformFeedbackVaryings(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->TransformFeedbackVaryings(program, count, varyings, bufferMode); + d->f.TransformFeedbackVaryings(program, count, varyings, bufferMode); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1260,7 +1284,7 @@ inline void QOpenGLExtraFunctions::glUniform1ui(GLint location, GLuint v0) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform1ui(location, v0); + d->f.Uniform1ui(location, v0); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1268,7 +1292,7 @@ inline void QOpenGLExtraFunctions::glUniform1uiv(GLint location, GLsizei count, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform1uiv(location, count, value); + d->f.Uniform1uiv(location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1276,7 +1300,7 @@ inline void QOpenGLExtraFunctions::glUniform2ui(GLint location, GLuint v0, GLuin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform2ui(location, v0, v1); + d->f.Uniform2ui(location, v0, v1); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1284,7 +1308,7 @@ inline void QOpenGLExtraFunctions::glUniform2uiv(GLint location, GLsizei count, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform2uiv(location, count, value); + d->f.Uniform2uiv(location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1292,7 +1316,7 @@ inline void QOpenGLExtraFunctions::glUniform3ui(GLint location, GLuint v0, GLuin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform3ui(location, v0, v1, v2); + d->f.Uniform3ui(location, v0, v1, v2); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1300,7 +1324,7 @@ inline void QOpenGLExtraFunctions::glUniform3uiv(GLint location, GLsizei count, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform3uiv(location, count, value); + d->f.Uniform3uiv(location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1308,7 +1332,7 @@ inline void QOpenGLExtraFunctions::glUniform4ui(GLint location, GLuint v0, GLuin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform4ui(location, v0, v1, v2, v3); + d->f.Uniform4ui(location, v0, v1, v2, v3); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1316,7 +1340,7 @@ inline void QOpenGLExtraFunctions::glUniform4uiv(GLint location, GLsizei count, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->Uniform4uiv(location, count, value); + d->f.Uniform4uiv(location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1324,7 +1348,7 @@ inline void QOpenGLExtraFunctions::glUniformBlockBinding(GLuint program, GLuint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); + d->f.UniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1332,7 +1356,7 @@ inline void QOpenGLExtraFunctions::glUniformMatrix2x3fv(GLint location, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UniformMatrix2x3fv(location, count, transpose, value); + d->f.UniformMatrix2x3fv(location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1340,7 +1364,7 @@ inline void QOpenGLExtraFunctions::glUniformMatrix2x4fv(GLint location, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UniformMatrix2x4fv(location, count, transpose, value); + d->f.UniformMatrix2x4fv(location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1348,7 +1372,7 @@ inline void QOpenGLExtraFunctions::glUniformMatrix3x2fv(GLint location, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UniformMatrix3x2fv(location, count, transpose, value); + d->f.UniformMatrix3x2fv(location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1356,7 +1380,7 @@ inline void QOpenGLExtraFunctions::glUniformMatrix3x4fv(GLint location, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UniformMatrix3x4fv(location, count, transpose, value); + d->f.UniformMatrix3x4fv(location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1364,7 +1388,7 @@ inline void QOpenGLExtraFunctions::glUniformMatrix4x2fv(GLint location, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UniformMatrix4x2fv(location, count, transpose, value); + d->f.UniformMatrix4x2fv(location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1372,7 +1396,7 @@ inline void QOpenGLExtraFunctions::glUniformMatrix4x3fv(GLint location, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UniformMatrix4x3fv(location, count, transpose, value); + d->f.UniformMatrix4x3fv(location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1380,7 +1404,7 @@ inline GLboolean QOpenGLExtraFunctions::glUnmapBuffer(GLenum target) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLboolean result = d->UnmapBuffer(target); + GLboolean result = d->f.UnmapBuffer(target); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1389,7 +1413,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribDivisor(GLuint index, GLuint di { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribDivisor(index, divisor); + d->f.VertexAttribDivisor(index, divisor); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1397,7 +1421,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribI4i(GLuint index, GLint x, GLin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribI4i(index, x, y, z, w); + d->f.VertexAttribI4i(index, x, y, z, w); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1405,7 +1429,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribI4iv(GLuint index, const GLint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribI4iv(index, v); + d->f.VertexAttribI4iv(index, v); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1413,7 +1437,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribI4ui(GLuint index, GLuint x, GL { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribI4ui(index, x, y, z, w); + d->f.VertexAttribI4ui(index, x, y, z, w); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1421,7 +1445,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribI4uiv(GLuint index, const GLuin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribI4uiv(index, v); + d->f.VertexAttribI4uiv(index, v); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1429,7 +1453,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribIPointer(GLuint index, GLint si { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribIPointer(index, size, type, stride, pointer); + d->f.VertexAttribIPointer(index, size, type, stride, pointer); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1437,7 +1461,7 @@ inline void QOpenGLExtraFunctions::glWaitSync(GLsync sync, GLbitfield flags, GLu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->WaitSync(sync, flags, timeout); + d->f.WaitSync(sync, flags, timeout); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1445,7 +1469,7 @@ inline void QOpenGLExtraFunctions::glActiveShaderProgram(GLuint pipeline, GLuint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ActiveShaderProgram(pipeline, program); + d->f.ActiveShaderProgram(pipeline, program); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1453,7 +1477,7 @@ inline void QOpenGLExtraFunctions::glBindImageTexture(GLuint unit, GLuint textur { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindImageTexture(unit, texture, level, layered, layer, access, format); + d->f.BindImageTexture(unit, texture, level, layered, layer, access, format); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1461,7 +1485,7 @@ inline void QOpenGLExtraFunctions::glBindProgramPipeline(GLuint pipeline) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindProgramPipeline(pipeline); + d->f.BindProgramPipeline(pipeline); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1469,7 +1493,7 @@ inline void QOpenGLExtraFunctions::glBindVertexBuffer(GLuint bindingindex, GLuin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->BindVertexBuffer(bindingindex, buffer, offset, stride); + d->f.BindVertexBuffer(bindingindex, buffer, offset, stride); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1477,7 +1501,7 @@ inline GLuint QOpenGLExtraFunctions::glCreateShaderProgramv(GLenum type, GLsizei { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLuint result = d->CreateShaderProgramv(type, count, strings); + GLuint result = d->f.CreateShaderProgramv(type, count, strings); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1486,7 +1510,7 @@ inline void QOpenGLExtraFunctions::glDeleteProgramPipelines(GLsizei n, const GLu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DeleteProgramPipelines(n, pipelines); + d->f.DeleteProgramPipelines(n, pipelines); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1494,7 +1518,7 @@ inline void QOpenGLExtraFunctions::glDispatchCompute(GLuint num_groups_x, GLuint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DispatchCompute(num_groups_x, num_groups_y, num_groups_z); + d->f.DispatchCompute(num_groups_x, num_groups_y, num_groups_z); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1502,7 +1526,7 @@ inline void QOpenGLExtraFunctions::glDispatchComputeIndirect(GLintptr indirect) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DispatchComputeIndirect(indirect); + d->f.DispatchComputeIndirect(indirect); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1510,7 +1534,7 @@ inline void QOpenGLExtraFunctions::glDrawArraysIndirect(GLenum mode, const void { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DrawArraysIndirect(mode, indirect); + d->f.DrawArraysIndirect(mode, indirect); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1518,7 +1542,7 @@ inline void QOpenGLExtraFunctions::glDrawElementsIndirect(GLenum mode, GLenum ty { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->DrawElementsIndirect(mode, type, indirect); + d->f.DrawElementsIndirect(mode, type, indirect); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1526,7 +1550,7 @@ inline void QOpenGLExtraFunctions::glFramebufferParameteri(GLenum target, GLenum { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->FramebufferParameteri(target, pname, param); + d->f.FramebufferParameteri(target, pname, param); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1534,7 +1558,7 @@ inline void QOpenGLExtraFunctions::glGenProgramPipelines(GLsizei n, GLuint* pipe { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GenProgramPipelines(n, pipelines); + d->f.GenProgramPipelines(n, pipelines); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1542,7 +1566,7 @@ inline void QOpenGLExtraFunctions::glGetBooleani_v(GLenum target, GLuint index, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetBooleani_v(target, index, data); + d->f.GetBooleani_v(target, index, data); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1550,7 +1574,7 @@ inline void QOpenGLExtraFunctions::glGetFramebufferParameteriv(GLenum target, GL { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetFramebufferParameteriv(target, pname, params); + d->f.GetFramebufferParameteriv(target, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1558,7 +1582,7 @@ inline void QOpenGLExtraFunctions::glGetMultisamplefv(GLenum pname, GLuint index { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetMultisamplefv(pname, index, val); + d->f.GetMultisamplefv(pname, index, val); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1566,7 +1590,7 @@ inline void QOpenGLExtraFunctions::glGetProgramInterfaceiv(GLuint program, GLenu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetProgramInterfaceiv(program, programInterface, pname, params); + d->f.GetProgramInterfaceiv(program, programInterface, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1574,7 +1598,7 @@ inline void QOpenGLExtraFunctions::glGetProgramPipelineInfoLog(GLuint pipeline, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); + d->f.GetProgramPipelineInfoLog(pipeline, bufSize, length, infoLog); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1582,7 +1606,7 @@ inline void QOpenGLExtraFunctions::glGetProgramPipelineiv(GLuint pipeline, GLenu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetProgramPipelineiv(pipeline, pname, params); + d->f.GetProgramPipelineiv(pipeline, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1590,7 +1614,7 @@ inline GLuint QOpenGLExtraFunctions::glGetProgramResourceIndex(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLuint result = d->GetProgramResourceIndex(program, programInterface, name); + GLuint result = d->f.GetProgramResourceIndex(program, programInterface, name); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1599,7 +1623,7 @@ inline GLint QOpenGLExtraFunctions::glGetProgramResourceLocation(GLuint program, { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLint result = d->GetProgramResourceLocation(program, programInterface, name); + GLint result = d->f.GetProgramResourceLocation(program, programInterface, name); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1608,7 +1632,7 @@ inline void QOpenGLExtraFunctions::glGetProgramResourceName(GLuint program, GLen { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetProgramResourceName(program, programInterface, index, bufSize, length, name); + d->f.GetProgramResourceName(program, programInterface, index, bufSize, length, name); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1616,7 +1640,7 @@ inline void QOpenGLExtraFunctions::glGetProgramResourceiv(GLuint program, GLenum { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); + d->f.GetProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1624,7 +1648,7 @@ inline void QOpenGLExtraFunctions::glGetTexLevelParameterfv(GLenum target, GLint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetTexLevelParameterfv(target, level, pname, params); + d->f.GetTexLevelParameterfv(target, level, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1632,7 +1656,7 @@ inline void QOpenGLExtraFunctions::glGetTexLevelParameteriv(GLenum target, GLint { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->GetTexLevelParameteriv(target, level, pname, params); + d->f.GetTexLevelParameteriv(target, level, pname, params); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1640,7 +1664,7 @@ inline GLboolean QOpenGLExtraFunctions::glIsProgramPipeline(GLuint pipeline) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - GLboolean result = d->IsProgramPipeline(pipeline); + GLboolean result = d->f.IsProgramPipeline(pipeline); Q_OPENGL_FUNCTIONS_DEBUG return result; } @@ -1649,7 +1673,7 @@ inline void QOpenGLExtraFunctions::glMemoryBarrier(GLbitfield barriers) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->MemoryBarrierFunc(barriers); + d->f.MemoryBarrier(barriers); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1657,7 +1681,7 @@ inline void QOpenGLExtraFunctions::glMemoryBarrierByRegion(GLbitfield barriers) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->MemoryBarrierByRegion(barriers); + d->f.MemoryBarrierByRegion(barriers); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1665,7 +1689,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform1f(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform1f(program, location, v0); + d->f.ProgramUniform1f(program, location, v0); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1673,7 +1697,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform1fv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform1fv(program, location, count, value); + d->f.ProgramUniform1fv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1681,7 +1705,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform1i(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform1i(program, location, v0); + d->f.ProgramUniform1i(program, location, v0); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1689,7 +1713,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform1iv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform1iv(program, location, count, value); + d->f.ProgramUniform1iv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1697,7 +1721,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform1ui(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform1ui(program, location, v0); + d->f.ProgramUniform1ui(program, location, v0); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1705,7 +1729,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform1uiv(GLuint program, GLint lo { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform1uiv(program, location, count, value); + d->f.ProgramUniform1uiv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1713,7 +1737,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform2f(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform2f(program, location, v0, v1); + d->f.ProgramUniform2f(program, location, v0, v1); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1721,7 +1745,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform2fv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform2fv(program, location, count, value); + d->f.ProgramUniform2fv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1729,7 +1753,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform2i(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform2i(program, location, v0, v1); + d->f.ProgramUniform2i(program, location, v0, v1); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1737,7 +1761,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform2iv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform2iv(program, location, count, value); + d->f.ProgramUniform2iv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1745,7 +1769,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform2ui(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform2ui(program, location, v0, v1); + d->f.ProgramUniform2ui(program, location, v0, v1); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1753,7 +1777,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform2uiv(GLuint program, GLint lo { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform2uiv(program, location, count, value); + d->f.ProgramUniform2uiv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1761,7 +1785,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform3f(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform3f(program, location, v0, v1, v2); + d->f.ProgramUniform3f(program, location, v0, v1, v2); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1769,7 +1793,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform3fv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform3fv(program, location, count, value); + d->f.ProgramUniform3fv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1777,7 +1801,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform3i(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform3i(program, location, v0, v1, v2); + d->f.ProgramUniform3i(program, location, v0, v1, v2); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1785,7 +1809,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform3iv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform3iv(program, location, count, value); + d->f.ProgramUniform3iv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1793,7 +1817,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform3ui(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform3ui(program, location, v0, v1, v2); + d->f.ProgramUniform3ui(program, location, v0, v1, v2); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1801,7 +1825,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform3uiv(GLuint program, GLint lo { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform3uiv(program, location, count, value); + d->f.ProgramUniform3uiv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1809,7 +1833,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform4f(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform4f(program, location, v0, v1, v2, v3); + d->f.ProgramUniform4f(program, location, v0, v1, v2, v3); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1817,7 +1841,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform4fv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform4fv(program, location, count, value); + d->f.ProgramUniform4fv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1825,7 +1849,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform4i(GLuint program, GLint loca { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform4i(program, location, v0, v1, v2, v3); + d->f.ProgramUniform4i(program, location, v0, v1, v2, v3); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1833,7 +1857,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform4iv(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform4iv(program, location, count, value); + d->f.ProgramUniform4iv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1841,7 +1865,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform4ui(GLuint program, GLint loc { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform4ui(program, location, v0, v1, v2, v3); + d->f.ProgramUniform4ui(program, location, v0, v1, v2, v3); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1849,7 +1873,7 @@ inline void QOpenGLExtraFunctions::glProgramUniform4uiv(GLuint program, GLint lo { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniform4uiv(program, location, count, value); + d->f.ProgramUniform4uiv(program, location, count, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1857,7 +1881,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix2fv(GLuint program, GLi { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix2fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix2fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1865,7 +1889,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix2x3fv(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix2x3fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix2x3fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1873,7 +1897,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix2x4fv(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix2x4fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix2x4fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1881,7 +1905,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix3fv(GLuint program, GLi { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix3fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix3fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1889,7 +1913,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix3x2fv(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix3x2fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix3x2fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1897,7 +1921,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix3x4fv(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix3x4fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix3x4fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1905,7 +1929,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix4fv(GLuint program, GLi { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix4fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix4fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1913,7 +1937,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix4x2fv(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix4x2fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix4x2fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1921,7 +1945,7 @@ inline void QOpenGLExtraFunctions::glProgramUniformMatrix4x3fv(GLuint program, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ProgramUniformMatrix4x3fv(program, location, count, transpose, value); + d->f.ProgramUniformMatrix4x3fv(program, location, count, transpose, value); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1929,7 +1953,7 @@ inline void QOpenGLExtraFunctions::glSampleMaski(GLuint maskNumber, GLbitfield m { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->SampleMaski(maskNumber, mask); + d->f.SampleMaski(maskNumber, mask); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1937,7 +1961,7 @@ inline void QOpenGLExtraFunctions::glTexStorage2DMultisample(GLenum target, GLsi { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); + d->f.TexStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1945,7 +1969,7 @@ inline void QOpenGLExtraFunctions::glUseProgramStages(GLuint pipeline, GLbitfiel { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->UseProgramStages(pipeline, stages, program); + d->f.UseProgramStages(pipeline, stages, program); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1953,7 +1977,7 @@ inline void QOpenGLExtraFunctions::glValidateProgramPipeline(GLuint pipeline) { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->ValidateProgramPipeline(pipeline); + d->f.ValidateProgramPipeline(pipeline); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1961,7 +1985,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribBinding(GLuint attribindex, GLu { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribBinding(attribindex, bindingindex); + d->f.VertexAttribBinding(attribindex, bindingindex); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1969,7 +1993,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribFormat(GLuint attribindex, GLin { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); + d->f.VertexAttribFormat(attribindex, size, type, normalized, relativeoffset); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1977,7 +2001,7 @@ inline void QOpenGLExtraFunctions::glVertexAttribIFormat(GLuint attribindex, GLi { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexAttribIFormat(attribindex, size, type, relativeoffset); + d->f.VertexAttribIFormat(attribindex, size, type, relativeoffset); Q_OPENGL_FUNCTIONS_DEBUG } @@ -1985,12 +2009,20 @@ inline void QOpenGLExtraFunctions::glVertexBindingDivisor(GLuint bindingindex, G { Q_D(QOpenGLExtraFunctions); Q_ASSERT(QOpenGLExtraFunctions::isInitialized(d)); - d->VertexBindingDivisor(bindingindex, divisor); + d->f.VertexBindingDivisor(bindingindex, divisor); Q_OPENGL_FUNCTIONS_DEBUG } QT_END_NAMESPACE +#undef QT_OPENGL_DECLARE_FUNCTIONS +#undef QT_OPENGL_COUNT_FUNCTIONS +#undef QT_OPENGL_DECLARE + +#ifdef Q_OS_WIN +#pragma pop_macro("MemoryBarrier") +#endif + #endif // QT_NO_OPENGL #endif diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index a50a8be792..9cbfadc1ad 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -61,14 +61,13 @@ Q_LOGGING_CATEGORY(lcGLES3, "qt.opengl.es3") "gl"#name"\0" #define QT_OPENGL_FLAGS(ret, name, args) \ 0, -#define QT_OPENGL_IMPLEMENT_WITH_FLAGS(CLASS, FUNCTIONS) \ +#define QT_OPENGL_IMPLEMENT(CLASS, FUNCTIONS) \ void CLASS::init(QOpenGLContext *context) \ { \ - const int flags[] = { FUNCTIONS(QT_OPENGL_FLAGS) 0 }; \ const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \ const char *name = names; \ for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \ - functions[i] = ::getProcAddress(context, name, flags[i]); \ + functions[i] = QT_PREPEND_NAMESPACE(getProcAddress(context, name)); \ name += strlen(name) + 1; \ } \ } @@ -2107,7 +2106,7 @@ enum ResolvePolicy ResolveNV = 0x8 }; -static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName, int policy) +static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName, int policy = ResolveOES|ResolveEXT|ResolveANGLE|ResolveNV) { QFunctionPointer function = context->getProcAddress(funcName); @@ -2153,15 +2152,6 @@ Func resolve(QOpenGLContext *context, const char *name, int policy, Func) return reinterpret_cast(getProcAddress(context, name, policy)); } -template -Func resolveWithFallback(QOpenGLContext *context, const char *name, int policy, Func fallback) -{ - Func f = reinterpret_cast(getProcAddress(context, name, policy)); - if (!f) - f = fallback; - return f; -} - } #define RESOLVE(name, policy) \ @@ -2173,14 +2163,14 @@ Func resolveWithFallback(QOpenGLContext *context, const char *name, int policy, static void QOPENGLF_APIENTRY qopenglfSpecialClearDepthf(GLclampf depth) { QOpenGLContext *context = QOpenGLContext::currentContext(); - QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); + QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context); funcs->f.ClearDepth((GLdouble) depth); } static void QOPENGLF_APIENTRY qopenglfSpecialDepthRangef(GLclampf zNear, GLclampf zFar) { QOpenGLContext *context = QOpenGLContext::currentContext(); - QOpenGLFunctionsPrivateEx *funcs = qt_gl_functions(context); + QOpenGLFunctionsPrivate *funcs = qt_gl_functions(context); funcs->f.DepthRange((GLdouble) zNear, (GLdouble) zFar); } @@ -2230,7 +2220,7 @@ QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *c) } -QT_OPENGL_IMPLEMENT_WITH_FLAGS(QOpenGLFunctionsPrivate, QT_OPENGL_FUNCTIONS) +QT_OPENGL_IMPLEMENT(QOpenGLFunctionsPrivate, QT_OPENGL_FUNCTIONS) /*! \class QOpenGLExtraFunctions @@ -4522,185 +4512,11 @@ QOpenGLExtraFunctions::QOpenGLExtraFunctions(QOpenGLContext *context) QOpenGLExtraFunctionsPrivate::QOpenGLExtraFunctionsPrivate(QOpenGLContext *ctx) : QOpenGLFunctionsPrivate(ctx) { - QOpenGLContext *context = QOpenGLContext::currentContext(); - - // GLES 3.0 - ReadBuffer = RESOLVE(ReadBuffer, 0); - DrawRangeElements = RESOLVE(DrawRangeElements, 0); - TexImage3D = RESOLVE(TexImage3D, 0); - TexSubImage3D = RESOLVE(TexSubImage3D, 0); - CopyTexSubImage3D = RESOLVE(CopyTexSubImage3D, 0); - CompressedTexImage3D = RESOLVE(CompressedTexImage3D, 0); - CompressedTexSubImage3D = RESOLVE(CompressedTexSubImage3D, 0); - GenQueries = RESOLVE(GenQueries, 0); - DeleteQueries = RESOLVE(DeleteQueries, 0); - IsQuery = RESOLVE(IsQuery, 0); - BeginQuery = RESOLVE(BeginQuery, 0); - EndQuery = RESOLVE(EndQuery, 0); - GetQueryiv = RESOLVE(GetQueryiv, 0); - GetQueryObjectuiv = RESOLVE(GetQueryObjectuiv, 0); - UnmapBuffer = RESOLVE(UnmapBuffer, ResolveOES); - GetBufferPointerv = RESOLVE(GetBufferPointerv, 0); - DrawBuffers = RESOLVE(DrawBuffers, 0); - UniformMatrix2x3fv = RESOLVE(UniformMatrix2x3fv, 0); - UniformMatrix3x2fv = RESOLVE(UniformMatrix3x2fv, 0); - UniformMatrix2x4fv = RESOLVE(UniformMatrix2x4fv, 0); - UniformMatrix4x2fv = RESOLVE(UniformMatrix4x2fv, 0); - UniformMatrix3x4fv = RESOLVE(UniformMatrix3x4fv, 0); - UniformMatrix4x3fv = RESOLVE(UniformMatrix4x3fv, 0); - BlitFramebuffer = RESOLVE(BlitFramebuffer, ResolveEXT | ResolveANGLE | ResolveNV); - RenderbufferStorageMultisample = RESOLVE(RenderbufferStorageMultisample, ResolveEXT | ResolveANGLE | ResolveNV); - FramebufferTextureLayer = RESOLVE(FramebufferTextureLayer, 0); - MapBufferRange = RESOLVE(MapBufferRange, 0); - FlushMappedBufferRange = RESOLVE(FlushMappedBufferRange, 0); - BindVertexArray = RESOLVE(BindVertexArray, 0); - DeleteVertexArrays = RESOLVE(DeleteVertexArrays, 0); - GenVertexArrays = RESOLVE(GenVertexArrays, 0); - IsVertexArray = RESOLVE(IsVertexArray, 0); - GetIntegeri_v = RESOLVE(GetIntegeri_v, 0); - BeginTransformFeedback = RESOLVE(BeginTransformFeedback, 0); - EndTransformFeedback = RESOLVE(EndTransformFeedback, 0); - BindBufferRange = RESOLVE(BindBufferRange, 0); - BindBufferBase = RESOLVE(BindBufferBase, 0); - TransformFeedbackVaryings = RESOLVE(TransformFeedbackVaryings, 0); - GetTransformFeedbackVarying = RESOLVE(GetTransformFeedbackVarying, 0); - VertexAttribIPointer = RESOLVE(VertexAttribIPointer, 0); - GetVertexAttribIiv = RESOLVE(GetVertexAttribIiv, 0); - GetVertexAttribIuiv = RESOLVE(GetVertexAttribIuiv, 0); - VertexAttribI4i = RESOLVE(VertexAttribI4i, 0); - VertexAttribI4ui = RESOLVE(VertexAttribI4ui, 0); - VertexAttribI4iv = RESOLVE(VertexAttribI4iv, 0); - VertexAttribI4uiv = RESOLVE(VertexAttribI4uiv, 0); - GetUniformuiv = RESOLVE(GetUniformuiv, 0); - GetFragDataLocation = RESOLVE(GetFragDataLocation, 0); - Uniform1ui = RESOLVE(Uniform1ui, 0); - Uniform2ui = RESOLVE(Uniform2ui, 0); - Uniform3ui = RESOLVE(Uniform3ui, 0); - Uniform4ui = RESOLVE(Uniform4ui, 0); - Uniform1uiv = RESOLVE(Uniform1uiv, 0); - Uniform2uiv = RESOLVE(Uniform2uiv, 0); - Uniform3uiv = RESOLVE(Uniform3uiv, 0); - Uniform4uiv = RESOLVE(Uniform4uiv, 0); - ClearBufferiv = RESOLVE(ClearBufferiv, 0); - ClearBufferuiv = RESOLVE(ClearBufferuiv, 0); - ClearBufferfv = RESOLVE(ClearBufferfv, 0); - ClearBufferfi = RESOLVE(ClearBufferfi, 0); - GetStringi = RESOLVE(GetStringi, 0); - CopyBufferSubData = RESOLVE(CopyBufferSubData, 0); - GetUniformIndices = RESOLVE(GetUniformIndices, 0); - GetActiveUniformsiv = RESOLVE(GetActiveUniformsiv, 0); - GetUniformBlockIndex = RESOLVE(GetUniformBlockIndex, 0); - GetActiveUniformBlockiv = RESOLVE(GetActiveUniformBlockiv, 0); - GetActiveUniformBlockName = RESOLVE(GetActiveUniformBlockName, 0); - UniformBlockBinding = RESOLVE(UniformBlockBinding, 0); - DrawArraysInstanced = RESOLVE(DrawArraysInstanced, 0); - DrawElementsInstanced = RESOLVE(DrawElementsInstanced, 0); - FenceSync = RESOLVE(FenceSync, 0); - IsSync = RESOLVE(IsSync, 0); - DeleteSync = RESOLVE(DeleteSync, 0); - ClientWaitSync = RESOLVE(ClientWaitSync, 0); - WaitSync = RESOLVE(WaitSync, 0); - GetInteger64v = RESOLVE(GetInteger64v, 0); - GetSynciv = RESOLVE(GetSynciv, 0); - GetInteger64i_v = RESOLVE(GetInteger64i_v, 0); - GetBufferParameteri64v = RESOLVE(GetBufferParameteri64v, 0); - GenSamplers = RESOLVE(GenSamplers, 0); - DeleteSamplers = RESOLVE(DeleteSamplers, 0); - IsSampler = RESOLVE(IsSampler, 0); - BindSampler = RESOLVE(BindSampler, 0); - SamplerParameteri = RESOLVE(SamplerParameteri, 0); - SamplerParameteriv = RESOLVE(SamplerParameteriv, 0); - SamplerParameterf = RESOLVE(SamplerParameterf, 0); - SamplerParameterfv = RESOLVE(SamplerParameterfv, 0); - GetSamplerParameteriv = RESOLVE(GetSamplerParameteriv, 0); - GetSamplerParameterfv = RESOLVE(GetSamplerParameterfv, 0); - VertexAttribDivisor = RESOLVE(VertexAttribDivisor, 0); - BindTransformFeedback = RESOLVE(BindTransformFeedback, 0); - DeleteTransformFeedbacks = RESOLVE(DeleteTransformFeedbacks, 0); - GenTransformFeedbacks = RESOLVE(GenTransformFeedbacks, 0); - IsTransformFeedback = RESOLVE(IsTransformFeedback, 0); - PauseTransformFeedback = RESOLVE(PauseTransformFeedback, 0); - ResumeTransformFeedback = RESOLVE(ResumeTransformFeedback, 0); - GetProgramBinary = RESOLVE(GetProgramBinary, 0); - ProgramBinary = RESOLVE(ProgramBinary, 0); - ProgramParameteri = RESOLVE(ProgramParameteri, 0); - InvalidateFramebuffer = RESOLVE(InvalidateFramebuffer, 0); - InvalidateSubFramebuffer = RESOLVE(InvalidateSubFramebuffer, 0); - TexStorage2D = RESOLVE(TexStorage2D, 0); - TexStorage3D = RESOLVE(TexStorage3D, 0); - GetInternalformativ = RESOLVE(GetInternalformativ, 0); - - // GLES 3.1 - DispatchCompute = RESOLVE(DispatchCompute, 0); - DispatchComputeIndirect = RESOLVE(DispatchComputeIndirect, 0); - DrawArraysIndirect = RESOLVE(DrawArraysIndirect, 0); - DrawElementsIndirect = RESOLVE(DrawElementsIndirect, 0); - FramebufferParameteri = RESOLVE(FramebufferParameteri, 0); - GetFramebufferParameteriv = RESOLVE(GetFramebufferParameteriv, 0); - GetProgramInterfaceiv = RESOLVE(GetProgramInterfaceiv, 0); - GetProgramResourceIndex = RESOLVE(GetProgramResourceIndex, 0); - GetProgramResourceName = RESOLVE(GetProgramResourceName, 0); - GetProgramResourceiv = RESOLVE(GetProgramResourceiv, 0); - GetProgramResourceLocation = RESOLVE(GetProgramResourceLocation, 0); - UseProgramStages = RESOLVE(UseProgramStages, 0); - ActiveShaderProgram = RESOLVE(ActiveShaderProgram, 0); - CreateShaderProgramv = RESOLVE(CreateShaderProgramv, 0); - BindProgramPipeline = RESOLVE(BindProgramPipeline, 0); - DeleteProgramPipelines = RESOLVE(DeleteProgramPipelines, 0); - GenProgramPipelines = RESOLVE(GenProgramPipelines, 0); - IsProgramPipeline = RESOLVE(IsProgramPipeline, 0); - GetProgramPipelineiv = RESOLVE(GetProgramPipelineiv, 0); - ProgramUniform1i = RESOLVE(ProgramUniform1i, 0); - ProgramUniform2i = RESOLVE(ProgramUniform2i, 0); - ProgramUniform3i = RESOLVE(ProgramUniform3i, 0); - ProgramUniform4i = RESOLVE(ProgramUniform4i, 0); - ProgramUniform1ui = RESOLVE(ProgramUniform1ui, 0); - ProgramUniform2ui = RESOLVE(ProgramUniform2ui, 0); - ProgramUniform3ui = RESOLVE(ProgramUniform3ui, 0); - ProgramUniform4ui = RESOLVE(ProgramUniform4ui, 0); - ProgramUniform1f = RESOLVE(ProgramUniform1f, 0); - ProgramUniform2f = RESOLVE(ProgramUniform2f, 0); - ProgramUniform3f = RESOLVE(ProgramUniform3f, 0); - ProgramUniform4f = RESOLVE(ProgramUniform4f, 0); - ProgramUniform1iv = RESOLVE(ProgramUniform1iv, 0); - ProgramUniform2iv = RESOLVE(ProgramUniform2iv, 0); - ProgramUniform3iv = RESOLVE(ProgramUniform3iv, 0); - ProgramUniform4iv = RESOLVE(ProgramUniform4iv, 0); - ProgramUniform1uiv = RESOLVE(ProgramUniform1uiv, 0); - ProgramUniform2uiv = RESOLVE(ProgramUniform2uiv, 0); - ProgramUniform3uiv = RESOLVE(ProgramUniform3uiv, 0); - ProgramUniform4uiv = RESOLVE(ProgramUniform4uiv, 0); - ProgramUniform1fv = RESOLVE(ProgramUniform1fv, 0); - ProgramUniform2fv = RESOLVE(ProgramUniform2fv, 0); - ProgramUniform3fv = RESOLVE(ProgramUniform3fv, 0); - ProgramUniform4fv = RESOLVE(ProgramUniform4fv, 0); - ProgramUniformMatrix2fv = RESOLVE(ProgramUniformMatrix2fv, 0); - ProgramUniformMatrix3fv = RESOLVE(ProgramUniformMatrix3fv, 0); - ProgramUniformMatrix4fv = RESOLVE(ProgramUniformMatrix4fv, 0); - ProgramUniformMatrix2x3fv = RESOLVE(ProgramUniformMatrix2x3fv, 0); - ProgramUniformMatrix3x2fv = RESOLVE(ProgramUniformMatrix3x2fv, 0); - ProgramUniformMatrix2x4fv = RESOLVE(ProgramUniformMatrix2x4fv, 0); - ProgramUniformMatrix4x2fv = RESOLVE(ProgramUniformMatrix4x2fv, 0); - ProgramUniformMatrix3x4fv = RESOLVE(ProgramUniformMatrix3x4fv, 0); - ProgramUniformMatrix4x3fv = RESOLVE(ProgramUniformMatrix4x3fv, 0); - ValidateProgramPipeline = RESOLVE(ValidateProgramPipeline, 0); - GetProgramPipelineInfoLog = RESOLVE(GetProgramPipelineInfoLog, 0); - BindImageTexture = RESOLVE(BindImageTexture, 0); - GetBooleani_v = RESOLVE(GetBooleani_v, 0); - MemoryBarrier = RESOLVE(MemoryBarrier, 0); - MemoryBarrierByRegion = RESOLVE(MemoryBarrierByRegion, 0); - TexStorage2DMultisample = RESOLVE(TexStorage2DMultisample, 0); - GetMultisamplefv = RESOLVE(GetMultisamplefv, 0); - SampleMaski = RESOLVE(SampleMaski, 0); - GetTexLevelParameteriv = RESOLVE(GetTexLevelParameteriv, 0); - GetTexLevelParameterfv = RESOLVE(GetTexLevelParameterfv, 0); - BindVertexBuffer = RESOLVE(BindVertexBuffer, 0); - VertexAttribFormat = RESOLVE(VertexAttribFormat, 0); - VertexAttribIFormat = RESOLVE(VertexAttribIFormat, 0); - VertexAttribBinding = RESOLVE(VertexAttribBinding, 0); - VertexBindingDivisor = RESOLVE(VertexBindingDivisor, 0); + init(ctx); } +QT_OPENGL_IMPLEMENT(QOpenGLExtraFunctionsPrivate, QT_OPENGL_EXTRA_FUNCTIONS) + QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx) : QOpenGLExtraFunctionsPrivate(ctx), flushVendorChecked(false) diff --git a/src/gui/opengl/qopengltexturehelper.cpp b/src/gui/opengl/qopengltexturehelper.cpp index ff848db0b9..23e5ef6579 100644 --- a/src/gui/opengl/qopengltexturehelper.cpp +++ b/src/gui/opengl/qopengltexturehelper.cpp @@ -185,8 +185,8 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) if (ctx->format().majorVersion() >= 3) { // OpenGL ES 3.0+ has immutable storage for 2D and 3D at least. QOpenGLExtraFunctionsPrivate *extra = static_cast(context->extraFunctions())->d(); - TexStorage3D = extra->TexStorage3D; - TexStorage2D = extra->TexStorage2D; + TexStorage3D = extra->f.TexStorage3D; + TexStorage2D = extra->f.TexStorage2D; } else { TexStorage3D = 0; TexStorage2D = 0; @@ -211,10 +211,10 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) if (ctx->isOpenGLES() && ctx->format().majorVersion() >= 3) { // OpenGL ES 3.0+ has glTexImage3D. QOpenGLExtraFunctionsPrivate *extra = static_cast(context->extraFunctions())->d(); - TexImage3D = extra->TexImage3D; - TexSubImage3D = extra->TexSubImage3D; - CompressedTexImage3D = extra->CompressedTexImage3D; - CompressedTexSubImage3D = extra->CompressedTexSubImage3D; + TexImage3D = extra->f.TexImage3D; + TexSubImage3D = extra->f.TexSubImage3D; + CompressedTexImage3D = extra->f.CompressedTexImage3D; + CompressedTexSubImage3D = extra->f.CompressedTexSubImage3D; } else { // OpenGL 1.2 TexImage3D = reinterpret_cast(context->getProcAddress("glTexImage3D")); diff --git a/src/gui/opengl/qopenglvertexarrayobject.cpp b/src/gui/opengl/qopenglvertexarrayobject.cpp index fc2be598e9..6753064a60 100644 --- a/src/gui/opengl/qopenglvertexarrayobject.cpp +++ b/src/gui/opengl/qopenglvertexarrayobject.cpp @@ -64,10 +64,10 @@ void qtInitializeVertexArrayObjectHelper(QOpenGLVertexArrayObjectHelper *helper, if (context->isOpenGLES()) { if (context->format().majorVersion() >= 3) { QOpenGLExtraFunctionsPrivate *extra = static_cast(context->extraFunctions())->d(); - helper->GenVertexArrays = extra->GenVertexArrays; - helper->DeleteVertexArrays = extra->DeleteVertexArrays; - helper->BindVertexArray = extra->BindVertexArray; - helper->IsVertexArray = extra->IsVertexArray; + helper->GenVertexArrays = extra->f.GenVertexArrays; + helper->DeleteVertexArrays = extra->f.DeleteVertexArrays; + helper->BindVertexArray = extra->f.BindVertexArray; + helper->IsVertexArray = extra->f.IsVertexArray; tryARB = false; } else if (context->hasExtension(QByteArrayLiteral("GL_OES_vertex_array_object"))) { helper->GenVertexArrays = reinterpret_cast(context->getProcAddress("glGenVertexArraysOES")); -- cgit v1.2.3 From 35405858a345be2682c80356301a1019011e154a Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 3 Feb 2016 09:23:48 +0100 Subject: Cleanups Remove the different flags when trying to resolve opengl functions. Rather we simply try hard to find a matching method by resolving over possible suffixes when we can't find the standard name. Change-Id: Ic73085faec3bd406f5214ed4219eb7b796651d8d Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopenglfunctions.cpp | 66 +++++++++++++++---------------------- 1 file changed, 27 insertions(+), 39 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index 9cbfadc1ad..5b728c9b8d 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -2098,48 +2098,36 @@ void QOpenGLFunctions::initializeOpenGLFunctions() namespace { -enum ResolvePolicy -{ - ResolveOES = 0x1, - ResolveEXT = 0x2, - ResolveANGLE = 0x4, - ResolveNV = 0x8 -}; - -static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName, int policy = ResolveOES|ResolveEXT|ResolveANGLE|ResolveNV) +// this function tries hard to get the opengl function we're looking for by also +// trying to resolve it with some of the common extensions if the generic name +// can't be found. +static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *funcName) { QFunctionPointer function = context->getProcAddress(funcName); - if (!function && policy) { + static const struct { + const char *name; + int len; // includes trailing \0 + } extensions[] = { + { "ARB", 4 }, + { "OES", 4 }, + { "EXT", 4 }, + { "ANGLE", 6 }, + { "NV", 3 }, + }; + + if (!function) { char fn[512]; size_t size = strlen(funcName); Q_ASSERT(size < 500); memcpy(fn, funcName, size); - char *ext = fn + size; - if (!function && (policy & ResolveOES)) { - memcpy(ext, "OES", 4); - function = context->getProcAddress(fn); - } - - if (!function) { - memcpy(ext, "ARB", 4); - function = context->getProcAddress(fn); - } - - if (!function && (policy & ResolveEXT)) { - memcpy(ext, "EXT", 4); - function = context->getProcAddress(fn); - } - - if (!function && (policy & ResolveANGLE)) { - memcpy(ext, "ANGLE", 6); - function = context->getProcAddress(fn); - } - if (!function && (policy & ResolveNV)) { - memcpy(ext, "NV", 3); + for (const auto &e : extensions) { + memcpy(ext, e.name, e.len); function = context->getProcAddress(fn); + if (function) + break; } } @@ -2147,15 +2135,15 @@ static QFunctionPointer getProcAddress(QOpenGLContext *context, const char *func } template -Func resolve(QOpenGLContext *context, const char *name, int policy, Func) +Func resolve(QOpenGLContext *context, const char *name, Func) { - return reinterpret_cast(getProcAddress(context, name, policy)); + return reinterpret_cast(getProcAddress(context, name)); } } -#define RESOLVE(name, policy) \ - resolve(context, "gl"#name, policy, name) +#define RESOLVE(name) \ + resolve(context, "gl"#name, name) #ifndef QT_OPENGL_ES_2 @@ -4523,9 +4511,9 @@ QOpenGLExtensionsPrivate::QOpenGLExtensionsPrivate(QOpenGLContext *ctx) { QOpenGLContext *context = QOpenGLContext::currentContext(); - MapBuffer = RESOLVE(MapBuffer, ResolveOES); - GetBufferSubData = RESOLVE(GetBufferSubData, ResolveEXT); - DiscardFramebuffer = RESOLVE(DiscardFramebuffer, ResolveEXT); + MapBuffer = RESOLVE(MapBuffer); + GetBufferSubData = RESOLVE(GetBufferSubData); + DiscardFramebuffer = RESOLVE(DiscardFramebuffer); } void QOpenGLExtensions::flushShared() -- cgit v1.2.3 From e6b8d742a71ce5703d29cb278e311b7a66b4e4da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 29 Feb 2016 14:36:38 +0100 Subject: Fix detectProcessorFeatures() fallback path on ARM MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ifcad547caf2d2a7ad7aa1ccb4fbed08810905cee Reviewed-by: Oswald Buddenhagen Reviewed-by: Erik Verbruggen Reviewed-by: Tor Arne Vestbø --- src/corelib/tools/qsimd.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index f2caaaa538..88208d0c9d 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -167,10 +167,10 @@ static inline quint64 detectProcessorFeatures() #endif #if defined(__ARM_NEON__) - features = Q_UINT64_C(1) << CpuFeatureNEON; + features |= Q_UINT64_C(1) << CpuFeatureNEON; #endif #if defined(__ARM_FEATURE_CRC32) - features = Q_UINT64_C(1) << CpuFeatureCRC32; + features |= Q_UINT64_C(1) << CpuFeatureCRC32; #endif return features; -- cgit v1.2.3 From 4d0672ed42b802b2705ebc33493fb980bd5da3ab Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Mon, 14 Sep 2015 15:53:13 +0300 Subject: Integrate network sockets into the multichannel infrastructure Change-Id: I96974a7460c29b46cae8a28aadb3e50cdcdb7beb Reviewed-by: Oswald Buddenhagen Reviewed-by: Allan Sandfeld Jensen Reviewed-by: Markus Goetz (Woboq GmbH) --- src/network/socket/qabstractsocket.cpp | 61 +++++++++++++++++++----- src/network/socket/qabstractsocket_p.h | 3 -- src/network/socket/qabstractsocketengine.cpp | 12 +++++ src/network/socket/qabstractsocketengine_p.h | 4 ++ src/network/socket/qhttpsocketengine.cpp | 1 + src/network/socket/qnativesocketengine.cpp | 1 + src/network/socket/qnativesocketengine_unix.cpp | 9 ++-- src/network/socket/qnativesocketengine_win.cpp | 2 + src/network/socket/qnativesocketengine_winrt.cpp | 4 ++ src/network/socket/qsocks5socketengine.cpp | 3 ++ src/network/ssl/qsslsocket.cpp | 32 +++++++++++++ src/network/ssl/qsslsocket.h | 2 + src/network/ssl/qsslsocket_mac.cpp | 2 + src/network/ssl/qsslsocket_openssl.cpp | 2 + src/network/ssl/qsslsocket_p.h | 2 + src/network/ssl/qsslsocket_winrt.cpp | 2 + 16 files changed, 123 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 933807cbe6..c4bc46a630 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -562,7 +562,6 @@ QAbstractSocketPrivate::QAbstractSocketPrivate() socketEngine(0), cachedSocketDescriptor(-1), readBufferMaxSize(0), - writeBuffer(QABSTRACTSOCKET_BUFFERSIZE), isBuffered(false), connectTimer(0), disconnectTimer(0), @@ -572,6 +571,7 @@ QAbstractSocketPrivate::QAbstractSocketPrivate() socketError(QAbstractSocket::UnknownSocketError), preferredNetworkLayerProtocol(QAbstractSocket::UnknownNetworkLayerProtocol) { + writeBufferChunkSize = QABSTRACTSOCKET_BUFFERSIZE; } /*! \internal @@ -860,15 +860,16 @@ bool QAbstractSocketPrivate::writeToSocket() written); #endif - // Remove what we wrote so far. - writeBuffer.free(written); if (written > 0) { + // Remove what we wrote so far. + writeBuffer.free(written); // Don't emit bytesWritten() recursively. if (!emittedBytesWritten) { QScopedValueRollback r(emittedBytesWritten); emittedBytesWritten = true; emit q->bytesWritten(written); } + emit q->channelBytesWritten(0, written); } if (writeBuffer.isEmpty() && socketEngine && socketEngine->isWriteNotificationEnabled() @@ -1295,6 +1296,7 @@ void QAbstractSocketPrivate::emitReadyRead() emittedReadyRead = true; emit q->readyRead(); } + emit q->channelReadyRead(0); } /*! \internal @@ -1307,6 +1309,18 @@ void QAbstractSocketPrivate::fetchConnectionParameters() peerName = hostName; if (socketEngine) { + if (q->isReadable()) { + const int inboundStreamCount = socketEngine->inboundStreamCount(); + setReadChannelCount(qMax(1, inboundStreamCount)); + if (inboundStreamCount == 0) + readChannelCount = 0; + } + if (q->isWritable()) { + const int outboundStreamCount = socketEngine->outboundStreamCount(); + setWriteChannelCount(qMax(1, outboundStreamCount)); + if (outboundStreamCount == 0) + writeChannelCount = 0; + } socketEngine->setReadNotificationEnabled(true); socketEngine->setWriteNotificationEnabled(true); localPort = socketEngine->localPort(); @@ -1629,8 +1643,8 @@ void QAbstractSocket::connectToHost(const QString &hostName, quint16 port, d->preferredNetworkLayerProtocol = protocol; d->hostName = hostName; d->port = port; - d->buffer.clear(); - d->writeBuffer.clear(); + d->setReadChannelCount(0); + d->setWriteChannelCount(0); d->abortCalled = false; d->pendingClose = false; if (d->state != BoundState) { @@ -1663,6 +1677,8 @@ void QAbstractSocket::connectToHost(const QString &hostName, quint16 port, openMode |= QAbstractSocket::Unbuffered; // QUdpSocket QIODevice::open(openMode); + d->readChannelCount = d->writeChannelCount = 0; + d->state = HostLookupState; emit stateChanged(d->state); @@ -1725,11 +1741,11 @@ void QAbstractSocket::connectToHost(const QHostAddress &address, quint16 port, */ qint64 QAbstractSocket::bytesToWrite() const { - Q_D(const QAbstractSocket); + const qint64 pendingBytes = QIODevice::bytesToWrite(); #if defined(QABSTRACTSOCKET_DEBUG) - qDebug("QAbstractSocket::bytesToWrite() == %lld", d->writeBuffer.size()); + qDebug("QAbstractSocket::bytesToWrite() == %lld", pendingBytes); #endif - return d->writeBuffer.size(); + return pendingBytes; } /*! @@ -1868,8 +1884,8 @@ bool QAbstractSocket::setSocketDescriptor(qintptr socketDescriptor, SocketState Q_D(QAbstractSocket); d->resetSocketLayer(); - d->writeBuffer.clear(); - d->buffer.clear(); + d->setReadChannelCount(0); + d->setWriteChannelCount(0); d->socketEngine = QAbstractSocketEngine::createSocketEngine(socketDescriptor, this); if (!d->socketEngine) { d->setError(UnsupportedSocketOperationError, tr("Operation on socket is not supported")); @@ -1890,6 +1906,23 @@ bool QAbstractSocket::setSocketDescriptor(qintptr socketDescriptor, SocketState QIODevice::open(openMode); + if (socketState == ConnectedState) { + if (isReadable()) { + const int inboundStreamCount = d->socketEngine->inboundStreamCount(); + d->setReadChannelCount(qMax(1, inboundStreamCount)); + if (inboundStreamCount == 0) + d->readChannelCount = 0; + } + if (isWritable()) { + const int outboundStreamCount = d->socketEngine->outboundStreamCount(); + d->setWriteChannelCount(qMax(1, outboundStreamCount)); + if (outboundStreamCount == 0) + d->writeChannelCount = 0; + } + } else { + d->readChannelCount = d->writeChannelCount = 0; + } + if (d->state != socketState) { d->state = socketState; emit stateChanged(d->state); @@ -2337,7 +2370,7 @@ void QAbstractSocket::abort() #if defined (QABSTRACTSOCKET_DEBUG) qDebug("QAbstractSocket::abort()"); #endif - d->writeBuffer.clear(); + d->setWriteChannelCount(0); if (d->state == UnconnectedState) return; #ifndef QT_NO_SSL @@ -2489,8 +2522,10 @@ qint64 QAbstractSocket::writeData(const char *data, qint64 size) qt_prettyDebug(data, qMin((int)size, 32), size).data(), size, written); #endif - if (written >= 0) + if (written >= 0) { emit bytesWritten(written); + emit channelBytesWritten(0, written); + } return written; } @@ -2741,7 +2776,7 @@ void QAbstractSocket::disconnectFromHost() d->peerPort = 0; d->localAddress.clear(); d->peerAddress.clear(); - d->writeBuffer.clear(); + d->setWriteChannelCount(0); #if defined(QABSTRACTSOCKET_DEBUG) qDebug("QAbstractSocket::disconnectFromHost() disconnected!"); diff --git a/src/network/socket/qabstractsocket_p.h b/src/network/socket/qabstractsocket_p.h index 7b911b450e..b718c21ff5 100644 --- a/src/network/socket/qabstractsocket_p.h +++ b/src/network/socket/qabstractsocket_p.h @@ -55,7 +55,6 @@ #include "QtCore/qbytearray.h" #include "QtCore/qlist.h" #include "QtCore/qtimer.h" -#include "private/qringbuffer_p.h" #include "private/qiodevice_p.h" #include "private/qabstractsocketengine_p.h" #include "qnetworkproxy.h" @@ -144,8 +143,6 @@ public: void setErrorAndEmit(QAbstractSocket::SocketError errorCode, const QString &errorString); qint64 readBufferMaxSize; - QRingBuffer writeBuffer; - bool isBuffered; QTimer *connectTimer; diff --git a/src/network/socket/qabstractsocketengine.cpp b/src/network/socket/qabstractsocketengine.cpp index d40a3a64a7..3fffff6d5a 100644 --- a/src/network/socket/qabstractsocketengine.cpp +++ b/src/network/socket/qabstractsocketengine.cpp @@ -83,6 +83,8 @@ QAbstractSocketEnginePrivate::QAbstractSocketEnginePrivate() , socketProtocol(QAbstractSocket::UnknownNetworkLayerProtocol) , localPort(0) , peerPort(0) + , inboundStreamCount(0) + , outboundStreamCount(0) , receiver(0) { } @@ -261,4 +263,14 @@ void QAbstractSocketEngine::setPeerPort(quint16 port) d_func()->peerPort = port; } +int QAbstractSocketEngine::inboundStreamCount() const +{ + return d_func()->inboundStreamCount; +} + +int QAbstractSocketEngine::outboundStreamCount() const +{ + return d_func()->outboundStreamCount; +} + QT_END_NAMESPACE diff --git a/src/network/socket/qabstractsocketengine_p.h b/src/network/socket/qabstractsocketengine_p.h index 945e205cfb..0073a8b1f2 100644 --- a/src/network/socket/qabstractsocketengine_p.h +++ b/src/network/socket/qabstractsocketengine_p.h @@ -174,6 +174,8 @@ public: quint16 localPort() const; QHostAddress peerAddress() const; quint16 peerPort() const; + int inboundStreamCount() const; + int outboundStreamCount() const; virtual bool isReadNotificationEnabled() const = 0; virtual void setReadNotificationEnabled(bool enable) = 0; @@ -227,6 +229,8 @@ public: quint16 localPort; QHostAddress peerAddress; quint16 peerPort; + int inboundStreamCount; + int outboundStreamCount; QAbstractSocketEngineReceiver *receiver; }; diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp index 942d19c1b3..fa9c5909e0 100644 --- a/src/network/socket/qhttpsocketengine.cpp +++ b/src/network/socket/qhttpsocketengine.cpp @@ -576,6 +576,7 @@ void QHttpSocketEngine::slotSocketReadNotification() d->state = Connected; setLocalAddress(d->socket->localAddress()); setLocalPort(d->socket->localPort()); + d->inboundStreamCount = d->outboundStreamCount = 1; setState(QAbstractSocket::ConnectedState); d->authenticator.detach(); priv = QAuthenticatorPrivate::getPrivate(d->authenticator); diff --git a/src/network/socket/qnativesocketengine.cpp b/src/network/socket/qnativesocketengine.cpp index eefc0792aa..4063a225fb 100644 --- a/src/network/socket/qnativesocketengine.cpp +++ b/src/network/socket/qnativesocketengine.cpp @@ -922,6 +922,7 @@ void QNativeSocketEngine::close() d->localAddress.clear(); d->peerPort = 0; d->peerAddress.clear(); + d->inboundStreamCount = d->outboundStreamCount = 0; if (d->readNotifier) { qDeleteInEventHandler(d->readNotifier); d->readNotifier = 0; diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp index 1a3e2a5cae..de091753d2 100644 --- a/src/network/socket/qnativesocketengine_unix.cpp +++ b/src/network/socket/qnativesocketengine_unix.cpp @@ -1027,6 +1027,7 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() localAddress.clear(); peerPort = 0; peerAddress.clear(); + inboundStreamCount = outboundStreamCount = 0; if (socketDescriptor == -1) return false; @@ -1077,8 +1078,10 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() #endif // Determine the remote address - if (!::getpeername(socketDescriptor, &sa.a, &sockAddrSize)) + if (!::getpeername(socketDescriptor, &sa.a, &sockAddrSize)) { qt_socket_getPortAndAddress(&sa, &peerPort, &peerAddress); + inboundStreamCount = outboundStreamCount = 1; + } // Determine the socket type (UDP/TCP) int value = 0; @@ -1101,10 +1104,10 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() else if (socketType == QAbstractSocket::UdpSocket) socketTypeStr = QStringLiteral("UdpSocket"); qDebug("QNativeSocketEnginePrivate::fetchConnectionParameters() local == %s:%i," - " peer == %s:%i, socket == %s - %s", + " peer == %s:%i, socket == %s - %s, inboundStreamCount == %i, outboundStreamCount == %i", localAddress.toString().toLatin1().constData(), localPort, peerAddress.toString().toLatin1().constData(), peerPort,socketTypeStr.toLatin1().constData(), - socketProtocolStr.toLatin1().constData()); + socketProtocolStr.toLatin1().constData(), inboundStreamCount, outboundStreamCount); #endif return true; } diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp index 20f7ab2622..648f2bf376 100644 --- a/src/network/socket/qnativesocketengine_win.cpp +++ b/src/network/socket/qnativesocketengine_win.cpp @@ -528,6 +528,7 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() localAddress.clear(); peerPort = 0; peerAddress.clear(); + inboundStreamCount = outboundStreamCount = 0; if (socketDescriptor == -1) return false; @@ -576,6 +577,7 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() memset(&sa, 0, sizeof(sa)); if (::getpeername(socketDescriptor, &sa.a, &sockAddrSize) == 0) { qt_socket_getPortAndAddress(socketDescriptor, &sa, &peerPort, &peerAddress); + inboundStreamCount = outboundStreamCount = 1; } else { WS_ERROR_DEBUG(WSAGetLastError()); } diff --git a/src/network/socket/qnativesocketengine_winrt.cpp b/src/network/socket/qnativesocketengine_winrt.cpp index 68ee1e52d5..0f632abbb3 100644 --- a/src/network/socket/qnativesocketengine_winrt.cpp +++ b/src/network/socket/qnativesocketengine_winrt.cpp @@ -480,6 +480,7 @@ void QNativeSocketEngine::close() d->localAddress.clear(); d->peerPort = 0; d->peerAddress.clear(); + d->inboundStreamCount = d->outboundStreamCount = 0; } bool QNativeSocketEngine::joinMulticastGroup(const QHostAddress &groupAddress, const QNetworkInterface &iface) @@ -1082,6 +1083,7 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() localAddress.clear(); peerPort = 0; peerAddress.clear(); + inboundStreamCount = outboundStreamCount = 0; HRESULT hr; if (socketType == QAbstractSocket::TcpSocket) { @@ -1117,6 +1119,7 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() hr = info->get_RemotePort(tmpHString.GetAddressOf()); Q_ASSERT_SUCCEEDED(hr); peerPort = qt_QStringFromHString(tmpHString).toInt(); + inboundStreamCount = outboundStreamCount = 1; } } else if (socketType == QAbstractSocket::UdpSocket) { ComPtr hostName; @@ -1144,6 +1147,7 @@ bool QNativeSocketEnginePrivate::fetchConnectionParameters() hr = info->get_RemotePort(tmpHString.GetAddressOf()); Q_ASSERT_SUCCEEDED(hr); peerPort = qt_QStringFromHString(tmpHString).toInt(); + inboundStreamCount = outboundStreamCount = 1; } } return true; diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index c873cbdedc..ee50008cc7 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -887,6 +887,7 @@ void QSocks5SocketEnginePrivate::parseRequestMethodReply() localPort = port; if (mode == ConnectMode) { + inboundStreamCount = outboundStreamCount = 1; socks5State = Connected; // notify the upper layer that we're done q->setState(QAbstractSocket::ConnectedState); @@ -1047,6 +1048,7 @@ bool QSocks5SocketEngine::initialize(qintptr socketDescriptor, QAbstractSocket:: d->localAddress = bindData->localAddress; d->peerPort = bindData->peerPort; d->peerAddress = bindData->peerAddress; + d->inboundStreamCount = d->outboundStreamCount = 1; delete bindData; QObject::connect(d->data->controlSocket, SIGNAL(connected()), this, SLOT(_q_controlSocketConnected()), @@ -1486,6 +1488,7 @@ void QSocks5SocketEngine::close() } d->data->controlSocket->close(); } + d->inboundStreamCount = d->outboundStreamCount = 0; #ifndef QT_NO_UDPSOCKET if (d->udpData && d->udpData->udpSocket) d->udpData->udpSocket->close(); diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp index ae695a07e9..3e7a30aa9f 100644 --- a/src/network/ssl/qsslsocket.cpp +++ b/src/network/ssl/qsslsocket.cpp @@ -512,6 +512,8 @@ bool QSslSocket::setSocketDescriptor(qintptr socketDescriptor, SocketState state setPeerPort(d->plainSocket->peerPort()); setPeerAddress(d->plainSocket->peerAddress()); setPeerName(d->plainSocket->peerName()); + d->readChannelCount = d->plainSocket->readChannelCount(); + d->writeChannelCount = d->plainSocket->writeChannelCount(); return retVal; } @@ -1925,6 +1927,7 @@ void QSslSocket::connectToHost(const QString &hostName, quint16 port, OpenMode o d->plainSocket->setProxy(proxy()); #endif QIODevice::open(openMode); + d->readChannelCount = d->writeChannelCount = 0; d->plainSocket->connectToHost(hostName, port, openMode, d->preferredNetworkLayerProtocol); d->cachedSocketDescriptor = d->plainSocket->socketDescriptor(); } @@ -2271,9 +2274,15 @@ void QSslSocketPrivate::createPlainSocket(QIODevice::OpenMode openMode) q->connect(plainSocket, SIGNAL(readyRead()), q, SLOT(_q_readyReadSlot()), Qt::DirectConnection); + q->connect(plainSocket, SIGNAL(channelReadyRead(int)), + q, SLOT(_q_channelReadyReadSlot(int)), + Qt::DirectConnection); q->connect(plainSocket, SIGNAL(bytesWritten(qint64)), q, SLOT(_q_bytesWrittenSlot(qint64)), Qt::DirectConnection); + q->connect(plainSocket, SIGNAL(channelBytesWritten(int, qint64)), + q, SLOT(_q_channelBytesWrittenSlot(int, qint64)), + Qt::DirectConnection); #ifndef QT_NO_NETWORKPROXY q->connect(plainSocket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), q, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); @@ -2327,6 +2336,7 @@ bool QSslSocketPrivate::bind(const QHostAddress &address, quint16 port, QAbstrac localPort = plainSocket->localPort(); localAddress = plainSocket->localAddress(); cachedSocketDescriptor = plainSocket->socketDescriptor(); + readChannelCount = writeChannelCount = 0; return ret; } @@ -2342,6 +2352,8 @@ void QSslSocketPrivate::_q_connectedSlot() q->setPeerAddress(plainSocket->peerAddress()); q->setPeerName(plainSocket->peerName()); cachedSocketDescriptor = plainSocket->socketDescriptor(); + readChannelCount = plainSocket->readChannelCount(); + writeChannelCount = plainSocket->writeChannelCount(); #ifdef QSSLSOCKET_DEBUG qCDebug(lcSsl) << "QSslSocket::_q_connectedSlot()"; @@ -2444,6 +2456,16 @@ void QSslSocketPrivate::_q_readyReadSlot() transmit(); } +/*! + \internal +*/ +void QSslSocketPrivate::_q_channelReadyReadSlot(int channel) +{ + Q_Q(QSslSocket); + if (mode == QSslSocket::UnencryptedMode) + emit q->channelReadyRead(channel); +} + /*! \internal */ @@ -2462,6 +2484,16 @@ void QSslSocketPrivate::_q_bytesWrittenSlot(qint64 written) q->disconnectFromHost(); } +/*! + \internal +*/ +void QSslSocketPrivate::_q_channelBytesWrittenSlot(int channel, qint64 written) +{ + Q_Q(QSslSocket); + if (mode == QSslSocket::UnencryptedMode) + emit q->channelBytesWritten(channel, written); +} + /*! \internal */ diff --git a/src/network/ssl/qsslsocket.h b/src/network/ssl/qsslsocket.h index 705b03456b..c069ff2f9d 100644 --- a/src/network/ssl/qsslsocket.h +++ b/src/network/ssl/qsslsocket.h @@ -220,7 +220,9 @@ private: Q_PRIVATE_SLOT(d_func(), void _q_stateChangedSlot(QAbstractSocket::SocketState)) Q_PRIVATE_SLOT(d_func(), void _q_errorSlot(QAbstractSocket::SocketError)) Q_PRIVATE_SLOT(d_func(), void _q_readyReadSlot()) + Q_PRIVATE_SLOT(d_func(), void _q_channelReadyReadSlot(int)) Q_PRIVATE_SLOT(d_func(), void _q_bytesWrittenSlot(qint64)) + Q_PRIVATE_SLOT(d_func(), void _q_channelBytesWrittenSlot(int, qint64)) Q_PRIVATE_SLOT(d_func(), void _q_flushWriteBuffer()) Q_PRIVATE_SLOT(d_func(), void _q_flushReadBuffer()) Q_PRIVATE_SLOT(d_func(), void _q_resumeImplementation()) diff --git a/src/network/ssl/qsslsocket_mac.cpp b/src/network/ssl/qsslsocket_mac.cpp index e09a197369..4122db4b65 100644 --- a/src/network/ssl/qsslsocket_mac.cpp +++ b/src/network/ssl/qsslsocket_mac.cpp @@ -646,6 +646,7 @@ void QSslSocketBackendPrivate::transmit() emit q->bytesWritten(totalBytesWritten); emittedBytesWritten = false; } + emit q->channelBytesWritten(0, totalBytesWritten); } } @@ -674,6 +675,7 @@ void QSslSocketBackendPrivate::transmit() if (readyReadEmittedPointer) *readyReadEmittedPointer = true; emit q->readyRead(); + emit q->channelReadyRead(0); } if (err == errSSLWouldBlock) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index ac6b2df595..fcc267e7cc 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -851,6 +851,7 @@ void QSslSocketBackendPrivate::transmit() emit q->bytesWritten(totalBytesWritten); emittedBytesWritten = false; } + emit q->channelBytesWritten(0, totalBytesWritten); } } @@ -954,6 +955,7 @@ void QSslSocketBackendPrivate::transmit() if (readyReadEmittedPointer) *readyReadEmittedPointer = true; emit q->readyRead(); + emit q->channelReadyRead(0); transmitting = true; continue; } diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h index 147d5ad14c..018da2ffdb 100644 --- a/src/network/ssl/qsslsocket_p.h +++ b/src/network/ssl/qsslsocket_p.h @@ -179,7 +179,9 @@ public: void _q_stateChangedSlot(QAbstractSocket::SocketState); void _q_errorSlot(QAbstractSocket::SocketError); void _q_readyReadSlot(); + void _q_channelReadyReadSlot(int); void _q_bytesWrittenSlot(qint64); + void _q_channelBytesWrittenSlot(int, qint64); void _q_flushWriteBuffer(); void _q_flushReadBuffer(); void _q_resumeImplementation(); diff --git a/src/network/ssl/qsslsocket_winrt.cpp b/src/network/ssl/qsslsocket_winrt.cpp index dc5c9a8fac..045c89eb0e 100644 --- a/src/network/ssl/qsslsocket_winrt.cpp +++ b/src/network/ssl/qsslsocket_winrt.cpp @@ -306,6 +306,7 @@ void QSslSocketBackendPrivate::transmit() emit q->bytesWritten(totalBytesWritten); emittedBytesWritten = false; } + emit q->channelBytesWritten(0, totalBytesWritten); } } @@ -323,6 +324,7 @@ void QSslSocketBackendPrivate::transmit() if (readyReadEmittedPointer) *readyReadEmittedPointer = true; emit q->readyRead(); + emit q->channelReadyRead(0); } if (pendingClose) { -- cgit v1.2.3 From fc78bc2c06a5cb01f0a67675dbba1a5f0f99f5ed Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 19 Jul 2015 21:58:32 +0200 Subject: QGenericMatrix: mark as relocatable, depending on T Inherit the type-classification from the underlying type, but, for BC reasons, force isStatic = true, so QList does not change its memory layout in an incompatible way. Change-Id: I11003cdd24968f903fbd86aa2f5c17287e057c1f Reviewed-by: Sean Harmer Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/gui/math3d/qgenericmatrix.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/gui/math3d/qgenericmatrix.h b/src/gui/math3d/qgenericmatrix.h index b7a6196515..5e22fa6730 100644 --- a/src/gui/math3d/qgenericmatrix.h +++ b/src/gui/math3d/qgenericmatrix.h @@ -103,6 +103,17 @@ private: friend class QGenericMatrix; #endif }; +template +class QTypeInfo > + : public QTypeInfoMerger, T> +{ +#if QT_VERSION < QT_VERSION_CHECK(6,0,0) +public: + enum { + isStatic = true, + }; // at least Q_RELOCATABLE_TYPE, for BC during Qt 5 +#endif +}; template Q_INLINE_TEMPLATE QGenericMatrix::QGenericMatrix() -- cgit v1.2.3 From 6cc050c969b6dde1566f2b71f32829e680557350 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 25 Feb 2016 14:08:11 +0100 Subject: Avoid qMin in format conversions when possible Calling qMin often prevents effective vectorization, and it is only necessary when converting from formats with mixed color-channel widths. Change-Id: I2a0f3f3fb528d45be1fd025758f9d915ee1736c0 Reviewed-by: Gunnar Sletta --- src/gui/painting/qdrawhelper.cpp | 82 +++++++++++++++++++++++++++++----------- 1 file changed, 60 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 933ff407e2..85c023f1ff 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -245,17 +245,36 @@ static const uint *QT_FASTCALL convertARGBPMToARGB32PM(uint *buffer, const uint Q_CONSTEXPR uchar greenRightShift = 2 * greenWidth() - 8; Q_CONSTEXPR uchar blueRightShift = 2 * blueWidth() - 8; - for (int i = 0; i < count; ++i) { - uint alpha = (src[i] >> alphaShift()) & alphaMask; - uint red = (src[i] >> redShift()) & redMask; - uint green = (src[i] >> greenShift()) & greenMask; - uint blue = (src[i] >> blueShift()) & blueMask; - - alpha = (alpha << alphaLeftShift) | (alpha >> alphaRightShift); - red = qMin(alpha, (red << redLeftShift) | (red >> redRightShift)); - green = qMin(alpha, (green << greenLeftShift) | (green >> greenRightShift)); - blue = qMin(alpha, (blue << blueLeftShift) | (blue >> blueRightShift)); - buffer[i] = (alpha << 24) | (red << 16) | (green << 8) | blue; + Q_CONSTEXPR bool mustMin = (alphaWidth() != redWidth()) || + (alphaWidth() != greenWidth()) || + (alphaWidth() != blueWidth()); + + if (mustMin) { + for (int i = 0; i < count; ++i) { + uint alpha = (src[i] >> alphaShift()) & alphaMask; + uint red = (src[i] >> redShift()) & redMask; + uint green = (src[i] >> greenShift()) & greenMask; + uint blue = (src[i] >> blueShift()) & blueMask; + + alpha = (alpha << alphaLeftShift) | (alpha >> alphaRightShift); + red = qMin(alpha, (red << redLeftShift) | (red >> redRightShift)); + green = qMin(alpha, (green << greenLeftShift) | (green >> greenRightShift)); + blue = qMin(alpha, (blue << blueLeftShift) | (blue >> blueRightShift)); + buffer[i] = (alpha << 24) | (red << 16) | (green << 8) | blue; + } + } else { + for (int i = 0; i < count; ++i) { + uint alpha = (src[i] >> alphaShift()) & alphaMask; + uint red = (src[i] >> redShift()) & redMask; + uint green = (src[i] >> greenShift()) & greenMask; + uint blue = (src[i] >> blueShift()) & blueMask; + + alpha = ((alpha << alphaLeftShift) | (alpha >> alphaRightShift)) << 24; + red = ((red << redLeftShift) | (red >> redRightShift)) << 16; + green = ((green << greenLeftShift) | (green >> greenRightShift)) << 8; + blue = (blue << blueLeftShift) | (blue >> blueRightShift); + buffer[i] = alpha | red | green | blue; + } } return buffer; @@ -280,17 +299,36 @@ static const QRgba64 *QT_FASTCALL convertARGBPMToARGB64PM(QRgba64 *buffer, const Q_CONSTEXPR uchar greenRightShift = 2 * greenWidth() - 8; Q_CONSTEXPR uchar blueRightShift = 2 * blueWidth() - 8; - for (int i = 0; i < count; ++i) { - uint alpha = (src[i] >> alphaShift()) & alphaMask; - uint red = (src[i] >> redShift()) & redMask; - uint green = (src[i] >> greenShift()) & greenMask; - uint blue = (src[i] >> blueShift()) & blueMask; - - alpha = (alpha << alphaLeftShift) | (alpha >> alphaRightShift); - red = qMin(alpha, (red << redLeftShift) | (red >> redRightShift)); - green = qMin(alpha, (green << greenLeftShift) | (green >> greenRightShift)); - blue = qMin(alpha, (blue << blueLeftShift) | (blue >> blueRightShift)); - buffer[i] = QRgba64::fromRgba(red, green, blue, alpha); + Q_CONSTEXPR bool mustMin = (alphaWidth() != redWidth()) || + (alphaWidth() != greenWidth()) || + (alphaWidth() != blueWidth()); + + if (mustMin) { + for (int i = 0; i < count; ++i) { + uint alpha = (src[i] >> alphaShift()) & alphaMask; + uint red = (src[i] >> redShift()) & redMask; + uint green = (src[i] >> greenShift()) & greenMask; + uint blue = (src[i] >> blueShift()) & blueMask; + + alpha = (alpha << alphaLeftShift) | (alpha >> alphaRightShift); + red = qMin(alpha, (red << redLeftShift) | (red >> redRightShift)); + green = qMin(alpha, (green << greenLeftShift) | (green >> greenRightShift)); + blue = qMin(alpha, (blue << blueLeftShift) | (blue >> blueRightShift)); + buffer[i] = QRgba64::fromRgba(red, green, blue, alpha); + } + } else { + for (int i = 0; i < count; ++i) { + uint alpha = (src[i] >> alphaShift()) & alphaMask; + uint red = (src[i] >> redShift()) & redMask; + uint green = (src[i] >> greenShift()) & greenMask; + uint blue = (src[i] >> blueShift()) & blueMask; + + alpha = (alpha << alphaLeftShift) | (alpha >> alphaRightShift); + red = (red << redLeftShift) | (red >> redRightShift); + green = (green << greenLeftShift) | (green >> greenRightShift); + blue = (blue << blueLeftShift) | (blue >> blueRightShift); + buffer[i] = QRgba64::fromRgba(red, green, blue, alpha); + } } return buffer; -- cgit v1.2.3 From 361142b5fcd199e7c301765b0dd16227cde71080 Mon Sep 17 00:00:00 2001 From: Vincas Dargis Date: Fri, 26 Feb 2016 09:54:38 +0200 Subject: PostgreSQL: Fix memory leak in subscribeToNotification() and unsubscribeFromNotification() Both subscribeToNotification() and unsubscribeFromNotification() are missing PQclear calls to free PGresult. Task-number: QTBUG-51412 Change-Id: I72ec3438b22bc99205c984b67b922766bcdbed08 Reviewed-by: Mark Brand --- src/sql/drivers/psql/qsql_psql.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/sql/drivers/psql/qsql_psql.cpp b/src/sql/drivers/psql/qsql_psql.cpp index de1f1638fd..4f36e0b513 100644 --- a/src/sql/drivers/psql/qsql_psql.cpp +++ b/src/sql/drivers/psql/qsql_psql.cpp @@ -1390,8 +1390,10 @@ bool QPSQLDriver::subscribeToNotification(const QString &name) PGresult *result = d->exec(query); if (PQresultStatus(result) != PGRES_COMMAND_OK) { setLastError(qMakeError(tr("Unable to subscribe"), QSqlError::StatementError, d, result)); + PQclear(result); return false; } + PQclear(result); if (!d->sn) { d->sn = new QSocketNotifier(socket, QSocketNotifier::Read); @@ -1423,8 +1425,10 @@ bool QPSQLDriver::unsubscribeFromNotification(const QString &name) PGresult *result = d->exec(query); if (PQresultStatus(result) != PGRES_COMMAND_OK) { setLastError(qMakeError(tr("Unable to unsubscribe"), QSqlError::StatementError, d, result)); + PQclear(result); return false; } + PQclear(result); d->seid.removeAll(name); -- cgit v1.2.3 From 359546b069051213a7b337fefbe21b664618f959 Mon Sep 17 00:00:00 2001 From: Romain Pokrzywka Date: Thu, 17 Sep 2015 10:21:32 -0700 Subject: evdevtouch: ensure touchpoints released with typeB mtdev drivers This happens in one particular case: when the touchpoint corresponding to the last slot is reported as released and a new point is reported as pressed right after, so that both events happens within a same sync. In this case, there will be two ABS_MT_TRACKING_ID events received, first with -1 to report the released touchpoint, then with a new id to report the pressed touchpoint, then the SYN_REPORT afterwards. This results in m_contacts[m_currentSlot].state being updated to Qt::TouchPointReleased then Qt::TouchPointPressed, with the former never being reported during the handling of SYN_REPORT. To handle this scenario we need to inspect m_lastContacts for a change in tracking id for a particular slot combined with a non-null state, indicating that slot has not yet been reported released and processed in the previous sync. (the state for processed released points is reset to zero at the end of the SYN_REPORT handler) Task-number: QTBUG-51563 Change-Id: I01493008cf9f267e758d974dab29556d0a1425ea Reviewed-by: Shawn Rutledge Reviewed-by: Laszlo Agocs Reviewed-by: Robin Burchell --- src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp index ad348cc083..7cb4813c7b 100644 --- a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp +++ b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp @@ -531,9 +531,16 @@ void QEvdevTouchScreenData::processInputEvent(input_event *data) it.next(); Contact &contact(it.value()); int key = m_typeB ? it.key() : contact.trackingId; - if (!m_contacts.contains(key)) { - contact.state = Qt::TouchPointReleased; - addTouchPoint(contact, &combinedStates); + if (m_typeB) { + if (contact.trackingId != m_contacts[key].trackingId && contact.state) { + contact.state = Qt::TouchPointReleased; + addTouchPoint(contact, &combinedStates); + } + } else { + if (!m_contacts.contains(key)) { + contact.state = Qt::TouchPointReleased; + addTouchPoint(contact, &combinedStates); + } } } -- cgit v1.2.3 From d56203436a2e59c35e0243ad86338d131de62f20 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 3 Feb 2016 10:11:13 +0100 Subject: Use an enum for versioning the opengl function backends Saves some code, is easier to maintain and will allow for some more nice refactoring. Change-Id: Ica7ae8e9d36acbe6586e488bc6aff114336c65bb Reviewed-by: Laszlo Agocs --- src/gui/kernel/qopenglcontext.cpp | 7 +- src/gui/kernel/qopenglcontext.h | 7 +- src/gui/kernel/qopenglcontext_p.h | 2 +- src/gui/opengl/qopenglversionfunctions.cpp | 8 +- src/gui/opengl/qopenglversionfunctions.h | 180 +++++++++++++++++------------ 5 files changed, 114 insertions(+), 90 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index f301b21ec1..a45217ca29 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -1302,7 +1302,7 @@ QOpenGLContext *QOpenGLContext::globalShareContext() /*! \internal */ -QOpenGLVersionFunctionsBackend *QOpenGLContext::functionsBackend(const QOpenGLVersionStatus &v) const +QOpenGLVersionFunctionsBackend *QOpenGLContext::functionsBackend(const QOpenGLVersionFunctionsBackend::Version v) const { Q_D(const QOpenGLContext); return d->versionFunctionsBackend.value(v, 0); @@ -1311,8 +1311,7 @@ QOpenGLVersionFunctionsBackend *QOpenGLContext::functionsBackend(const QOpenGLVe /*! \internal */ -void QOpenGLContext::insertFunctionsBackend(const QOpenGLVersionStatus &v, - QOpenGLVersionFunctionsBackend *backend) +void QOpenGLContext::insertFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v, QOpenGLVersionFunctionsBackend *backend) { Q_D(QOpenGLContext); d->versionFunctionsBackend.insert(v, backend); @@ -1321,7 +1320,7 @@ void QOpenGLContext::insertFunctionsBackend(const QOpenGLVersionStatus &v, /*! \internal */ -void QOpenGLContext::removeFunctionsBackend(const QOpenGLVersionStatus &v) +void QOpenGLContext::removeFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v) { Q_D(QOpenGLContext); d->versionFunctionsBackend.remove(v); diff --git a/src/gui/kernel/qopenglcontext.h b/src/gui/kernel/qopenglcontext.h index 130d55464f..9bb48ab4fc 100644 --- a/src/gui/kernel/qopenglcontext.h +++ b/src/gui/kernel/qopenglcontext.h @@ -237,10 +237,9 @@ private: void setQGLContextHandle(void *handle,void (*qGLContextDeleteFunction)(void *)); void deleteQGLContext(); - QOpenGLVersionFunctionsBackend* functionsBackend(const QOpenGLVersionStatus &v) const; - void insertFunctionsBackend(const QOpenGLVersionStatus &v, - QOpenGLVersionFunctionsBackend *backend); - void removeFunctionsBackend(const QOpenGLVersionStatus &v); + QOpenGLVersionFunctionsBackend* functionsBackend(QOpenGLVersionFunctionsBackend::Version v) const; + void insertFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v, QOpenGLVersionFunctionsBackend *backend); + void removeFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v); void insertExternalFunctions(QAbstractOpenGLFunctions *f); void removeExternalFunctions(QAbstractOpenGLFunctions *f); diff --git a/src/gui/kernel/qopenglcontext_p.h b/src/gui/kernel/qopenglcontext_p.h index 7fc922f388..57053a6d61 100644 --- a/src/gui/kernel/qopenglcontext_p.h +++ b/src/gui/kernel/qopenglcontext_p.h @@ -222,7 +222,7 @@ public: } mutable QHash versionFunctions; - mutable QHash versionFunctionsBackend; + mutable QHash versionFunctionsBackend; mutable QSet externalVersionFunctions; void *qGLContextHandle; diff --git a/src/gui/opengl/qopenglversionfunctions.cpp b/src/gui/opengl/qopenglversionfunctions.cpp index b8767bd46d..a5b03315e6 100644 --- a/src/gui/opengl/qopenglversionfunctions.cpp +++ b/src/gui/opengl/qopenglversionfunctions.cpp @@ -85,22 +85,20 @@ void CLASS::init() \ #define QT_OPENGL_IMPLEMENT_WIN QT_OPENGL_IMPLEMENT #endif -QOpenGLVersionFunctionsBackend *QAbstractOpenGLFunctionsPrivate::functionsBackend(QOpenGLContext *context, - const QOpenGLVersionStatus &v) +QOpenGLVersionFunctionsBackend *QAbstractOpenGLFunctionsPrivate::functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v) { Q_ASSERT(context); return context->functionsBackend(v); } -void QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(QOpenGLContext *context, - const QOpenGLVersionStatus &v, +void QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v, QOpenGLVersionFunctionsBackend *backend) { Q_ASSERT(context); context->insertFunctionsBackend(v, backend); } -void QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(QOpenGLContext *context, const QOpenGLVersionStatus &v) +void QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v) { Q_ASSERT(context); context->removeFunctionsBackend(v); diff --git a/src/gui/opengl/qopenglversionfunctions.h b/src/gui/opengl/qopenglversionfunctions.h index 537d4f4dd7..7d2616a5d9 100644 --- a/src/gui/opengl/qopenglversionfunctions.h +++ b/src/gui/opengl/qopenglversionfunctions.h @@ -75,23 +75,6 @@ class QOpenGLContext; qFatal("This function was erroneously included in previous versions of Qt and is here only for binary compatibility. " \ "If you need to use this function, please use a legacy OpenGL version or a Compatibility profile.") -#define QT_OPENGL_DECLARE_FUNCTIONS(ret, name, args) \ - ret (QOPENGLF_APIENTRYP name)args; -#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 - -#define QT_OPENGL_DECLARE(FUNCTIONS) \ -public: \ - struct Functions { \ - FUNCTIONS(QT_OPENGL_DECLARE_FUNCTIONS) \ - }; \ - union { \ - QFunctionPointer functions[FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS)]; \ - Functions f; \ - }; \ -private: \ - void init() - - struct QOpenGLVersionStatus { enum OpenGLStatus { @@ -130,9 +113,56 @@ Q_DECL_CONSTEXPR inline bool operator!=(const QOpenGLVersionStatus &lhs, const Q return !operator==(lhs, rhs); } +#define QT_OPENGL_DECLARE_FUNCTIONS(ret, name, args) \ + ret (QOPENGLF_APIENTRYP name)args; +#define QT_OPENGL_COUNT_FUNCTIONS(ret, name, args) +1 + +#define QT_OPENGL_DECLARE(FUNCTIONS) \ +public: \ + struct Functions { \ + FUNCTIONS(QT_OPENGL_DECLARE_FUNCTIONS) \ + }; \ + union { \ + QFunctionPointer functions[FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS)]; \ + Functions f; \ + }; \ +private: \ + void init() + class QOpenGLVersionFunctionsBackend { public: + enum Version { + OpenGL_1_0, + OpenGL_1_1, + OpenGL_1_2, + OpenGL_1_3, + OpenGL_1_4, + OpenGL_1_5, + OpenGL_2_0, + OpenGL_2_1, + OpenGL_3_0, + OpenGL_3_1, + OpenGL_3_2_Core, + OpenGL_3_3_Core, + OpenGL_4_0_Core, + OpenGL_4_1_Core, + OpenGL_4_2_Core, + OpenGL_4_3_Core, + OpenGL_4_4_Core, + OpenGL_4_5_Core, + OpenGL_1_0_Deprecated, + OpenGL_1_1_Deprecated, + OpenGL_1_2_Deprecated, + OpenGL_1_3_Deprecated, + OpenGL_1_4_Deprecated, + OpenGL_2_0_Deprecated, + OpenGL_3_0_Deprecated, + OpenGL_3_3_Deprecated, + OpenGL_4_5_Deprecated, + OpenGLVersionBackendCount + }; + QOpenGLVersionFunctionsBackend(QOpenGLContext *ctx) : context(ctx) {} @@ -151,12 +181,10 @@ public: initialized(false) {} - static QOpenGLVersionFunctionsBackend *functionsBackend(QOpenGLContext *context, - const QOpenGLVersionStatus &v); - static void insertFunctionsBackend(QOpenGLContext *context, - const QOpenGLVersionStatus &v, + static QOpenGLVersionFunctionsBackend *functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v); + static void insertFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v, QOpenGLVersionFunctionsBackend *backend); - static void removeFunctionsBackend(QOpenGLContext *context, const QOpenGLVersionStatus &v); + static void removeFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v); static void insertExternalFunctions(QOpenGLContext *context, QAbstractOpenGLFunctions *f); static void removeExternalFunctions(QOpenGLContext *context, QAbstractOpenGLFunctions *f); @@ -203,8 +231,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_0; } // OpenGL 1.0 core functions #define QT_OPENGL_1_0_FUNCTIONS(F) \ @@ -269,8 +297,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_1; } // OpenGL 1.1 core functions #define QT_OPENGL_1_1_FUNCTIONS(F) \ @@ -303,8 +331,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_2; } // OpenGL 1.2 core functions #define QT_OPENGL_1_2_FUNCTIONS(F) \ @@ -327,8 +355,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_3; } // OpenGL 1.3 core functions #define QT_OPENGL_1_3_FUNCTIONS(F) \ @@ -354,8 +382,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_4; } // OpenGL 1.4 core functions #define QT_OPENGL_1_4_FUNCTIONS(F) \ @@ -379,8 +407,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 5, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_5; } // OpenGL 1.5 core functions #define QT_OPENGL_1_5_FUNCTIONS(F) \ @@ -416,8 +444,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_2_0; } // OpenGL 2.0 core functions #define QT_OPENGL_2_0_FUNCTIONS(F) \ @@ -527,8 +555,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(2, 1, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_2_1; } // OpenGL 2.1 core functions #define QT_OPENGL_2_1_FUNCTIONS(F) \ @@ -551,8 +579,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_3_0; } // OpenGL 3.0 core functions #define QT_OPENGL_3_0_FUNCTIONS(F) \ @@ -653,8 +681,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(3, 1, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_3_1; } // OpenGL 3.1 core functions #define QT_OPENGL_3_1_FUNCTIONS(F) \ @@ -683,8 +711,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(3, 2, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_3_2_Core; } // OpenGL 3.2 core functions #define QT_OPENGL_3_2_FUNCTIONS(F) \ @@ -720,8 +748,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_3_3_Core; } // OpenGL 3.3 core functions #define QT_OPENGL_3_3_FUNCTIONS(F) \ @@ -796,8 +824,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(4, 0, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_4_0_Core; } // OpenGL 4.0 core functions #define QT_OPENGL_4_0_FUNCTIONS(F) \ @@ -860,8 +888,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(4, 1, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_4_1_Core; } // OpenGL 4.1 core functions #define QT_OPENGL_4_1_FUNCTIONS(F) \ @@ -966,8 +994,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(4, 2, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_4_2_Core; } // OpenGL 4.2 core functions #define QT_OPENGL_4_2_FUNCTIONS(F) \ @@ -996,8 +1024,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(4, 3, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_4_3_Core; } // OpenGL 4.3 core functions #define QT_OPENGL_4_3_FUNCTIONS(F) \ @@ -1057,8 +1085,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(4, 4, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_4_4_Core; } // OpenGL 4.4 core functions #define QT_OPENGL_4_4_FUNCTIONS(F) \ @@ -1084,8 +1112,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::CoreStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_4_5_Core; } // OpenGL 4.5 core functions #define QT_OPENGL_4_5_FUNCTIONS(F) \ @@ -1208,8 +1236,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 0, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_0_Deprecated; } // OpenGL 1.0 deprecated functions #define QT_OPENGL_1_0_DEPRECATED_FUNCTIONS(F) \ @@ -1484,8 +1512,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 1, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_1_Deprecated; } // OpenGL 1.1 deprecated functions #define QT_OPENGL_1_1_DEPRECATED_FUNCTIONS(F) \ @@ -1519,8 +1547,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 2, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_2_Deprecated; } // OpenGL 1.2 deprecated functions #define QT_OPENGL_1_2_DEPRECATED_FUNCTIONS(F) \ @@ -1569,8 +1597,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 3, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_3_Deprecated; } // OpenGL 1.3 deprecated functions #define QT_OPENGL_1_3_DEPRECATED_FUNCTIONS(F) \ @@ -1624,8 +1652,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(1, 4, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_1_4_Deprecated; } // OpenGL 1.4 deprecated functions #define QT_OPENGL_1_4_DEPRECATED_FUNCTIONS(F) \ @@ -1680,8 +1708,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(2, 0, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_2_0_Deprecated; } // OpenGL 2.0 deprecated functions #define QT_OPENGL_2_0_DEPRECATED_FUNCTIONS(F) \ @@ -1734,8 +1762,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(3, 0, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_3_0_Deprecated; } // OpenGL 3.0 deprecated functions #define QT_OPENGL_3_0_DEPRECATED_FUNCTIONS(F) \ @@ -1772,8 +1800,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(3, 3, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_3_3_Deprecated; } // OpenGL 3.3 deprecated functions #define QT_OPENGL_3_3_DEPRECATED_FUNCTIONS(F) \ @@ -1820,8 +1848,8 @@ public: init(); } - Q_DECL_CONSTEXPR static QOpenGLVersionStatus versionStatus() - { return QOpenGLVersionStatus(4, 5, QOpenGLVersionStatus::DeprecatedStatus); } + Q_DECL_CONSTEXPR static Version versionStatus() + { return OpenGL_4_5_Deprecated; } // OpenGL 4.5 deprecated functions #define QT_OPENGL_4_5_DEPRECATED_FUNCTIONS(F) \ -- cgit v1.2.3 From 8f1fcb0142b26f8e12c51b6c646eca1242b35102 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Arve=20S=C3=A6ther?= Date: Fri, 26 Feb 2016 14:39:23 +0100 Subject: Adjust sizes when snapping layout items to pixel grid When "importing" the size hints into the cells, make sure that the cells minimum sizes are ceiled up to the closest integer. Change-Id: Id00177468e8b1e12bc1231c7351b2136f94f7300 Task-number: QTBUG-41216 Reviewed-by: Paul Olav Tvete --- src/gui/util/qgridlayoutengine.cpp | 43 +++++++++++++++++++++++++++----------- src/gui/util/qgridlayoutengine_p.h | 4 ++-- 2 files changed, 33 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/gui/util/qgridlayoutengine.cpp b/src/gui/util/qgridlayoutengine.cpp index ae8bde8910..20bc7166ab 100644 --- a/src/gui/util/qgridlayoutengine.cpp +++ b/src/gui/util/qgridlayoutengine.cpp @@ -416,8 +416,23 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz #endif } if (snapToPixelGrid) { - for (int i = 0; i < n; ++i) - positions[i] = qround(positions[i]); + for (int i = 0; i < n; ++i) { + const qreal oldpos = positions[i]; + positions[i] = qround(oldpos); + const qreal delta = positions[i] - oldpos; + sizes[i] -= delta; + if (i > 0) + sizes[i - 1] += delta; + } + + sizes[n - 1] = targetSize - positions[n - 1]; + // This loop serves two purposes: + // 1. round off the small epsilons produced by the above loop. + // 2. avoid that the above loop didn't make the cell width smaller than its minimum constraint. + for (int i = 0; i < n; ++i) { + const QGridLayoutBox &box = boxes.at(start + i); + sizes[i] = qMax(box.q_minimumSize, qround(sizes[i])); + } } if (descents) { @@ -569,7 +584,7 @@ QLayoutPolicy::ControlTypes QGridLayoutItem::controlTypes(LayoutSide /*side*/) c return QLayoutPolicy::DefaultType; } -QGridLayoutBox QGridLayoutItem::box(Qt::Orientation orientation, qreal constraint) const +QGridLayoutBox QGridLayoutItem::box(Qt::Orientation orientation, bool snapToPixelGrid, qreal constraint) const { QGridLayoutBox result; QLayoutPolicy::Policy policy = sizePolicy(orientation); @@ -584,6 +599,8 @@ QGridLayoutBox QGridLayoutItem::box(Qt::Orientation orientation, qreal constrain } else { result.q_minimumSize = result.q_preferredSize; } + if (snapToPixelGrid) + result.q_minimumSize = qCeil(result.q_minimumSize); if (policy & (QLayoutPolicy::GrowFlag | QLayoutPolicy::ExpandFlag)) { result.q_maximumSize = sizeHint(Qt::MaximumSize, constraintSize).width(); @@ -600,6 +617,8 @@ QGridLayoutBox QGridLayoutItem::box(Qt::Orientation orientation, qreal constrain } else { result.q_minimumSize = result.q_preferredSize; } + if (snapToPixelGrid) + result.q_minimumSize = qCeil(result.q_minimumSize); if (policy & (QLayoutPolicy::GrowFlag | QLayoutPolicy::ExpandFlag)) { result.q_maximumSize = sizeHint(Qt::MaximumSize, constraintSize).height(); @@ -623,7 +642,7 @@ QGridLayoutBox QGridLayoutItem::box(Qt::Orientation orientation, qreal constrain } QRectF QGridLayoutItem::geometryWithin(qreal x, qreal y, qreal width, qreal height, - qreal rowDescent, Qt::Alignment align) const + qreal rowDescent, Qt::Alignment align, bool snapToPixelGrid) const { const qreal cellWidth = width; const qreal cellHeight = height; @@ -661,7 +680,7 @@ QRectF QGridLayoutItem::geometryWithin(qreal x, qreal y, qreal width, qreal heig break; case Qt::AlignBaseline: { width = qMin(effectiveMaxSize(QSizeF(-1,-1)).width(), width); - QGridLayoutBox vBox = box(Qt::Vertical); + QGridLayoutBox vBox = box(Qt::Vertical, snapToPixelGrid); const qreal descent = vBox.q_minimumDescent; const qreal ascent = vBox.q_minimumSize - descent; y += (cellHeight - rowDescent - ascent); @@ -1027,7 +1046,7 @@ void QGridLayoutEngine::setGeometries(const QRectF &contentsGeometry, const QAbs const Qt::Alignment align = effectiveAlignment(item); QRectF geom = item->geometryWithin(contentsGeometry.x() + x, contentsGeometry.y() + y, - width, height, q_descents[item->lastRow()], align); + width, height, q_descents[item->lastRow()], align, m_snapToPixelGrid); if (m_snapToPixelGrid) { // x and y should already be rounded, but the call to geometryWithin() above might // result in a geom with x,y at half-pixels (due to centering within the cell) @@ -1407,9 +1426,9 @@ void QGridLayoutEngine::fillRowData(QGridLayoutRowData *rowData, qreal length = colSizes[item->lastColumn(orientation)]; if (item->columnSpan(orientation) != 1) length += colPositions[item->lastColumn(orientation)] - colPositions[item->firstColumn(orientation)]; - box->combine(item->box(orientation, length)); + box->combine(item->box(orientation, m_snapToPixelGrid, length)); } else { - box->combine(item->box(orientation)); + box->combine(item->box(orientation, m_snapToPixelGrid)); } if (effectiveRowSpan == 1) { @@ -1477,8 +1496,8 @@ void QGridLayoutEngine::fillRowData(QGridLayoutRowData *rowData, if (orientation == Qt::Horizontal) { qreal width1 = rowData->boxes.at(prevRow).q_minimumSize; qreal width2 = rowData->boxes.at(row).q_minimumSize; - QRectF rect1 = item1->geometryWithin(0.0, 0.0, width1, FLT_MAX, -1.0, effectiveAlignment(item1)); - QRectF rect2 = item2->geometryWithin(0.0, 0.0, width2, FLT_MAX, -1.0, effectiveAlignment(item2)); + QRectF rect1 = item1->geometryWithin(0.0, 0.0, width1, FLT_MAX, -1.0, effectiveAlignment(item1), m_snapToPixelGrid); + QRectF rect2 = item2->geometryWithin(0.0, 0.0, width2, FLT_MAX, -1.0, effectiveAlignment(item2), m_snapToPixelGrid); spacing -= (width1 - (rect1.x() + rect1.width())) + rect2.x(); } else { const QGridLayoutBox &box1 = rowData->boxes.at(prevRow); @@ -1490,9 +1509,9 @@ void QGridLayoutEngine::fillRowData(QGridLayoutRowData *rowData, qreal rowDescent2 = fixedDescent(box2.q_minimumDescent, box2.q_minimumAscent, height2); QRectF rect1 = item1->geometryWithin(0.0, 0.0, FLT_MAX, height1, - rowDescent1, effectiveAlignment(item1)); + rowDescent1, effectiveAlignment(item1), m_snapToPixelGrid); QRectF rect2 = item2->geometryWithin(0.0, 0.0, FLT_MAX, height2, - rowDescent2, effectiveAlignment(item2)); + rowDescent2, effectiveAlignment(item2), m_snapToPixelGrid); spacing -= (height1 - (rect1.y() + rect1.height())) + rect2.y(); } rowSpacing = qMax(spacing, rowSpacing); diff --git a/src/gui/util/qgridlayoutengine_p.h b/src/gui/util/qgridlayoutengine_p.h index 1075a6f8f2..b3ed2d287b 100644 --- a/src/gui/util/qgridlayoutengine_p.h +++ b/src/gui/util/qgridlayoutengine_p.h @@ -314,8 +314,8 @@ public: virtual QLayoutPolicy::ControlTypes controlTypes(LayoutSide side) const; - QRectF geometryWithin(qreal x, qreal y, qreal width, qreal height, qreal rowDescent, Qt::Alignment align) const; - QGridLayoutBox box(Qt::Orientation orientation, qreal constraint = -1.0) const; + QRectF geometryWithin(qreal x, qreal y, qreal width, qreal height, qreal rowDescent, Qt::Alignment align, bool snapToPixelGrid) const; + QGridLayoutBox box(Qt::Orientation orientation, bool snapToPixelGrid, qreal constraint = -1.0) const; void transpose(); -- cgit v1.2.3 From 0db793fe4117c243361d4b8eff4fb5ab87f66020 Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Wed, 24 Feb 2016 20:05:48 +0200 Subject: QAbstractSocket: fix a possible crash in waitForReadyRead() waitForConnected() could return 'true' even when the socket was disconnected. Change-Id: I99d9c9730f4e9b6c8a54696eb92c24c3ef36d261 Reviewed-by: Markus Goetz (Woboq GmbH) --- src/network/socket/qabstractsocket.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index 385146bb95..e60c821da6 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -2149,8 +2149,10 @@ bool QAbstractSocket::waitForReadyRead(int msecs) return false; } - Q_ASSERT(d->socketEngine); do { + if (state() != ConnectedState) + return false; + bool readyToRead = false; bool readyToWrite = false; if (!d->socketEngine->waitForReadOrWrite(&readyToRead, &readyToWrite, true, !d->writeBuffer.isEmpty(), @@ -2172,9 +2174,6 @@ bool QAbstractSocket::waitForReadyRead(int msecs) if (readyToWrite) d->canWriteNotification(); - - if (state() != ConnectedState) - return false; } while (msecs == -1 || qt_subtract_from_timeout(msecs, stopWatch.elapsed()) > 0); return false; } -- cgit v1.2.3 From 6b0a577bf85845780e9a7b101260cdf72fa1d33c Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Wed, 3 Feb 2016 12:42:52 +0100 Subject: Refactor initialization/caching code for versioned opengl functions Saves around 80k in Qt Gui. Change-Id: I3f7068ae699136d0edf46a49694ade7e1df3c91d Reviewed-by: Laszlo Agocs --- src/gui/kernel/qopenglcontext.cpp | 24 +- src/gui/kernel/qopenglcontext.h | 4 +- src/gui/kernel/qopenglcontext_p.h | 2 +- src/gui/opengl/qopenglfunctions_1_0.cpp | 22 +- src/gui/opengl/qopenglfunctions_1_1.cpp | 44 +--- src/gui/opengl/qopenglfunctions_1_2.cpp | 66 ++--- src/gui/opengl/qopenglfunctions_1_3.cpp | 88 ++----- src/gui/opengl/qopenglfunctions_1_4.cpp | 110 +++------ src/gui/opengl/qopenglfunctions_1_5.cpp | 121 +++------ src/gui/opengl/qopenglfunctions_2_0.cpp | 132 +++------- src/gui/opengl/qopenglfunctions_2_1.cpp | 143 +++-------- src/gui/opengl/qopenglfunctions_3_0.cpp | 154 ++++-------- src/gui/opengl/qopenglfunctions_3_1.cpp | 110 +++------ .../opengl/qopenglfunctions_3_2_compatibility.cpp | 176 ++++--------- src/gui/opengl/qopenglfunctions_3_2_core.cpp | 121 +++------ .../opengl/qopenglfunctions_3_3_compatibility.cpp | 198 ++++----------- src/gui/opengl/qopenglfunctions_3_3_core.cpp | 132 +++------- .../opengl/qopenglfunctions_4_0_compatibility.cpp | 209 +++++----------- src/gui/opengl/qopenglfunctions_4_0_core.cpp | 143 +++-------- .../opengl/qopenglfunctions_4_1_compatibility.cpp | 220 +++++------------ src/gui/opengl/qopenglfunctions_4_1_core.cpp | 154 ++++-------- .../opengl/qopenglfunctions_4_2_compatibility.cpp | 231 +++++------------ src/gui/opengl/qopenglfunctions_4_2_core.cpp | 165 ++++--------- .../opengl/qopenglfunctions_4_3_compatibility.cpp | 242 +++++------------- src/gui/opengl/qopenglfunctions_4_3_core.cpp | 176 ++++--------- .../opengl/qopenglfunctions_4_4_compatibility.cpp | 253 ++++++------------- src/gui/opengl/qopenglfunctions_4_4_core.cpp | 187 ++++---------- .../opengl/qopenglfunctions_4_5_compatibility.cpp | 275 ++++++--------------- src/gui/opengl/qopenglfunctions_4_5_core.cpp | 198 ++++----------- src/gui/opengl/qopenglversionfunctions.cpp | 54 +++- src/gui/opengl/qopenglversionfunctions.h | 93 ++++--- 31 files changed, 1212 insertions(+), 3035 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index a45217ca29..61324d73f3 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -661,8 +661,6 @@ void QOpenGLContext::destroy() d->externalVersionFunctions.clear(); qDeleteAll(d->versionFunctions); d->versionFunctions.clear(); - qDeleteAll(d->versionFunctionsBackend); - d->versionFunctionsBackend.clear(); delete d->textureFunctions; d->textureFunctions = 0; @@ -1302,28 +1300,10 @@ QOpenGLContext *QOpenGLContext::globalShareContext() /*! \internal */ -QOpenGLVersionFunctionsBackend *QOpenGLContext::functionsBackend(const QOpenGLVersionFunctionsBackend::Version v) const +QOpenGLVersionFunctionsStorage *QOpenGLContext::functionsBackendStorage() const { Q_D(const QOpenGLContext); - return d->versionFunctionsBackend.value(v, 0); -} - -/*! - \internal -*/ -void QOpenGLContext::insertFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v, QOpenGLVersionFunctionsBackend *backend) -{ - Q_D(QOpenGLContext); - d->versionFunctionsBackend.insert(v, backend); -} - -/*! - \internal -*/ -void QOpenGLContext::removeFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v) -{ - Q_D(QOpenGLContext); - d->versionFunctionsBackend.remove(v); + return &d->versionFunctionsStorage; } /*! diff --git a/src/gui/kernel/qopenglcontext.h b/src/gui/kernel/qopenglcontext.h index 9bb48ab4fc..33e3f1c3f6 100644 --- a/src/gui/kernel/qopenglcontext.h +++ b/src/gui/kernel/qopenglcontext.h @@ -237,9 +237,7 @@ private: void setQGLContextHandle(void *handle,void (*qGLContextDeleteFunction)(void *)); void deleteQGLContext(); - QOpenGLVersionFunctionsBackend* functionsBackend(QOpenGLVersionFunctionsBackend::Version v) const; - void insertFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v, QOpenGLVersionFunctionsBackend *backend); - void removeFunctionsBackend(const QOpenGLVersionFunctionsBackend::Version v); + QOpenGLVersionFunctionsStorage* functionsBackendStorage() const; void insertExternalFunctions(QAbstractOpenGLFunctions *f); void removeExternalFunctions(QAbstractOpenGLFunctions *f); diff --git a/src/gui/kernel/qopenglcontext_p.h b/src/gui/kernel/qopenglcontext_p.h index 57053a6d61..4a5fbab364 100644 --- a/src/gui/kernel/qopenglcontext_p.h +++ b/src/gui/kernel/qopenglcontext_p.h @@ -222,7 +222,7 @@ public: } mutable QHash versionFunctions; - mutable QHash versionFunctionsBackend; + mutable QOpenGLVersionFunctionsStorage versionFunctionsStorage; mutable QSet externalVersionFunctions; void *qGLContextHandle; diff --git a/src/gui/opengl/qopenglfunctions_1_0.cpp b/src/gui/opengl/qopenglfunctions_1_0.cpp index dcaff4b300..9d5a76380a 100644 --- a/src/gui/opengl/qopenglfunctions_1_0.cpp +++ b/src/gui/opengl/qopenglfunctions_1_0.cpp @@ -74,14 +74,12 @@ QOpenGLFunctions_1_0::QOpenGLFunctions_1_0() QOpenGLFunctions_1_0::~QOpenGLFunctions_1_0() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); } bool QOpenGLFunctions_1_0::initializeOpenGLFunctions() @@ -100,18 +98,10 @@ bool QOpenGLFunctions_1_0::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_1_1.cpp b/src/gui/opengl/qopenglfunctions_1_1.cpp index 08bc20b81f..57385f1927 100644 --- a/src/gui/opengl/qopenglfunctions_1_1.cpp +++ b/src/gui/opengl/qopenglfunctions_1_1.cpp @@ -76,22 +76,18 @@ QOpenGLFunctions_1_1::QOpenGLFunctions_1_1() QOpenGLFunctions_1_1::~QOpenGLFunctions_1_1() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); } bool QOpenGLFunctions_1_1::initializeOpenGLFunctions() @@ -110,34 +106,18 @@ bool QOpenGLFunctions_1_1::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_1_2.cpp b/src/gui/opengl/qopenglfunctions_1_2.cpp index bbc524527c..9eaa13862d 100644 --- a/src/gui/opengl/qopenglfunctions_1_2.cpp +++ b/src/gui/opengl/qopenglfunctions_1_2.cpp @@ -78,30 +78,24 @@ QOpenGLFunctions_1_2::QOpenGLFunctions_1_2() QOpenGLFunctions_1_2::~QOpenGLFunctions_1_2() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); } bool QOpenGLFunctions_1_2::initializeOpenGLFunctions() @@ -120,50 +114,26 @@ bool QOpenGLFunctions_1_2::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_1_3.cpp b/src/gui/opengl/qopenglfunctions_1_3.cpp index c7a9f2a1f2..6211997302 100644 --- a/src/gui/opengl/qopenglfunctions_1_3.cpp +++ b/src/gui/opengl/qopenglfunctions_1_3.cpp @@ -80,38 +80,30 @@ QOpenGLFunctions_1_3::QOpenGLFunctions_1_3() QOpenGLFunctions_1_3::~QOpenGLFunctions_1_3() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); } bool QOpenGLFunctions_1_3::initializeOpenGLFunctions() @@ -130,66 +122,34 @@ bool QOpenGLFunctions_1_3::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_1_4.cpp b/src/gui/opengl/qopenglfunctions_1_4.cpp index fc712a8cf1..5ff2c24014 100644 --- a/src/gui/opengl/qopenglfunctions_1_4.cpp +++ b/src/gui/opengl/qopenglfunctions_1_4.cpp @@ -82,46 +82,36 @@ QOpenGLFunctions_1_4::QOpenGLFunctions_1_4() QOpenGLFunctions_1_4::~QOpenGLFunctions_1_4() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); } bool QOpenGLFunctions_1_4::initializeOpenGLFunctions() @@ -140,82 +130,42 @@ bool QOpenGLFunctions_1_4::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_1_5.cpp b/src/gui/opengl/qopenglfunctions_1_5.cpp index b0cf705dc4..d07f1decec 100644 --- a/src/gui/opengl/qopenglfunctions_1_5.cpp +++ b/src/gui/opengl/qopenglfunctions_1_5.cpp @@ -83,50 +83,39 @@ QOpenGLFunctions_1_5::QOpenGLFunctions_1_5() QOpenGLFunctions_1_5::~QOpenGLFunctions_1_5() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); } bool QOpenGLFunctions_1_5::initializeOpenGLFunctions() @@ -145,90 +134,46 @@ bool QOpenGLFunctions_1_5::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_2_0.cpp b/src/gui/opengl/qopenglfunctions_2_0.cpp index 645134a588..b7dc8ef458 100644 --- a/src/gui/opengl/qopenglfunctions_2_0.cpp +++ b/src/gui/opengl/qopenglfunctions_2_0.cpp @@ -85,54 +85,42 @@ QOpenGLFunctions_2_0::QOpenGLFunctions_2_0() QOpenGLFunctions_2_0::~QOpenGLFunctions_2_0() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); } bool QOpenGLFunctions_2_0::initializeOpenGLFunctions() @@ -151,98 +139,50 @@ bool QOpenGLFunctions_2_0::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_2_1.cpp b/src/gui/opengl/qopenglfunctions_2_1.cpp index 37574c7f44..e756685d10 100644 --- a/src/gui/opengl/qopenglfunctions_2_1.cpp +++ b/src/gui/opengl/qopenglfunctions_2_1.cpp @@ -86,58 +86,45 @@ QOpenGLFunctions_2_1::QOpenGLFunctions_2_1() QOpenGLFunctions_2_1::~QOpenGLFunctions_2_1() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); } bool QOpenGLFunctions_2_1::initializeOpenGLFunctions() @@ -156,106 +143,54 @@ bool QOpenGLFunctions_2_1::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_3_0.cpp b/src/gui/opengl/qopenglfunctions_3_0.cpp index 7b7a0f1011..ee7f92855d 100644 --- a/src/gui/opengl/qopenglfunctions_3_0.cpp +++ b/src/gui/opengl/qopenglfunctions_3_0.cpp @@ -88,62 +88,48 @@ QOpenGLFunctions_3_0::QOpenGLFunctions_3_0() QOpenGLFunctions_3_0::~QOpenGLFunctions_3_0() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); } bool QOpenGLFunctions_3_0::initializeOpenGLFunctions() @@ -162,114 +148,58 @@ bool QOpenGLFunctions_3_0::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_3_1.cpp b/src/gui/opengl/qopenglfunctions_3_1.cpp index b1c16a08d0..a459ddf244 100644 --- a/src/gui/opengl/qopenglfunctions_3_1.cpp +++ b/src/gui/opengl/qopenglfunctions_3_1.cpp @@ -82,46 +82,36 @@ QOpenGLFunctions_3_1::QOpenGLFunctions_3_1() QOpenGLFunctions_3_1::~QOpenGLFunctions_3_1() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); } bool QOpenGLFunctions_3_1::initializeOpenGLFunctions() @@ -140,82 +130,42 @@ bool QOpenGLFunctions_3_1::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_3_2_compatibility.cpp b/src/gui/opengl/qopenglfunctions_3_2_compatibility.cpp index e14a01ed05..09402db09a 100644 --- a/src/gui/opengl/qopenglfunctions_3_2_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_3_2_compatibility.cpp @@ -90,70 +90,54 @@ QOpenGLFunctions_3_2_Compatibility::QOpenGLFunctions_3_2_Compatibility() QOpenGLFunctions_3_2_Compatibility::~QOpenGLFunctions_3_2_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); } bool QOpenGLFunctions_3_2_Compatibility::initializeOpenGLFunctions() @@ -172,130 +156,66 @@ bool QOpenGLFunctions_3_2_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_3_2_core.cpp b/src/gui/opengl/qopenglfunctions_3_2_core.cpp index 738fd32a37..177dc9e25d 100644 --- a/src/gui/opengl/qopenglfunctions_3_2_core.cpp +++ b/src/gui/opengl/qopenglfunctions_3_2_core.cpp @@ -83,50 +83,39 @@ QOpenGLFunctions_3_2_Core::QOpenGLFunctions_3_2_Core() QOpenGLFunctions_3_2_Core::~QOpenGLFunctions_3_2_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); } bool QOpenGLFunctions_3_2_Core::initializeOpenGLFunctions() @@ -145,90 +134,46 @@ bool QOpenGLFunctions_3_2_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_3_3_compatibility.cpp b/src/gui/opengl/qopenglfunctions_3_3_compatibility.cpp index 89bcf84a91..110a49ea53 100644 --- a/src/gui/opengl/qopenglfunctions_3_3_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_3_3_compatibility.cpp @@ -91,78 +91,60 @@ QOpenGLFunctions_3_3_Compatibility::QOpenGLFunctions_3_3_Compatibility() QOpenGLFunctions_3_3_Compatibility::~QOpenGLFunctions_3_3_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } - if (d_3_3_Deprecated && !d_3_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Deprecated->context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - delete d_3_3_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); + if (d_3_3_Deprecated) + d_3_3_Deprecated->refs.deref(); + Q_ASSERT(d_3_3_Deprecated->refs.load()); } bool QOpenGLFunctions_3_3_Compatibility::initializeOpenGLFunctions() @@ -181,146 +163,74 @@ bool QOpenGLFunctions_3_3_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus(), d); - } d_3_3_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_3_3_core.cpp b/src/gui/opengl/qopenglfunctions_3_3_core.cpp index fc9ad6951c..2e706724d9 100644 --- a/src/gui/opengl/qopenglfunctions_3_3_core.cpp +++ b/src/gui/opengl/qopenglfunctions_3_3_core.cpp @@ -84,54 +84,42 @@ QOpenGLFunctions_3_3_Core::QOpenGLFunctions_3_3_Core() QOpenGLFunctions_3_3_Core::~QOpenGLFunctions_3_3_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); } bool QOpenGLFunctions_3_3_Core::initializeOpenGLFunctions() @@ -150,98 +138,50 @@ bool QOpenGLFunctions_3_3_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_0_compatibility.cpp b/src/gui/opengl/qopenglfunctions_4_0_compatibility.cpp index cc2b145ff4..14fb168c94 100644 --- a/src/gui/opengl/qopenglfunctions_4_0_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_4_0_compatibility.cpp @@ -92,82 +92,63 @@ QOpenGLFunctions_4_0_Compatibility::QOpenGLFunctions_4_0_Compatibility() QOpenGLFunctions_4_0_Compatibility::~QOpenGLFunctions_4_0_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } - if (d_3_3_Deprecated && !d_3_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Deprecated->context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - delete d_3_3_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); + if (d_3_3_Deprecated) + d_3_3_Deprecated->refs.deref(); + Q_ASSERT(d_3_3_Deprecated->refs.load()); } bool QOpenGLFunctions_4_0_Compatibility::initializeOpenGLFunctions() @@ -186,154 +167,78 @@ bool QOpenGLFunctions_4_0_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus(), d); - } d_3_3_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_0_core.cpp b/src/gui/opengl/qopenglfunctions_4_0_core.cpp index 022a27ccd6..6dc94153c8 100644 --- a/src/gui/opengl/qopenglfunctions_4_0_core.cpp +++ b/src/gui/opengl/qopenglfunctions_4_0_core.cpp @@ -85,58 +85,45 @@ QOpenGLFunctions_4_0_Core::QOpenGLFunctions_4_0_Core() QOpenGLFunctions_4_0_Core::~QOpenGLFunctions_4_0_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); } bool QOpenGLFunctions_4_0_Core::initializeOpenGLFunctions() @@ -155,106 +142,54 @@ bool QOpenGLFunctions_4_0_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_1_compatibility.cpp b/src/gui/opengl/qopenglfunctions_4_1_compatibility.cpp index f1a3bb5b05..293409ddef 100644 --- a/src/gui/opengl/qopenglfunctions_4_1_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_4_1_compatibility.cpp @@ -93,86 +93,66 @@ QOpenGLFunctions_4_1_Compatibility::QOpenGLFunctions_4_1_Compatibility() QOpenGLFunctions_4_1_Compatibility::~QOpenGLFunctions_4_1_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } - if (d_3_3_Deprecated && !d_3_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Deprecated->context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - delete d_3_3_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); + if (d_3_3_Deprecated) + d_3_3_Deprecated->refs.deref(); + Q_ASSERT(d_3_3_Deprecated->refs.load()); } bool QOpenGLFunctions_4_1_Compatibility::initializeOpenGLFunctions() @@ -191,162 +171,82 @@ bool QOpenGLFunctions_4_1_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus(), d); - } d_3_3_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_1_core.cpp b/src/gui/opengl/qopenglfunctions_4_1_core.cpp index b3c2c11d60..ff3d191781 100644 --- a/src/gui/opengl/qopenglfunctions_4_1_core.cpp +++ b/src/gui/opengl/qopenglfunctions_4_1_core.cpp @@ -86,62 +86,48 @@ QOpenGLFunctions_4_1_Core::QOpenGLFunctions_4_1_Core() QOpenGLFunctions_4_1_Core::~QOpenGLFunctions_4_1_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); } bool QOpenGLFunctions_4_1_Core::initializeOpenGLFunctions() @@ -160,114 +146,58 @@ bool QOpenGLFunctions_4_1_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_2_compatibility.cpp b/src/gui/opengl/qopenglfunctions_4_2_compatibility.cpp index 2f6dbc9b78..58527e92b5 100644 --- a/src/gui/opengl/qopenglfunctions_4_2_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_4_2_compatibility.cpp @@ -94,90 +94,69 @@ QOpenGLFunctions_4_2_Compatibility::QOpenGLFunctions_4_2_Compatibility() QOpenGLFunctions_4_2_Compatibility::~QOpenGLFunctions_4_2_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } - if (d_3_3_Deprecated && !d_3_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Deprecated->context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - delete d_3_3_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); + if (d_3_3_Deprecated) + d_3_3_Deprecated->refs.deref(); + Q_ASSERT(d_3_3_Deprecated->refs.load()); } bool QOpenGLFunctions_4_2_Compatibility::initializeOpenGLFunctions() @@ -196,170 +175,86 @@ bool QOpenGLFunctions_4_2_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus(), d); - } d_3_3_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_2_core.cpp b/src/gui/opengl/qopenglfunctions_4_2_core.cpp index 800d4679c5..b929abcf6a 100644 --- a/src/gui/opengl/qopenglfunctions_4_2_core.cpp +++ b/src/gui/opengl/qopenglfunctions_4_2_core.cpp @@ -87,66 +87,51 @@ QOpenGLFunctions_4_2_Core::QOpenGLFunctions_4_2_Core() QOpenGLFunctions_4_2_Core::~QOpenGLFunctions_4_2_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); } bool QOpenGLFunctions_4_2_Core::initializeOpenGLFunctions() @@ -165,122 +150,62 @@ bool QOpenGLFunctions_4_2_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_3_compatibility.cpp b/src/gui/opengl/qopenglfunctions_4_3_compatibility.cpp index 0cf5c467ea..a9f15083ad 100644 --- a/src/gui/opengl/qopenglfunctions_4_3_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_4_3_compatibility.cpp @@ -95,94 +95,72 @@ QOpenGLFunctions_4_3_Compatibility::QOpenGLFunctions_4_3_Compatibility() QOpenGLFunctions_4_3_Compatibility::~QOpenGLFunctions_4_3_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } - if (d_4_3_Core && !d_4_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_3_Core->context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - delete d_4_3_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } - if (d_3_3_Deprecated && !d_3_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Deprecated->context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - delete d_3_3_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); + if (d_4_3_Core) + d_4_3_Core->refs.deref(); + Q_ASSERT(d_4_3_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); + if (d_3_3_Deprecated) + d_3_3_Deprecated->refs.deref(); + Q_ASSERT(d_3_3_Deprecated->refs.load()); } bool QOpenGLFunctions_4_3_Compatibility::initializeOpenGLFunctions() @@ -201,178 +179,90 @@ bool QOpenGLFunctions_4_3_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus(), d); - } d_4_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus(), d); - } d_3_3_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_3_core.cpp b/src/gui/opengl/qopenglfunctions_4_3_core.cpp index 5d8bb179ce..d3f988ba0d 100644 --- a/src/gui/opengl/qopenglfunctions_4_3_core.cpp +++ b/src/gui/opengl/qopenglfunctions_4_3_core.cpp @@ -88,70 +88,54 @@ QOpenGLFunctions_4_3_Core::QOpenGLFunctions_4_3_Core() QOpenGLFunctions_4_3_Core::~QOpenGLFunctions_4_3_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } - if (d_4_3_Core && !d_4_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_3_Core->context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - delete d_4_3_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); + if (d_4_3_Core) + d_4_3_Core->refs.deref(); + Q_ASSERT(d_4_3_Core->refs.load()); } bool QOpenGLFunctions_4_3_Core::initializeOpenGLFunctions() @@ -170,130 +154,66 @@ bool QOpenGLFunctions_4_3_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus(), d); - } d_4_3_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_4_compatibility.cpp b/src/gui/opengl/qopenglfunctions_4_4_compatibility.cpp index 0f0bf925c9..8cbb94c1a1 100644 --- a/src/gui/opengl/qopenglfunctions_4_4_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_4_4_compatibility.cpp @@ -95,98 +95,75 @@ QOpenGLFunctions_4_4_Compatibility::QOpenGLFunctions_4_4_Compatibility() QOpenGLFunctions_4_4_Compatibility::~QOpenGLFunctions_4_4_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } - if (d_4_3_Core && !d_4_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_3_Core->context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - delete d_4_3_Core; - } - if (d_4_4_Core && !d_4_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_4_Core->context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - delete d_4_4_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } - if (d_3_3_Deprecated && !d_3_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Deprecated->context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - delete d_3_3_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); + if (d_4_3_Core) + d_4_3_Core->refs.deref(); + Q_ASSERT(d_4_3_Core->refs.load()); + if (d_4_4_Core) + d_4_4_Core->refs.deref(); + Q_ASSERT(d_4_4_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); + if (d_3_3_Deprecated) + d_3_3_Deprecated->refs.deref(); + Q_ASSERT(d_3_3_Deprecated->refs.load()); } bool QOpenGLFunctions_4_4_Compatibility::initializeOpenGLFunctions() @@ -205,186 +182,94 @@ bool QOpenGLFunctions_4_4_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus(), d); - } d_4_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus(), d); - } d_4_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus(), d); - } d_3_3_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_4_core.cpp b/src/gui/opengl/qopenglfunctions_4_4_core.cpp index dcf57f64b1..95bfc3a438 100644 --- a/src/gui/opengl/qopenglfunctions_4_4_core.cpp +++ b/src/gui/opengl/qopenglfunctions_4_4_core.cpp @@ -89,74 +89,57 @@ QOpenGLFunctions_4_4_Core::QOpenGLFunctions_4_4_Core() QOpenGLFunctions_4_4_Core::~QOpenGLFunctions_4_4_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } - if (d_4_3_Core && !d_4_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_3_Core->context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - delete d_4_3_Core; - } - if (d_4_4_Core && !d_4_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_4_Core->context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - delete d_4_4_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); + if (d_4_3_Core) + d_4_3_Core->refs.deref(); + Q_ASSERT(d_4_3_Core->refs.load()); + if (d_4_4_Core) + d_4_4_Core->refs.deref(); + Q_ASSERT(d_4_4_Core->refs.load()); } bool QOpenGLFunctions_4_4_Core::initializeOpenGLFunctions() @@ -175,138 +158,70 @@ bool QOpenGLFunctions_4_4_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus(), d); - } d_4_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus(), d); - } d_4_4_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp b/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp index d568d17f56..81ee8559a5 100644 --- a/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp +++ b/src/gui/opengl/qopenglfunctions_4_5_compatibility.cpp @@ -97,106 +97,81 @@ QOpenGLFunctions_4_5_Compatibility::QOpenGLFunctions_4_5_Compatibility() QOpenGLFunctions_4_5_Compatibility::~QOpenGLFunctions_4_5_Compatibility() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } - if (d_4_3_Core && !d_4_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_3_Core->context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - delete d_4_3_Core; - } - if (d_4_4_Core && !d_4_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_4_Core->context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - delete d_4_4_Core; - } - if (d_4_5_Core && !d_4_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_5_Core->context, QOpenGLFunctions_4_5_CoreBackend::versionStatus()); - delete d_4_5_Core; - } - if (d_1_0_Deprecated && !d_1_0_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Deprecated->context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - delete d_1_0_Deprecated; - } - if (d_1_1_Deprecated && !d_1_1_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Deprecated->context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - delete d_1_1_Deprecated; - } - if (d_1_2_Deprecated && !d_1_2_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Deprecated->context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - delete d_1_2_Deprecated; - } - if (d_1_3_Deprecated && !d_1_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Deprecated->context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - delete d_1_3_Deprecated; - } - if (d_1_4_Deprecated && !d_1_4_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Deprecated->context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - delete d_1_4_Deprecated; - } - if (d_3_3_Deprecated && !d_3_3_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Deprecated->context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - delete d_3_3_Deprecated; - } - if (d_4_5_Deprecated && !d_4_5_Deprecated->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_5_Deprecated->context, QOpenGLFunctions_4_5_DeprecatedBackend::versionStatus()); - delete d_4_5_Deprecated; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); + if (d_4_3_Core) + d_4_3_Core->refs.deref(); + Q_ASSERT(d_4_3_Core->refs.load()); + if (d_4_4_Core) + d_4_4_Core->refs.deref(); + Q_ASSERT(d_4_4_Core->refs.load()); + if (d_4_5_Core) + d_4_5_Core->refs.deref(); + Q_ASSERT(d_4_5_Core->refs.load()); + if (d_1_0_Deprecated) + d_1_0_Deprecated->refs.deref(); + Q_ASSERT(d_1_0_Deprecated->refs.load()); + if (d_1_1_Deprecated) + d_1_1_Deprecated->refs.deref(); + Q_ASSERT(d_1_1_Deprecated->refs.load()); + if (d_1_2_Deprecated) + d_1_2_Deprecated->refs.deref(); + Q_ASSERT(d_1_2_Deprecated->refs.load()); + if (d_1_3_Deprecated) + d_1_3_Deprecated->refs.deref(); + Q_ASSERT(d_1_3_Deprecated->refs.load()); + if (d_1_4_Deprecated) + d_1_4_Deprecated->refs.deref(); + Q_ASSERT(d_1_4_Deprecated->refs.load()); + if (d_3_3_Deprecated) + d_3_3_Deprecated->refs.deref(); + Q_ASSERT(d_3_3_Deprecated->refs.load()); + if (d_4_5_Deprecated) + d_4_5_Deprecated->refs.deref(); + Q_ASSERT(d_4_5_Deprecated->refs.load()); } bool QOpenGLFunctions_4_5_Compatibility::initializeOpenGLFunctions() @@ -215,202 +190,102 @@ bool QOpenGLFunctions_4_5_Compatibility::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus(), d); - } d_4_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus(), d); - } d_4_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_5_CoreBackend::versionStatus(), d); - } d_4_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_DeprecatedBackend::versionStatus(), d); - } d_1_0_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_DeprecatedBackend::versionStatus(), d); - } d_1_1_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_DeprecatedBackend::versionStatus(), d); - } d_1_2_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_DeprecatedBackend::versionStatus(), d); - } d_1_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_DeprecatedBackend::versionStatus(), d); - } d_1_4_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_DeprecatedBackend::versionStatus(), d); - } d_3_3_Deprecated = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_5_DeprecatedBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_5_DeprecatedBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_5_DeprecatedBackend::versionStatus(), d); - } d_4_5_Deprecated = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglfunctions_4_5_core.cpp b/src/gui/opengl/qopenglfunctions_4_5_core.cpp index be08a76a69..2fdb9ef855 100644 --- a/src/gui/opengl/qopenglfunctions_4_5_core.cpp +++ b/src/gui/opengl/qopenglfunctions_4_5_core.cpp @@ -90,78 +90,60 @@ QOpenGLFunctions_4_5_Core::QOpenGLFunctions_4_5_Core() QOpenGLFunctions_4_5_Core::~QOpenGLFunctions_4_5_Core() { - if (d_1_0_Core && !d_1_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_0_Core->context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - delete d_1_0_Core; - } - if (d_1_1_Core && !d_1_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_1_Core->context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - delete d_1_1_Core; - } - if (d_1_2_Core && !d_1_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_2_Core->context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - delete d_1_2_Core; - } - if (d_1_3_Core && !d_1_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_3_Core->context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - delete d_1_3_Core; - } - if (d_1_4_Core && !d_1_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_4_Core->context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - delete d_1_4_Core; - } - if (d_1_5_Core && !d_1_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_1_5_Core->context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - delete d_1_5_Core; - } - if (d_2_0_Core && !d_2_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_0_Core->context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - delete d_2_0_Core; - } - if (d_2_1_Core && !d_2_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_2_1_Core->context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - delete d_2_1_Core; - } - if (d_3_0_Core && !d_3_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_0_Core->context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - delete d_3_0_Core; - } - if (d_3_1_Core && !d_3_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_1_Core->context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - delete d_3_1_Core; - } - if (d_3_2_Core && !d_3_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_2_Core->context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - delete d_3_2_Core; - } - if (d_3_3_Core && !d_3_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_3_3_Core->context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - delete d_3_3_Core; - } - if (d_4_0_Core && !d_4_0_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_0_Core->context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - delete d_4_0_Core; - } - if (d_4_1_Core && !d_4_1_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_1_Core->context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - delete d_4_1_Core; - } - if (d_4_2_Core && !d_4_2_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_2_Core->context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - delete d_4_2_Core; - } - if (d_4_3_Core && !d_4_3_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_3_Core->context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - delete d_4_3_Core; - } - if (d_4_4_Core && !d_4_4_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_4_Core->context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - delete d_4_4_Core; - } - if (d_4_5_Core && !d_4_5_Core->refs.deref()) { - QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(d_4_5_Core->context, QOpenGLFunctions_4_5_CoreBackend::versionStatus()); - delete d_4_5_Core; - } + if (d_1_0_Core) + d_1_0_Core->refs.deref(); + Q_ASSERT(d_1_0_Core->refs.load()); + if (d_1_1_Core) + d_1_1_Core->refs.deref(); + Q_ASSERT(d_1_1_Core->refs.load()); + if (d_1_2_Core) + d_1_2_Core->refs.deref(); + Q_ASSERT(d_1_2_Core->refs.load()); + if (d_1_3_Core) + d_1_3_Core->refs.deref(); + Q_ASSERT(d_1_3_Core->refs.load()); + if (d_1_4_Core) + d_1_4_Core->refs.deref(); + Q_ASSERT(d_1_4_Core->refs.load()); + if (d_1_5_Core) + d_1_5_Core->refs.deref(); + Q_ASSERT(d_1_5_Core->refs.load()); + if (d_2_0_Core) + d_2_0_Core->refs.deref(); + Q_ASSERT(d_2_0_Core->refs.load()); + if (d_2_1_Core) + d_2_1_Core->refs.deref(); + Q_ASSERT(d_2_1_Core->refs.load()); + if (d_3_0_Core) + d_3_0_Core->refs.deref(); + Q_ASSERT(d_3_0_Core->refs.load()); + if (d_3_1_Core) + d_3_1_Core->refs.deref(); + Q_ASSERT(d_3_1_Core->refs.load()); + if (d_3_2_Core) + d_3_2_Core->refs.deref(); + Q_ASSERT(d_3_2_Core->refs.load()); + if (d_3_3_Core) + d_3_3_Core->refs.deref(); + Q_ASSERT(d_3_3_Core->refs.load()); + if (d_4_0_Core) + d_4_0_Core->refs.deref(); + Q_ASSERT(d_4_0_Core->refs.load()); + if (d_4_1_Core) + d_4_1_Core->refs.deref(); + Q_ASSERT(d_4_1_Core->refs.load()); + if (d_4_2_Core) + d_4_2_Core->refs.deref(); + Q_ASSERT(d_4_2_Core->refs.load()); + if (d_4_3_Core) + d_4_3_Core->refs.deref(); + Q_ASSERT(d_4_3_Core->refs.load()); + if (d_4_4_Core) + d_4_4_Core->refs.deref(); + Q_ASSERT(d_4_4_Core->refs.load()); + if (d_4_5_Core) + d_4_5_Core->refs.deref(); + Q_ASSERT(d_4_5_Core->refs.load()); } bool QOpenGLFunctions_4_5_Core::initializeOpenGLFunctions() @@ -180,146 +162,74 @@ bool QOpenGLFunctions_4_5_Core::initializeOpenGLFunctions() // Function pointers in the backends are resolved at creation time QOpenGLVersionFunctionsBackend* d = 0; d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_0_CoreBackend::versionStatus(), d); - } d_1_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_1_CoreBackend::versionStatus(), d); - } d_1_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_2_CoreBackend::versionStatus(), d); - } d_1_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_3_CoreBackend::versionStatus(), d); - } d_1_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_4_CoreBackend::versionStatus(), d); - } d_1_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_1_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_1_5_CoreBackend::versionStatus(), d); - } d_1_5_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_0_CoreBackend::versionStatus(), d); - } d_2_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_2_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_2_1_CoreBackend::versionStatus(), d); - } d_2_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_0_CoreBackend::versionStatus(), d); - } d_3_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_1_CoreBackend::versionStatus(), d); - } d_3_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_2_CoreBackend::versionStatus(), d); - } d_3_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_3_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_3_3_CoreBackend::versionStatus(), d); - } d_3_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_0_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_0_CoreBackend::versionStatus(), d); - } d_4_0_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_1_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_1_CoreBackend::versionStatus(), d); - } d_4_1_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_2_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_2_CoreBackend::versionStatus(), d); - } d_4_2_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_3_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_3_CoreBackend::versionStatus(), d); - } d_4_3_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_4_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_4_CoreBackend::versionStatus(), d); - } d_4_4_Core = static_cast(d); d->refs.ref(); d = QAbstractOpenGLFunctionsPrivate::functionsBackend(context, QOpenGLFunctions_4_5_CoreBackend::versionStatus()); - if (!d) { - d = new QOpenGLFunctions_4_5_CoreBackend(context); - QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(context, QOpenGLFunctions_4_5_CoreBackend::versionStatus(), d); - } d_4_5_Core = static_cast(d); d->refs.ref(); diff --git a/src/gui/opengl/qopenglversionfunctions.cpp b/src/gui/opengl/qopenglversionfunctions.cpp index a5b03315e6..3fba00bc47 100644 --- a/src/gui/opengl/qopenglversionfunctions.cpp +++ b/src/gui/opengl/qopenglversionfunctions.cpp @@ -85,23 +85,59 @@ void CLASS::init() \ #define QT_OPENGL_IMPLEMENT_WIN QT_OPENGL_IMPLEMENT #endif -QOpenGLVersionFunctionsBackend *QAbstractOpenGLFunctionsPrivate::functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v) +QOpenGLVersionFunctionsStorage::QOpenGLVersionFunctionsStorage() + : backends(0) { - Q_ASSERT(context); - return context->functionsBackend(v); } -void QAbstractOpenGLFunctionsPrivate::insertFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v, - QOpenGLVersionFunctionsBackend *backend) +QOpenGLVersionFunctionsStorage::~QOpenGLVersionFunctionsStorage() { - Q_ASSERT(context); - context->insertFunctionsBackend(v, backend); + if (backends) { + for (int i = 0; i < QOpenGLVersionFunctionsBackend::OpenGLVersionBackendCount; ++i) { + if (backends[i] && !--backends[i]->refs) { + // deleting the base class is ok, as the derived classes don't have a destructor + delete backends[i]; + } + } + delete[] backends; + } +} + +QOpenGLVersionFunctionsBackend *QOpenGLVersionFunctionsStorage::backend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v) +{ +#ifdef QT_OPENGL_ES + Q_UNUSED(context); + Q_UNUSED(v); + return 0; +#else + if (!backends) { + backends = new QOpenGLVersionFunctionsBackend *[QOpenGLVersionFunctionsBackend::OpenGLVersionBackendCount]; + memset(backends, 0, sizeof(QOpenGLVersionFunctionsBackend *)*QOpenGLVersionFunctionsBackend::OpenGLVersionBackendCount); + } + if (backends[v]) + return backends[v]; + + switch(v) { +#define VERSION_ENUM(X) QOpenGLVersionFunctionsBackend::OpenGL_##X +#define CREATE_BACKEND(X) \ + case VERSION_ENUM(X): \ + backends[VERSION_ENUM(X)] = new QOpenGLFunctions_##X##Backend(context); \ + break; + QT_OPENGL_VERSIONS(CREATE_BACKEND) + case QOpenGLVersionFunctionsBackend::OpenGLVersionBackendCount: + Q_UNREACHABLE(); + } + // the storage keeps one ref + ++backends[v]->refs; + return backends[v]; +#endif } -void QAbstractOpenGLFunctionsPrivate::removeFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v) +QOpenGLVersionFunctionsBackend *QAbstractOpenGLFunctionsPrivate::functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v) { Q_ASSERT(context); - context->removeFunctionsBackend(v); + QOpenGLVersionFunctionsStorage *storage = context->functionsBackendStorage(); + return storage->backend(context, v); } void QAbstractOpenGLFunctionsPrivate::insertExternalFunctions(QOpenGLContext *context, QAbstractOpenGLFunctions *f) diff --git a/src/gui/opengl/qopenglversionfunctions.h b/src/gui/opengl/qopenglversionfunctions.h index 7d2616a5d9..7f991b1955 100644 --- a/src/gui/opengl/qopenglversionfunctions.h +++ b/src/gui/opengl/qopenglversionfunctions.h @@ -132,36 +132,41 @@ private: \ class QOpenGLVersionFunctionsBackend { public: +#define QT_OPENGL_VERSIONS(F) \ + F(1_0_Core) \ + F(1_1_Core) \ + F(1_2_Core) \ + F(1_3_Core) \ + F(1_4_Core) \ + F(1_5_Core) \ + F(2_0_Core) \ + F(2_1_Core) \ + F(3_0_Core) \ + F(3_1_Core) \ + F(3_2_Core) \ + F(3_3_Core) \ + F(4_0_Core) \ + F(4_1_Core) \ + F(4_2_Core) \ + F(4_3_Core) \ + F(4_4_Core) \ + F(4_5_Core) \ + F(1_0_Deprecated) \ + F(1_1_Deprecated) \ + F(1_2_Deprecated) \ + F(1_3_Deprecated) \ + F(1_4_Deprecated) \ + F(2_0_Deprecated) \ + F(3_0_Deprecated) \ + F(3_3_Deprecated) \ + F(4_5_Deprecated) \ + +#define VERSION_ENUM(X) OpenGL_##X, enum Version { - OpenGL_1_0, - OpenGL_1_1, - OpenGL_1_2, - OpenGL_1_3, - OpenGL_1_4, - OpenGL_1_5, - OpenGL_2_0, - OpenGL_2_1, - OpenGL_3_0, - OpenGL_3_1, - OpenGL_3_2_Core, - OpenGL_3_3_Core, - OpenGL_4_0_Core, - OpenGL_4_1_Core, - OpenGL_4_2_Core, - OpenGL_4_3_Core, - OpenGL_4_4_Core, - OpenGL_4_5_Core, - OpenGL_1_0_Deprecated, - OpenGL_1_1_Deprecated, - OpenGL_1_2_Deprecated, - OpenGL_1_3_Deprecated, - OpenGL_1_4_Deprecated, - OpenGL_2_0_Deprecated, - OpenGL_3_0_Deprecated, - OpenGL_3_3_Deprecated, - OpenGL_4_5_Deprecated, + QT_OPENGL_VERSIONS(VERSION_ENUM) OpenGLVersionBackendCount }; +#undef VERSION_ENUM QOpenGLVersionFunctionsBackend(QOpenGLContext *ctx) : context(ctx) @@ -171,6 +176,17 @@ public: QAtomicInt refs; }; +class QOpenGLVersionFunctionsStorage +{ +public: + QOpenGLVersionFunctionsStorage(); + ~QOpenGLVersionFunctionsStorage(); + + QOpenGLVersionFunctionsBackend *backend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v); + + QOpenGLVersionFunctionsBackend **backends; +}; + class QAbstractOpenGLFunctions; class QAbstractOpenGLFunctionsPrivate @@ -182,9 +198,6 @@ public: {} static QOpenGLVersionFunctionsBackend *functionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v); - static void insertFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v, - QOpenGLVersionFunctionsBackend *backend); - static void removeFunctionsBackend(QOpenGLContext *context, QOpenGLVersionFunctionsBackend::Version v); static void insertExternalFunctions(QOpenGLContext *context, QAbstractOpenGLFunctions *f); static void removeExternalFunctions(QOpenGLContext *context, QAbstractOpenGLFunctions *f); @@ -232,7 +245,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_1_0; } + { return OpenGL_1_0_Core; } // OpenGL 1.0 core functions #define QT_OPENGL_1_0_FUNCTIONS(F) \ @@ -298,7 +311,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_1_1; } + { return OpenGL_1_1_Core; } // OpenGL 1.1 core functions #define QT_OPENGL_1_1_FUNCTIONS(F) \ @@ -332,7 +345,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_1_2; } + { return OpenGL_1_2_Core; } // OpenGL 1.2 core functions #define QT_OPENGL_1_2_FUNCTIONS(F) \ @@ -356,7 +369,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_1_3; } + { return OpenGL_1_3_Core; } // OpenGL 1.3 core functions #define QT_OPENGL_1_3_FUNCTIONS(F) \ @@ -383,7 +396,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_1_4; } + { return OpenGL_1_4_Core; } // OpenGL 1.4 core functions #define QT_OPENGL_1_4_FUNCTIONS(F) \ @@ -408,7 +421,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_1_5; } + { return OpenGL_1_5_Core; } // OpenGL 1.5 core functions #define QT_OPENGL_1_5_FUNCTIONS(F) \ @@ -445,7 +458,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_2_0; } + { return OpenGL_2_0_Core; } // OpenGL 2.0 core functions #define QT_OPENGL_2_0_FUNCTIONS(F) \ @@ -556,7 +569,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_2_1; } + { return OpenGL_2_1_Core; } // OpenGL 2.1 core functions #define QT_OPENGL_2_1_FUNCTIONS(F) \ @@ -580,7 +593,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_3_0; } + { return OpenGL_3_0_Core; } // OpenGL 3.0 core functions #define QT_OPENGL_3_0_FUNCTIONS(F) \ @@ -682,7 +695,7 @@ public: } Q_DECL_CONSTEXPR static Version versionStatus() - { return OpenGL_3_1; } + { return OpenGL_3_1_Core; } // OpenGL 3.1 core functions #define QT_OPENGL_3_1_FUNCTIONS(F) \ -- cgit v1.2.3 From 69f29b90322338bb7cd884a0cecdb8dd5dd2573e Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 12 Feb 2016 12:50:12 +0100 Subject: Clean up resolving of OpenGL functions on Windows Always try both e/wglGetProcAddress and ::GetProcAddress to resolve the methods. Like this QOpengGLContext::getProcAddress is able to return any OpenGL entry point, and we can both simplify the code we have in the QPA backend as well as get rid of windows specific code paths in Qt Gui. Task-number: QTBUG-39531 Change-Id: I1ddf1b0974f69b56b219a619655b723eb0134b14 Reviewed-by: Laszlo Agocs --- src/gui/opengl/qopengldebug.cpp | 12 - src/gui/opengl/qopengltexturehelper.cpp | 15 +- src/gui/opengl/qopenglversionfunctions.cpp | 26 +- .../platforms/windows/qwindowseglcontext.cpp | 476 ++++++++------------- src/plugins/platforms/windows/qwindowseglcontext.h | 148 +------ .../platforms/windows/qwindowsglcontext.cpp | 126 +----- src/plugins/platforms/windows/qwindowsglcontext.h | 48 +-- 7 files changed, 189 insertions(+), 662 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopengldebug.cpp b/src/gui/opengl/qopengldebug.cpp index 7bdf6ee443..24aa6094dd 100644 --- a/src/gui/opengl/qopengldebug.cpp +++ b/src/gui/opengl/qopengldebug.cpp @@ -1388,19 +1388,7 @@ bool QOpenGLDebugLogger::initialize() GET_DEBUG_PROC_ADDRESS(glGetDebugMessageLog); GET_DEBUG_PROC_ADDRESS(glPushDebugGroup); GET_DEBUG_PROC_ADDRESS(glPopDebugGroup); - - // Windows' Desktop GL doesn't allow resolution of "basic GL entry points" - // through wglGetProcAddress -#if defined(Q_OS_WIN) && !defined(QT_OPENGL_ES_2) - { - HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); - if (!handle) - handle = GetModuleHandleA("opengl32.dll"); - d->glGetPointerv = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glGetPointerv"))); - } -#else GET_DEBUG_PROC_ADDRESS(glGetPointerv) -#endif #undef GET_DEBUG_PROC_ADDRESS diff --git a/src/gui/opengl/qopengltexturehelper.cpp b/src/gui/opengl/qopengltexturehelper.cpp index 23e5ef6579..be88946e90 100644 --- a/src/gui/opengl/qopengltexturehelper.cpp +++ b/src/gui/opengl/qopengltexturehelper.cpp @@ -143,17 +143,6 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) TextureImage2DMultisample = &QOpenGLTextureHelper::qt_TextureImage2DMultisample; } -#if defined(Q_OS_WIN) && !defined(QT_OPENGL_ES_2) - // wglGetProcAddress should not be used to (and indeed will not) load OpenGL <= 1.1 functions. - // Hence, we resolve them "the hard way" - HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); - if (!handle) - handle = GetModuleHandleA("opengl32.dll"); - - TexImage1D = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexImage1D"))); - TexSubImage1D = reinterpret_cast(GetProcAddress(handle, QByteArrayLiteral("glTexSubImage1D"))); -#endif - #if defined(QT_OPENGL_ES_2) // Here we are targeting OpenGL ES 2.0+ only. This is likely using EGL, where, // similarly to WGL, non-extension functions (i.e. any function that is part of the @@ -227,6 +216,10 @@ QOpenGLTextureHelper::QOpenGLTextureHelper(QOpenGLContext *context) } #ifndef QT_OPENGL_ES_2 + // OpenGL 1.0 and 1.1 + TexImage1D = reinterpret_cast(context->getProcAddress("glTexImage1D")); + TexSubImage1D = reinterpret_cast(context->getProcAddress("glTexSubImage1D"));\ + // OpenGL 1.3 GetCompressedTexImage = reinterpret_cast(context->getProcAddress("glGetCompressedTexImage")); CompressedTexSubImage1D = reinterpret_cast(context->getProcAddress("glCompressedTexSubImage1D")); diff --git a/src/gui/opengl/qopenglversionfunctions.cpp b/src/gui/opengl/qopenglversionfunctions.cpp index 3fba00bc47..9fa224b0aa 100644 --- a/src/gui/opengl/qopenglversionfunctions.cpp +++ b/src/gui/opengl/qopenglversionfunctions.cpp @@ -67,24 +67,6 @@ void CLASS::init() \ } \ } -#ifdef Q_OS_WIN -#define QT_OPENGL_IMPLEMENT_WIN(CLASS, FUNCTIONS) \ -void CLASS::init() \ -{ \ - HMODULE handle = static_cast(QOpenGLContext::openGLModuleHandle()); \ - if (!handle) \ - handle = GetModuleHandleA("opengl32.dll"); \ - const char *names = FUNCTIONS(QT_OPENGL_FUNCTION_NAMES); \ - const char *name = names; \ - for (int i = 0; i < FUNCTIONS(QT_OPENGL_COUNT_FUNCTIONS); ++i) { \ - functions[i] = (QFunctionPointer)GetProcAddress(handle, name); \ - name += strlen(name) + 1; \ - } \ -} -#else -#define QT_OPENGL_IMPLEMENT_WIN QT_OPENGL_IMPLEMENT -#endif - QOpenGLVersionFunctionsStorage::QOpenGLVersionFunctionsStorage() : backends(0) { @@ -325,8 +307,8 @@ QOpenGLContext *QAbstractOpenGLFunctions::owningContext() const #if !defined(QT_OPENGL_ES_2) -QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_CoreBackend, QT_OPENGL_1_0_FUNCTIONS) -QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_CoreBackend, QT_OPENGL_1_1_FUNCTIONS) +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_0_CoreBackend, QT_OPENGL_1_0_FUNCTIONS) +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_1_CoreBackend, QT_OPENGL_1_1_FUNCTIONS) QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_CoreBackend, QT_OPENGL_1_2_FUNCTIONS) QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_CoreBackend, QT_OPENGL_1_3_FUNCTIONS) @@ -345,8 +327,8 @@ QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_3_CoreBackend, QT_OPENGL_4_3_FUNCTIONS) QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_4_CoreBackend, QT_OPENGL_4_4_FUNCTIONS) QT_OPENGL_IMPLEMENT(QOpenGLFunctions_4_5_CoreBackend, QT_OPENGL_4_5_FUNCTIONS) -QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_0_DeprecatedBackend, QT_OPENGL_1_0_DEPRECATED_FUNCTIONS) -QT_OPENGL_IMPLEMENT_WIN(QOpenGLFunctions_1_1_DeprecatedBackend, QT_OPENGL_1_1_DEPRECATED_FUNCTIONS) +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_0_DeprecatedBackend, QT_OPENGL_1_0_DEPRECATED_FUNCTIONS) +QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_1_DeprecatedBackend, QT_OPENGL_1_1_DEPRECATED_FUNCTIONS) QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_2_DeprecatedBackend, QT_OPENGL_1_2_DEPRECATED_FUNCTIONS) QT_OPENGL_IMPLEMENT(QOpenGLFunctions_1_3_DeprecatedBackend, QT_OPENGL_1_3_DEPRECATED_FUNCTIONS) diff --git a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp index 253fa1d217..87800283ee 100644 --- a/src/plugins/platforms/windows/qwindowseglcontext.cpp +++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp @@ -107,11 +107,7 @@ static void *resolveFunc(HMODULE lib, const char *name) void *QWindowsLibEGL::resolve(const char *name) { - void *proc = m_lib ? resolveFunc(m_lib, name) : 0; - if (!proc) - qErrnoWarning(::GetLastError(), "Failed to resolve EGL function %s", name); - - return proc; + return m_lib ? resolveFunc(m_lib, name) : 0; } #endif // !QT_STATIC @@ -174,11 +170,7 @@ bool QWindowsLibEGL::init() #if !defined(QT_STATIC) || defined(QT_OPENGL_DYNAMIC) void *QWindowsLibGLESv2::resolve(const char *name) { - void *proc = m_lib ? resolveFunc(m_lib, name) : 0; - if (!proc) - qWarning() << "Failed to resolve OpenGL ES function" << name; - - return proc; + return m_lib ? resolveFunc(m_lib, name) : 0; } #endif // !QT_STATIC @@ -200,150 +192,10 @@ bool QWindowsLibGLESv2::init() } #endif // !QT_STATIC - glBindTexture = RESOLVE((void (APIENTRY *)(GLenum , GLuint )), glBindTexture); - glBlendFunc = RESOLVE((void (APIENTRY *)(GLenum , GLenum )), glBlendFunc); - glClear = RESOLVE((void (APIENTRY *)(GLbitfield )), glClear); - glClearColor = RESOLVE((void (APIENTRY *)(GLfloat , GLfloat , GLfloat , GLfloat )), glClearColor); - glClearStencil = RESOLVE((void (APIENTRY *)(GLint )), glClearStencil); - glColorMask = RESOLVE((void (APIENTRY *)(GLboolean , GLboolean , GLboolean , GLboolean )), glColorMask); - glCopyTexImage2D = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLenum , GLint , GLint , GLsizei , GLsizei , GLint )), glCopyTexImage2D); - glCopyTexSubImage2D = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLint , GLint , GLint , GLint , GLsizei , GLsizei )), glCopyTexSubImage2D); - glCullFace = RESOLVE((void (APIENTRY *)(GLenum )), glCullFace); - glDeleteTextures = RESOLVE((void (APIENTRY *)(GLsizei , const GLuint *)), glDeleteTextures); - glDepthFunc = RESOLVE((void (APIENTRY *)(GLenum )), glDepthFunc); - glDepthMask = RESOLVE((void (APIENTRY *)(GLboolean )), glDepthMask); - glDisable = RESOLVE((void (APIENTRY *)(GLenum )), glDisable); - glDrawArrays = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLsizei )), glDrawArrays); - glDrawElements = RESOLVE((void (APIENTRY *)(GLenum , GLsizei , GLenum , const GLvoid *)), glDrawElements); - glEnable = RESOLVE((void (APIENTRY *)(GLenum )), glEnable); - glFinish = RESOLVE((void (APIENTRY *)()), glFinish); - glFlush = RESOLVE((void (APIENTRY *)()), glFlush); - glFrontFace = RESOLVE((void (APIENTRY *)(GLenum )), glFrontFace); - glGenTextures = RESOLVE((void (APIENTRY *)(GLsizei , GLuint *)), glGenTextures); - glGetBooleanv = RESOLVE((void (APIENTRY *)(GLenum , GLboolean *)), glGetBooleanv); - glGetError = RESOLVE((GLenum (APIENTRY *)()), glGetError); - glGetFloatv = RESOLVE((void (APIENTRY *)(GLenum , GLfloat *)), glGetFloatv); - glGetIntegerv = RESOLVE((void (APIENTRY *)(GLenum , GLint *)), glGetIntegerv); + void (APIENTRY * glBindTexture)(GLenum target, GLuint texture) = RESOLVE((void (APIENTRY *)(GLenum , GLuint )), glBindTexture); + GLuint (APIENTRY * glCreateShader)(GLenum type) = RESOLVE((GLuint (APIENTRY *)(GLenum )), glCreateShader); + void (APIENTRY * glClearDepthf)(GLclampf depth) = RESOLVE((void (APIENTRY *)(GLclampf )), glClearDepthf); glGetString = RESOLVE((const GLubyte * (APIENTRY *)(GLenum )), glGetString); - glGetTexParameterfv = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLfloat *)), glGetTexParameterfv); - glGetTexParameteriv = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLint *)), glGetTexParameteriv); - glHint = RESOLVE((void (APIENTRY *)(GLenum , GLenum )), glHint); - glIsEnabled = RESOLVE((GLboolean (APIENTRY *)(GLenum )), glIsEnabled); - glIsTexture = RESOLVE((GLboolean (APIENTRY *)(GLuint )), glIsTexture); - glLineWidth = RESOLVE((void (APIENTRY *)(GLfloat )), glLineWidth); - glPixelStorei = RESOLVE((void (APIENTRY *)(GLenum , GLint )), glPixelStorei); - glPolygonOffset = RESOLVE((void (APIENTRY *)(GLfloat , GLfloat )), glPolygonOffset); - glReadPixels = RESOLVE((void (APIENTRY *)(GLint , GLint , GLsizei , GLsizei , GLenum , GLenum , GLvoid *)), glReadPixels); - glScissor = RESOLVE((void (APIENTRY *)(GLint , GLint , GLsizei , GLsizei )), glScissor); - glStencilFunc = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLuint )), glStencilFunc); - glStencilMask = RESOLVE((void (APIENTRY *)(GLuint )), glStencilMask); - glStencilOp = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLenum )), glStencilOp); - glTexImage2D = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLint , GLsizei , GLsizei , GLint , GLenum , GLenum , const GLvoid *)), glTexImage2D); - glTexParameterf = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLfloat )), glTexParameterf); - glTexParameterfv = RESOLVE((void (APIENTRY *)(GLenum , GLenum , const GLfloat *)), glTexParameterfv); - glTexParameteri = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLint )), glTexParameteri); - glTexParameteriv = RESOLVE((void (APIENTRY *)(GLenum , GLenum , const GLint *)), glTexParameteriv); - glTexSubImage2D = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLint , GLint , GLsizei , GLsizei , GLenum , GLenum , const GLvoid *)), glTexSubImage2D); - glViewport = RESOLVE((void (APIENTRY *)(GLint , GLint , GLsizei , GLsizei )), glViewport); - - glActiveTexture = RESOLVE((void (APIENTRY *)(GLenum)), glActiveTexture); - glAttachShader = RESOLVE((void (APIENTRY *)(GLuint , GLuint )), glAttachShader); - glBindAttribLocation = RESOLVE((void (APIENTRY *)(GLuint , GLuint , const GLchar* )), glBindAttribLocation); - glBindBuffer = RESOLVE((void (APIENTRY *)(GLenum , GLuint )), glBindBuffer); - glBindFramebuffer = RESOLVE((void (APIENTRY *)(GLenum , GLuint )), glBindFramebuffer); - glBindRenderbuffer = RESOLVE((void (APIENTRY *)(GLenum , GLuint )), glBindRenderbuffer); - glBlendColor = RESOLVE((void (APIENTRY *)(GLclampf , GLclampf , GLclampf , GLclampf )), glBlendColor); - glBlendEquation = RESOLVE((void (APIENTRY *)(GLenum )), glBlendEquation); - glBlendEquationSeparate = RESOLVE((void (APIENTRY *)(GLenum , GLenum )), glBlendEquationSeparate); - glBlendFuncSeparate = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLenum , GLenum )), glBlendFuncSeparate); - glBufferData = RESOLVE((void (APIENTRY *)(GLenum , qopengl_GLsizeiptr , const GLvoid* , GLenum )), glBufferData); - glBufferSubData = RESOLVE((void (APIENTRY *)(GLenum , qopengl_GLintptr , qopengl_GLsizeiptr , const GLvoid* )), glBufferSubData); - glCheckFramebufferStatus = RESOLVE((GLenum (APIENTRY *)(GLenum )), glCheckFramebufferStatus); - glCompileShader = RESOLVE((void (APIENTRY *)(GLuint )), glCompileShader); - glCompressedTexImage2D = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLenum , GLsizei , GLsizei, GLint, GLsizei, const GLvoid* )), glCompressedTexImage2D); - glCompressedTexSubImage2D = RESOLVE((void (APIENTRY *)(GLenum , GLint , GLint , GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid* )), glCompressedTexSubImage2D); - glCreateProgram = RESOLVE((GLuint (APIENTRY *)(void)), glCreateProgram); - glCreateShader = RESOLVE((GLuint (APIENTRY *)(GLenum )), glCreateShader); - glDeleteBuffers = RESOLVE((void (APIENTRY *)(GLsizei , const GLuint*)), glDeleteBuffers); - glDeleteFramebuffers = RESOLVE((void (APIENTRY *)(GLsizei , const GLuint* )), glDeleteFramebuffers); - glDeleteProgram = RESOLVE((void (APIENTRY *)(GLuint )), glDeleteProgram); - glDeleteRenderbuffers = RESOLVE((void (APIENTRY *)(GLsizei , const GLuint* )), glDeleteRenderbuffers); - glDeleteShader = RESOLVE((void (APIENTRY *)(GLuint )), glDeleteShader); - glDetachShader = RESOLVE((void (APIENTRY *)(GLuint , GLuint )), glDetachShader); - glDisableVertexAttribArray = RESOLVE((void (APIENTRY *)(GLuint )), glDisableVertexAttribArray); - glEnableVertexAttribArray = RESOLVE((void (APIENTRY *)(GLuint )), glEnableVertexAttribArray); - glFramebufferRenderbuffer = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLenum , GLuint )), glFramebufferRenderbuffer); - glFramebufferTexture2D = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLenum , GLuint , GLint )), glFramebufferTexture2D); - glGenBuffers = RESOLVE((void (APIENTRY *)(GLsizei , GLuint* )), glGenBuffers); - glGenerateMipmap = RESOLVE((void (APIENTRY *)(GLenum )), glGenerateMipmap); - glGenFramebuffers = RESOLVE((void (APIENTRY *)(GLsizei , GLuint* )), glGenFramebuffers); - glGenRenderbuffers = RESOLVE((void (APIENTRY *)(GLsizei , GLuint* )), glGenRenderbuffers); - glGetActiveAttrib = RESOLVE((void (APIENTRY *)(GLuint , GLuint , GLsizei , GLsizei* , GLint* , GLenum* , GLchar* )), glGetActiveAttrib); - glGetActiveUniform = RESOLVE((void (APIENTRY *)(GLuint , GLuint , GLsizei , GLsizei* , GLint* , GLenum* , GLchar* )), glGetActiveUniform); - glGetAttachedShaders = RESOLVE((void (APIENTRY *)(GLuint , GLsizei , GLsizei*, GLuint* )), glGetAttachedShaders); - glGetAttribLocation = RESOLVE((int (APIENTRY *)(GLuint , const GLchar* )), glGetAttribLocation); - glGetBufferParameteriv = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLint* )), glGetBufferParameteriv); - glGetFramebufferAttachmentParameteriv = RESOLVE((void (APIENTRY *)(GLenum , GLenum, GLenum , GLint* )), glGetFramebufferAttachmentParameteriv); - glGetProgramiv = RESOLVE((void (APIENTRY *)(GLuint , GLenum , GLint* )), glGetProgramiv); - glGetProgramInfoLog = RESOLVE((void (APIENTRY *)(GLuint , GLsizei , GLsizei* , GLchar* )), glGetProgramInfoLog); - glGetRenderbufferParameteriv = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLint* )), glGetRenderbufferParameteriv); - glGetShaderiv = RESOLVE((void (APIENTRY *)(GLuint , GLenum , GLint* )), glGetShaderiv); - glGetShaderInfoLog = RESOLVE((void (APIENTRY *)(GLuint , GLsizei , GLsizei*, GLchar*)), glGetShaderInfoLog); - glGetShaderPrecisionFormat = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLint* , GLint* )), glGetShaderPrecisionFormat); - glGetShaderSource = RESOLVE((void (APIENTRY *)(GLuint , GLsizei , GLsizei* , GLchar* )), glGetShaderSource); - glGetUniformfv = RESOLVE((void (APIENTRY *)(GLuint , GLint , GLfloat*)), glGetUniformfv); - glGetUniformiv = RESOLVE((void (APIENTRY *)(GLuint , GLint , GLint*)), glGetUniformiv); - glGetUniformLocation = RESOLVE((int (APIENTRY *)(GLuint , const GLchar* )), glGetUniformLocation); - glGetVertexAttribfv = RESOLVE((void (APIENTRY *)(GLuint , GLenum , GLfloat* )), glGetVertexAttribfv); - glGetVertexAttribiv = RESOLVE((void (APIENTRY *)(GLuint , GLenum , GLint* )), glGetVertexAttribiv); - glGetVertexAttribPointerv = RESOLVE((void (APIENTRY *)(GLuint , GLenum , GLvoid** pointer)), glGetVertexAttribPointerv); - glIsBuffer = RESOLVE((GLboolean (APIENTRY *)(GLuint )), glIsBuffer); - glIsFramebuffer = RESOLVE((GLboolean (APIENTRY *)(GLuint )), glIsFramebuffer); - glIsProgram = RESOLVE((GLboolean (APIENTRY *)(GLuint )), glIsProgram); - glIsRenderbuffer = RESOLVE((GLboolean (APIENTRY *)(GLuint )), glIsRenderbuffer); - glIsShader = RESOLVE((GLboolean (APIENTRY *)(GLuint )), glIsShader); - glLinkProgram = RESOLVE((void (APIENTRY *)(GLuint )), glLinkProgram); - glReleaseShaderCompiler = RESOLVE((void (APIENTRY *)(void)), glReleaseShaderCompiler); - glRenderbufferStorage = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLsizei , GLsizei )), glRenderbufferStorage); - glSampleCoverage = RESOLVE((void (APIENTRY *)(GLclampf , GLboolean )), glSampleCoverage); - glShaderBinary = RESOLVE((void (APIENTRY *)(GLsizei , const GLuint*, GLenum , const GLvoid* , GLsizei )), glShaderBinary); - glShaderSource = RESOLVE((void (APIENTRY *)(GLuint , GLsizei , const GLchar* *, const GLint* )), glShaderSource); - glStencilFuncSeparate = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLint , GLuint )), glStencilFuncSeparate); - glStencilMaskSeparate = RESOLVE((void (APIENTRY *)(GLenum , GLuint )), glStencilMaskSeparate); - glStencilOpSeparate = RESOLVE((void (APIENTRY *)(GLenum , GLenum , GLenum , GLenum )), glStencilOpSeparate); - glUniform1f = RESOLVE((void (APIENTRY *)(GLint , GLfloat )), glUniform1f); - glUniform1fv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLfloat* )), glUniform1fv); - glUniform1i = RESOLVE((void (APIENTRY *)(GLint , GLint )), glUniform1i); - glUniform1iv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLint* )), glUniform1iv); - glUniform2f = RESOLVE((void (APIENTRY *)(GLint , GLfloat , GLfloat )), glUniform2f); - glUniform2fv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLfloat* )), glUniform2fv); - glUniform2i = RESOLVE((void (APIENTRY *)(GLint , GLint , GLint )), glUniform2i); - glUniform2iv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLint* )), glUniform2iv); - glUniform3f = RESOLVE((void (APIENTRY *)(GLint , GLfloat , GLfloat , GLfloat )), glUniform3f); - glUniform3fv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLfloat* )), glUniform3fv); - glUniform3i = RESOLVE((void (APIENTRY *)(GLint , GLint , GLint , GLint )), glUniform3i); - glUniform3iv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLint* )), glUniform3iv); - glUniform4f = RESOLVE((void (APIENTRY *)(GLint , GLfloat , GLfloat , GLfloat , GLfloat )), glUniform4f); - glUniform4fv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLfloat* )), glUniform4fv); - glUniform4i = RESOLVE((void (APIENTRY *)(GLint , GLint , GLint , GLint , GLint )), glUniform4i); - glUniform4iv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , const GLint* )), glUniform4iv); - glUniformMatrix2fv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , GLboolean , const GLfloat* )), glUniformMatrix2fv); - glUniformMatrix3fv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , GLboolean , const GLfloat* )), glUniformMatrix3fv); - glUniformMatrix4fv = RESOLVE((void (APIENTRY *)(GLint , GLsizei , GLboolean , const GLfloat* )), glUniformMatrix4fv); - glUseProgram = RESOLVE((void (APIENTRY *)(GLuint )), glUseProgram); - glValidateProgram = RESOLVE((void (APIENTRY *)(GLuint )), glValidateProgram); - glVertexAttrib1f = RESOLVE((void (APIENTRY *)(GLuint , GLfloat )), glVertexAttrib1f); - glVertexAttrib1fv = RESOLVE((void (APIENTRY *)(GLuint , const GLfloat* )), glVertexAttrib1fv); - glVertexAttrib2f = RESOLVE((void (APIENTRY *)(GLuint , GLfloat , GLfloat )), glVertexAttrib2f); - glVertexAttrib2fv = RESOLVE((void (APIENTRY *)(GLuint , const GLfloat* )), glVertexAttrib2fv); - glVertexAttrib3f = RESOLVE((void (APIENTRY *)(GLuint , GLfloat , GLfloat , GLfloat )), glVertexAttrib3f); - glVertexAttrib3fv = RESOLVE((void (APIENTRY *)(GLuint , const GLfloat* )), glVertexAttrib3fv); - glVertexAttrib4f = RESOLVE((void (APIENTRY *)(GLuint , GLfloat , GLfloat , GLfloat , GLfloat )), glVertexAttrib4f); - glVertexAttrib4fv = RESOLVE((void (APIENTRY *)(GLuint , const GLfloat* )), glVertexAttrib4fv); - glVertexAttribPointer = RESOLVE((void (APIENTRY *)(GLuint , GLint, GLenum, GLboolean, GLsizei, const GLvoid* )), glVertexAttribPointer); - - glClearDepthf = RESOLVE((void (APIENTRY *)(GLclampf )), glClearDepthf); - glDepthRangef = RESOLVE((void (APIENTRY *)(GLclampf , GLclampf )), glDepthRangef); return glBindTexture && glCreateShader && glClearDepthf; } @@ -685,168 +537,174 @@ void QWindowsEGLContext::swapBuffers(QPlatformSurface *surface) QFunctionPointer QWindowsEGLContext::getProcAddress(const char *procName) { + QWindowsEGLStaticContext::libEGL.eglBindAPI(m_api); + QFunctionPointer procAddress = reinterpret_cast(QWindowsEGLStaticContext::libEGL.eglGetProcAddress(procName)); + // We support AllGLFunctionsQueryable, which means this function must be able to // return a function pointer for standard GLES2 functions too. These are not // guaranteed to be queryable via eglGetProcAddress(). - static struct StdFunc { - const char *name; - void *func; - } standardFuncs[] = { - { "glBindTexture", (void *) QWindowsEGLStaticContext::libGLESv2.glBindTexture }, - { "glBlendFunc", (void *) QWindowsEGLStaticContext::libGLESv2.glBlendFunc }, - { "glClear", (void *) QWindowsEGLStaticContext::libGLESv2.glClear }, - { "glClearColor", (void *) QWindowsEGLStaticContext::libGLESv2.glClearColor }, - { "glClearStencil", (void *) QWindowsEGLStaticContext::libGLESv2.glClearStencil }, - { "glColorMask", (void *) QWindowsEGLStaticContext::libGLESv2.glColorMask }, - { "glCopyTexImage2D", (void *) QWindowsEGLStaticContext::libGLESv2.glCopyTexImage2D }, - { "glCopyTexSubImage2D", (void *) QWindowsEGLStaticContext::libGLESv2.glCopyTexSubImage2D }, - { "glCullFace", (void *) QWindowsEGLStaticContext::libGLESv2.glCullFace }, - { "glDeleteTextures", (void *) QWindowsEGLStaticContext::libGLESv2.glDeleteTextures }, - { "glDepthFunc", (void *) QWindowsEGLStaticContext::libGLESv2.glDepthFunc }, - { "glDepthMask", (void *) QWindowsEGLStaticContext::libGLESv2.glDepthMask }, - { "glDisable", (void *) QWindowsEGLStaticContext::libGLESv2.glDisable }, - { "glDrawArrays", (void *) QWindowsEGLStaticContext::libGLESv2.glDrawArrays }, - { "glDrawElements", (void *) QWindowsEGLStaticContext::libGLESv2.glDrawElements }, - { "glEnable", (void *) QWindowsEGLStaticContext::libGLESv2.glEnable }, - { "glFinish", (void *) QWindowsEGLStaticContext::libGLESv2.glFinish }, - { "glFlush", (void *) QWindowsEGLStaticContext::libGLESv2.glFlush }, - { "glFrontFace", (void *) QWindowsEGLStaticContext::libGLESv2.glFrontFace }, - { "glGenTextures", (void *) QWindowsEGLStaticContext::libGLESv2.glGenTextures }, - { "glGetBooleanv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetBooleanv }, - { "glGetError", (void *) QWindowsEGLStaticContext::libGLESv2.glGetError }, - { "glGetFloatv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetFloatv }, - { "glGetIntegerv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetIntegerv }, - { "glGetString", (void *) QWindowsEGLStaticContext::libGLESv2.glGetString }, - { "glGetTexParameterfv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetTexParameterfv }, - { "glGetTexParameteriv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetTexParameteriv }, - { "glHint", (void *) QWindowsEGLStaticContext::libGLESv2.glHint }, - { "glIsEnabled", (void *) QWindowsEGLStaticContext::libGLESv2.glIsEnabled }, - { "glIsTexture", (void *) QWindowsEGLStaticContext::libGLESv2.glIsTexture }, - { "glLineWidth", (void *) QWindowsEGLStaticContext::libGLESv2.glLineWidth }, - { "glPixelStorei", (void *) QWindowsEGLStaticContext::libGLESv2.glPixelStorei }, - { "glPolygonOffset", (void *) QWindowsEGLStaticContext::libGLESv2.glPolygonOffset }, - { "glReadPixels", (void *) QWindowsEGLStaticContext::libGLESv2.glReadPixels }, - { "glScissor", (void *) QWindowsEGLStaticContext::libGLESv2.glScissor }, - { "glStencilFunc", (void *) QWindowsEGLStaticContext::libGLESv2.glStencilFunc }, - { "glStencilMask", (void *) QWindowsEGLStaticContext::libGLESv2.glStencilMask }, - { "glStencilOp", (void *) QWindowsEGLStaticContext::libGLESv2.glStencilOp }, - { "glTexImage2D", (void *) QWindowsEGLStaticContext::libGLESv2.glTexImage2D }, - { "glTexParameterf", (void *) QWindowsEGLStaticContext::libGLESv2.glTexParameterf }, - { "glTexParameterfv", (void *) QWindowsEGLStaticContext::libGLESv2.glTexParameterfv }, - { "glTexParameteri", (void *) QWindowsEGLStaticContext::libGLESv2.glTexParameteri }, - { "glTexParameteriv", (void *) QWindowsEGLStaticContext::libGLESv2.glTexParameteriv }, - { "glTexSubImage2D", (void *) QWindowsEGLStaticContext::libGLESv2.glTexSubImage2D }, - { "glViewport", (void *) QWindowsEGLStaticContext::libGLESv2.glViewport }, - - { "glActiveTexture", (void *) QWindowsEGLStaticContext::libGLESv2.glActiveTexture }, - { "glAttachShader", (void *) QWindowsEGLStaticContext::libGLESv2.glAttachShader }, - { "glBindAttribLocation", (void *) QWindowsEGLStaticContext::libGLESv2.glBindAttribLocation }, - { "glBindBuffer", (void *) QWindowsEGLStaticContext::libGLESv2.glBindBuffer }, - { "glBindFramebuffer", (void *) QWindowsEGLStaticContext::libGLESv2.glBindFramebuffer }, - { "glBindRenderbuffer", (void *) QWindowsEGLStaticContext::libGLESv2.glBindRenderbuffer }, - { "glBlendColor", (void *) QWindowsEGLStaticContext::libGLESv2.glBlendColor }, - { "glBlendEquation", (void *) QWindowsEGLStaticContext::libGLESv2.glBlendEquation }, - { "glBlendEquationSeparate", (void *) QWindowsEGLStaticContext::libGLESv2.glBlendEquationSeparate }, - { "glBlendFuncSeparate", (void *) QWindowsEGLStaticContext::libGLESv2.glBlendFuncSeparate }, - { "glBufferData", (void *) QWindowsEGLStaticContext::libGLESv2.glBufferData }, - { "glBufferSubData", (void *) QWindowsEGLStaticContext::libGLESv2.glBufferSubData }, - { "glCheckFramebufferStatus", (void *) QWindowsEGLStaticContext::libGLESv2.glCheckFramebufferStatus }, - { "glCompileShader", (void *) QWindowsEGLStaticContext::libGLESv2.glCompileShader }, - { "glCompressedTexImage2D", (void *) QWindowsEGLStaticContext::libGLESv2.glCompressedTexImage2D }, - { "glCompressedTexSubImage2D", (void *) QWindowsEGLStaticContext::libGLESv2.glCompressedTexSubImage2D }, - { "glCreateProgram", (void *) QWindowsEGLStaticContext::libGLESv2.glCreateProgram }, - { "glCreateShader", (void *) QWindowsEGLStaticContext::libGLESv2.glCreateShader }, - { "glDeleteBuffers", (void *) QWindowsEGLStaticContext::libGLESv2.glDeleteBuffers }, - { "glDeleteFramebuffers", (void *) QWindowsEGLStaticContext::libGLESv2.glDeleteFramebuffers }, - { "glDeleteProgram", (void *) QWindowsEGLStaticContext::libGLESv2.glDeleteProgram }, - { "glDeleteRenderbuffers", (void *) QWindowsEGLStaticContext::libGLESv2.glDeleteRenderbuffers }, - { "glDeleteShader", (void *) QWindowsEGLStaticContext::libGLESv2.glDeleteShader }, - { "glDetachShader", (void *) QWindowsEGLStaticContext::libGLESv2.glDetachShader }, - { "glDisableVertexAttribArray", (void *) QWindowsEGLStaticContext::libGLESv2.glDisableVertexAttribArray }, - { "glEnableVertexAttribArray", (void *) QWindowsEGLStaticContext::libGLESv2.glEnableVertexAttribArray }, - { "glFramebufferRenderbuffer", (void *) QWindowsEGLStaticContext::libGLESv2.glFramebufferRenderbuffer }, - { "glFramebufferTexture2D", (void *) QWindowsEGLStaticContext::libGLESv2.glFramebufferTexture2D }, - { "glGenBuffers", (void *) QWindowsEGLStaticContext::libGLESv2.glGenBuffers }, - { "glGenerateMipmap", (void *) QWindowsEGLStaticContext::libGLESv2.glGenerateMipmap }, - { "glGenFramebuffers", (void *) QWindowsEGLStaticContext::libGLESv2.glGenFramebuffers }, - { "glGenRenderbuffers", (void *) QWindowsEGLStaticContext::libGLESv2.glGenRenderbuffers }, - { "glGetActiveAttrib", (void *) QWindowsEGLStaticContext::libGLESv2.glGetActiveAttrib }, - { "glGetActiveUniform", (void *) QWindowsEGLStaticContext::libGLESv2.glGetActiveUniform }, - { "glGetAttachedShaders", (void *) QWindowsEGLStaticContext::libGLESv2.glGetAttachedShaders }, - { "glGetAttribLocation", (void *) QWindowsEGLStaticContext::libGLESv2.glGetAttribLocation }, - { "glGetBufferParameteriv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetBufferParameteriv }, - { "glGetFramebufferAttachmentParameteriv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetFramebufferAttachmentParameteriv }, - { "glGetProgramiv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetProgramiv }, - { "glGetProgramInfoLog", (void *) QWindowsEGLStaticContext::libGLESv2.glGetProgramInfoLog }, - { "glGetRenderbufferParameteriv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetRenderbufferParameteriv }, - { "glGetShaderiv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetShaderiv }, - { "glGetShaderInfoLog", (void *) QWindowsEGLStaticContext::libGLESv2.glGetShaderInfoLog }, - { "glGetShaderPrecisionFormat", (void *) QWindowsEGLStaticContext::libGLESv2.glGetShaderPrecisionFormat }, - { "glGetShaderSource", (void *) QWindowsEGLStaticContext::libGLESv2.glGetShaderSource }, - { "glGetUniformfv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetUniformfv }, - { "glGetUniformiv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetUniformiv }, - { "glGetUniformLocation", (void *) QWindowsEGLStaticContext::libGLESv2.glGetUniformLocation }, - { "glGetVertexAttribfv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetVertexAttribfv }, - { "glGetVertexAttribiv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetVertexAttribiv }, - { "glGetVertexAttribPointerv", (void *) QWindowsEGLStaticContext::libGLESv2.glGetVertexAttribPointerv }, - { "glIsBuffer", (void *) QWindowsEGLStaticContext::libGLESv2.glIsBuffer }, - { "glIsFramebuffer", (void *) QWindowsEGLStaticContext::libGLESv2.glIsFramebuffer }, - { "glIsProgram", (void *) QWindowsEGLStaticContext::libGLESv2.glIsProgram }, - { "glIsRenderbuffer", (void *) QWindowsEGLStaticContext::libGLESv2.glIsRenderbuffer }, - { "glIsShader", (void *) QWindowsEGLStaticContext::libGLESv2.glIsShader }, - { "glLinkProgram", (void *) QWindowsEGLStaticContext::libGLESv2.glLinkProgram }, - { "glReleaseShaderCompiler", (void *) QWindowsEGLStaticContext::libGLESv2.glReleaseShaderCompiler }, - { "glRenderbufferStorage", (void *) QWindowsEGLStaticContext::libGLESv2.glRenderbufferStorage }, - { "glSampleCoverage", (void *) QWindowsEGLStaticContext::libGLESv2.glSampleCoverage }, - { "glShaderBinary", (void *) QWindowsEGLStaticContext::libGLESv2.glShaderBinary }, - { "glShaderSource", (void *) QWindowsEGLStaticContext::libGLESv2.glShaderSource }, - { "glStencilFuncSeparate", (void *) QWindowsEGLStaticContext::libGLESv2.glStencilFuncSeparate }, - { "glStencilMaskSeparate", (void *) QWindowsEGLStaticContext::libGLESv2.glStencilMaskSeparate }, - { "glStencilOpSeparate", (void *) QWindowsEGLStaticContext::libGLESv2.glStencilOpSeparate }, - { "glUniform1f", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform1f }, - { "glUniform1fv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform1fv }, - { "glUniform1i", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform1i }, - { "glUniform1iv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform1iv }, - { "glUniform2f", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform2f }, - { "glUniform2fv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform2fv }, - { "glUniform2i", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform2i }, - { "glUniform2iv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform2iv }, - { "glUniform3f", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform3f }, - { "glUniform3fv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform3fv }, - { "glUniform3i", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform3i }, - { "glUniform3iv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform3iv }, - { "glUniform4f", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform4f }, - { "glUniform4fv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform4fv }, - { "glUniform4i", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform4i }, - { "glUniform4iv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniform4iv }, - { "glUniformMatrix2fv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniformMatrix2fv }, - { "glUniformMatrix3fv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniformMatrix3fv }, - { "glUniformMatrix4fv", (void *) QWindowsEGLStaticContext::libGLESv2.glUniformMatrix4fv }, - { "glUseProgram", (void *) QWindowsEGLStaticContext::libGLESv2.glUseProgram }, - { "glValidateProgram", (void *) QWindowsEGLStaticContext::libGLESv2.glValidateProgram }, - { "glVertexAttrib1f", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib1f }, - { "glVertexAttrib1fv", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib1fv }, - { "glVertexAttrib2f", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib2f }, - { "glVertexAttrib2fv", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib2fv }, - { "glVertexAttrib3f", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib3f }, - { "glVertexAttrib3fv", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib3fv }, - { "glVertexAttrib4f", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib4f }, - { "glVertexAttrib4fv", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttrib4fv }, - { "glVertexAttribPointer", (void *) QWindowsEGLStaticContext::libGLESv2.glVertexAttribPointer }, - - { "glClearDepthf", (void *) QWindowsEGLStaticContext::libGLESv2.glClearDepthf }, - { "glDepthRangef", (void *) QWindowsEGLStaticContext::libGLESv2.glDepthRangef } - }; - for (size_t i = 0; i < sizeof(standardFuncs) / sizeof(StdFunc); ++i) - if (!qstrcmp(procName, standardFuncs[i].name)) - return reinterpret_cast(standardFuncs[i].func); + if (!procAddress) { +#if defined(QT_STATIC) + static struct StdFunc { + const char *name; + void *func; + } standardFuncs[] = { + { "glBindTexture", (void *) ::glBindTexture }, + { "glBlendFunc", (void *) ::glBlendFunc }, + { "glClear", (void *) ::glClear }, + { "glClearColor", (void *) ::glClearColor }, + { "glClearStencil", (void *) ::glClearStencil }, + { "glColorMask", (void *) ::glColorMask }, + { "glCopyTexImage2D", (void *) ::glCopyTexImage2D }, + { "glCopyTexSubImage2D", (void *) ::glCopyTexSubImage2D }, + { "glCullFace", (void *) ::glCullFace }, + { "glDeleteTextures", (void *) ::glDeleteTextures }, + { "glDepthFunc", (void *) ::glDepthFunc }, + { "glDepthMask", (void *) ::glDepthMask }, + { "glDisable", (void *) ::glDisable }, + { "glDrawArrays", (void *) ::glDrawArrays }, + { "glDrawElements", (void *) ::glDrawElements }, + { "glEnable", (void *) ::glEnable }, + { "glFinish", (void *) ::glFinish }, + { "glFlush", (void *) ::glFlush }, + { "glFrontFace", (void *) ::glFrontFace }, + { "glGenTextures", (void *) ::glGenTextures }, + { "glGetBooleanv", (void *) ::glGetBooleanv }, + { "glGetError", (void *) ::glGetError }, + { "glGetFloatv", (void *) ::glGetFloatv }, + { "glGetIntegerv", (void *) ::glGetIntegerv }, + { "glGetString", (void *) ::glGetString }, + { "glGetTexParameterfv", (void *) ::glGetTexParameterfv }, + { "glGetTexParameteriv", (void *) ::glGetTexParameteriv }, + { "glHint", (void *) ::glHint }, + { "glIsEnabled", (void *) ::glIsEnabled }, + { "glIsTexture", (void *) ::glIsTexture }, + { "glLineWidth", (void *) ::glLineWidth }, + { "glPixelStorei", (void *) ::glPixelStorei }, + { "glPolygonOffset", (void *) ::glPolygonOffset }, + { "glReadPixels", (void *) ::glReadPixels }, + { "glScissor", (void *) ::glScissor }, + { "glStencilFunc", (void *) ::glStencilFunc }, + { "glStencilMask", (void *) ::glStencilMask }, + { "glStencilOp", (void *) ::glStencilOp }, + { "glTexImage2D", (void *) ::glTexImage2D }, + { "glTexParameterf", (void *) ::glTexParameterf }, + { "glTexParameterfv", (void *) ::glTexParameterfv }, + { "glTexParameteri", (void *) ::glTexParameteri }, + { "glTexParameteriv", (void *) ::glTexParameteriv }, + { "glTexSubImage2D", (void *) ::glTexSubImage2D }, + { "glViewport", (void *) ::glViewport }, + + { "glActiveTexture", (void *) ::glActiveTexture }, + { "glAttachShader", (void *) ::glAttachShader }, + { "glBindAttribLocation", (void *) ::glBindAttribLocation }, + { "glBindBuffer", (void *) ::glBindBuffer }, + { "glBindFramebuffer", (void *) ::glBindFramebuffer }, + { "glBindRenderbuffer", (void *) ::glBindRenderbuffer }, + { "glBlendColor", (void *) ::glBlendColor }, + { "glBlendEquation", (void *) ::glBlendEquation }, + { "glBlendEquationSeparate", (void *) ::glBlendEquationSeparate }, + { "glBlendFuncSeparate", (void *) ::glBlendFuncSeparate }, + { "glBufferData", (void *) ::glBufferData }, + { "glBufferSubData", (void *) ::glBufferSubData }, + { "glCheckFramebufferStatus", (void *) ::glCheckFramebufferStatus }, + { "glCompileShader", (void *) ::glCompileShader }, + { "glCompressedTexImage2D", (void *) ::glCompressedTexImage2D }, + { "glCompressedTexSubImage2D", (void *) ::glCompressedTexSubImage2D }, + { "glCreateProgram", (void *) ::glCreateProgram }, + { "glCreateShader", (void *) ::glCreateShader }, + { "glDeleteBuffers", (void *) ::glDeleteBuffers }, + { "glDeleteFramebuffers", (void *) ::glDeleteFramebuffers }, + { "glDeleteProgram", (void *) ::glDeleteProgram }, + { "glDeleteRenderbuffers", (void *) ::glDeleteRenderbuffers }, + { "glDeleteShader", (void *) ::glDeleteShader }, + { "glDetachShader", (void *) ::glDetachShader }, + { "glDisableVertexAttribArray", (void *) ::glDisableVertexAttribArray }, + { "glEnableVertexAttribArray", (void *) ::glEnableVertexAttribArray }, + { "glFramebufferRenderbuffer", (void *) ::glFramebufferRenderbuffer }, + { "glFramebufferTexture2D", (void *) ::glFramebufferTexture2D }, + { "glGenBuffers", (void *) ::glGenBuffers }, + { "glGenerateMipmap", (void *) ::glGenerateMipmap }, + { "glGenFramebuffers", (void *) ::glGenFramebuffers }, + { "glGenRenderbuffers", (void *) ::glGenRenderbuffers }, + { "glGetActiveAttrib", (void *) ::glGetActiveAttrib }, + { "glGetActiveUniform", (void *) ::glGetActiveUniform }, + { "glGetAttachedShaders", (void *) ::glGetAttachedShaders }, + { "glGetAttribLocation", (void *) ::glGetAttribLocation }, + { "glGetBufferParameteriv", (void *) ::glGetBufferParameteriv }, + { "glGetFramebufferAttachmentParameteriv", (void *) ::glGetFramebufferAttachmentParameteriv }, + { "glGetProgramiv", (void *) ::glGetProgramiv }, + { "glGetProgramInfoLog", (void *) ::glGetProgramInfoLog }, + { "glGetRenderbufferParameteriv", (void *) ::glGetRenderbufferParameteriv }, + { "glGetShaderiv", (void *) ::glGetShaderiv }, + { "glGetShaderInfoLog", (void *) ::glGetShaderInfoLog }, + { "glGetShaderPrecisionFormat", (void *) ::glGetShaderPrecisionFormat }, + { "glGetShaderSource", (void *) ::glGetShaderSource }, + { "glGetUniformfv", (void *) ::glGetUniformfv }, + { "glGetUniformiv", (void *) ::glGetUniformiv }, + { "glGetUniformLocation", (void *) ::glGetUniformLocation }, + { "glGetVertexAttribfv", (void *) ::glGetVertexAttribfv }, + { "glGetVertexAttribiv", (void *) ::glGetVertexAttribiv }, + { "glGetVertexAttribPointerv", (void *) ::glGetVertexAttribPointerv }, + { "glIsBuffer", (void *) ::glIsBuffer }, + { "glIsFramebuffer", (void *) ::glIsFramebuffer }, + { "glIsProgram", (void *) ::glIsProgram }, + { "glIsRenderbuffer", (void *) ::glIsRenderbuffer }, + { "glIsShader", (void *) ::glIsShader }, + { "glLinkProgram", (void *) ::glLinkProgram }, + { "glReleaseShaderCompiler", (void *) ::glReleaseShaderCompiler }, + { "glRenderbufferStorage", (void *) ::glRenderbufferStorage }, + { "glSampleCoverage", (void *) ::glSampleCoverage }, + { "glShaderBinary", (void *) ::glShaderBinary }, + { "glShaderSource", (void *) ::glShaderSource }, + { "glStencilFuncSeparate", (void *) ::glStencilFuncSeparate }, + { "glStencilMaskSeparate", (void *) ::glStencilMaskSeparate }, + { "glStencilOpSeparate", (void *) ::glStencilOpSeparate }, + { "glUniform1f", (void *) ::glUniform1f }, + { "glUniform1fv", (void *) ::glUniform1fv }, + { "glUniform1i", (void *) ::glUniform1i }, + { "glUniform1iv", (void *) ::glUniform1iv }, + { "glUniform2f", (void *) ::glUniform2f }, + { "glUniform2fv", (void *) ::glUniform2fv }, + { "glUniform2i", (void *) ::glUniform2i }, + { "glUniform2iv", (void *) ::glUniform2iv }, + { "glUniform3f", (void *) ::glUniform3f }, + { "glUniform3fv", (void *) ::glUniform3fv }, + { "glUniform3i", (void *) ::glUniform3i }, + { "glUniform3iv", (void *) ::glUniform3iv }, + { "glUniform4f", (void *) ::glUniform4f }, + { "glUniform4fv", (void *) ::glUniform4fv }, + { "glUniform4i", (void *) ::glUniform4i }, + { "glUniform4iv", (void *) ::glUniform4iv }, + { "glUniformMatrix2fv", (void *) ::glUniformMatrix2fv }, + { "glUniformMatrix3fv", (void *) ::glUniformMatrix3fv }, + { "glUniformMatrix4fv", (void *) ::glUniformMatrix4fv }, + { "glUseProgram", (void *) ::glUseProgram }, + { "glValidateProgram", (void *) ::glValidateProgram }, + { "glVertexAttrib1f", (void *) ::glVertexAttrib1f }, + { "glVertexAttrib1fv", (void *) ::glVertexAttrib1fv }, + { "glVertexAttrib2f", (void *) ::glVertexAttrib2f }, + { "glVertexAttrib2fv", (void *) ::glVertexAttrib2fv }, + { "glVertexAttrib3f", (void *) ::glVertexAttrib3f }, + { "glVertexAttrib3fv", (void *) ::glVertexAttrib3fv }, + { "glVertexAttrib4f", (void *) ::glVertexAttrib4f }, + { "glVertexAttrib4fv", (void *) ::glVertexAttrib4fv }, + { "glVertexAttribPointer", (void *) ::glVertexAttribPointer }, + + { "glClearDepthf", (void *) ::glClearDepthf }, + { "glDepthRangef", (void *) ::glDepthRangef } + }; + for (size_t i = 0; i < sizeof(standardFuncs) / sizeof(StdFunc); ++i) + if (!qstrcmp(procName, standardFuncs[i].name)) + return reinterpret_cast(standardFuncs[i].func); +#else + procAddress = reinterpret_cast(QWindowsEGLStaticContext::libGLESv2.resolve(procName)); +#endif +} - QWindowsEGLStaticContext::libEGL.eglBindAPI(m_api); - QFunctionPointer procAddress = reinterpret_cast(QWindowsEGLStaticContext::libEGL.eglGetProcAddress(procName)); if (QWindowsContext::verbose > 1) qCDebug(lcQpaGl) << __FUNCTION__ << procName << QWindowsEGLStaticContext::libEGL.eglGetCurrentContext() << "returns" << procAddress; - if (!procAddress && QWindowsContext::verbose) - qWarning("%s: Unable to resolve '%s'", __FUNCTION__, procName); + return procAddress; } diff --git a/src/plugins/platforms/windows/qwindowseglcontext.h b/src/plugins/platforms/windows/qwindowseglcontext.h index e49d1da9c5..c7f7cee3c2 100644 --- a/src/plugins/platforms/windows/qwindowseglcontext.h +++ b/src/plugins/platforms/windows/qwindowseglcontext.h @@ -98,157 +98,11 @@ struct QWindowsLibGLESv2 void *moduleHandle() const { return Q_NULLPTR; } #endif - // GL1+GLES2 common - void (APIENTRY * glBindTexture)(GLenum target, GLuint texture); - void (APIENTRY * glBlendFunc)(GLenum sfactor, GLenum dfactor); - void (APIENTRY * glClear)(GLbitfield mask); - void (APIENTRY * glClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - void (APIENTRY * glClearStencil)(GLint s); - void (APIENTRY * glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - void (APIENTRY * glCopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - void (APIENTRY * glCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (APIENTRY * glCullFace)(GLenum mode); - void (APIENTRY * glDeleteTextures)(GLsizei n, const GLuint* textures); - void (APIENTRY * glDepthFunc)(GLenum func); - void (APIENTRY * glDepthMask)(GLboolean flag); - void (APIENTRY * glDisable)(GLenum cap); - void (APIENTRY * glDrawArrays)(GLenum mode, GLint first, GLsizei count); - void (APIENTRY * glDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); - void (APIENTRY * glEnable)(GLenum cap); - void (APIENTRY * glFinish)(); - void (APIENTRY * glFlush)(); - void (APIENTRY * glFrontFace)(GLenum mode); - void (APIENTRY * glGenTextures)(GLsizei n, GLuint* textures); - void (APIENTRY * glGetBooleanv)(GLenum pname, GLboolean* params); - GLenum (APIENTRY * glGetError)(); - void (APIENTRY * glGetFloatv)(GLenum pname, GLfloat* params); - void (APIENTRY * glGetIntegerv)(GLenum pname, GLint* params); const GLubyte * (APIENTRY * glGetString)(GLenum name); - void (APIENTRY * glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat* params); - void (APIENTRY * glGetTexParameteriv)(GLenum target, GLenum pname, GLint* params); - void (APIENTRY * glHint)(GLenum target, GLenum mode); - GLboolean (APIENTRY * glIsEnabled)(GLenum cap); - GLboolean (APIENTRY * glIsTexture)(GLuint texture); - void (APIENTRY * glLineWidth)(GLfloat width); - void (APIENTRY * glPixelStorei)(GLenum pname, GLint param); - void (APIENTRY * glPolygonOffset)(GLfloat factor, GLfloat units); - void (APIENTRY * glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); - void (APIENTRY * glScissor)(GLint x, GLint y, GLsizei width, GLsizei height); - void (APIENTRY * glStencilFunc)(GLenum func, GLint ref, GLuint mask); - void (APIENTRY * glStencilMask)(GLuint mask); - void (APIENTRY * glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass); - void (APIENTRY * glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); - void (APIENTRY * glTexParameterf)(GLenum target, GLenum pname, GLfloat param); - void (APIENTRY * glTexParameterfv)(GLenum target, GLenum pname, const GLfloat* params); - void (APIENTRY * glTexParameteri)(GLenum target, GLenum pname, GLint param); - void (APIENTRY * glTexParameteriv)(GLenum target, GLenum pname, const GLint* params); - void (APIENTRY * glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); - void (APIENTRY * glViewport)(GLint x, GLint y, GLsizei width, GLsizei height); - // GLES2 - void (APIENTRY * glActiveTexture)(GLenum texture); - void (APIENTRY * glAttachShader)(GLuint program, GLuint shader); - void (APIENTRY * glBindAttribLocation)(GLuint program, GLuint index, const char* name); - void (APIENTRY * glBindBuffer)(GLenum target, GLuint buffer); - void (APIENTRY * glBindFramebuffer)(GLenum target, GLuint framebuffer); - void (APIENTRY * glBindRenderbuffer)(GLenum target, GLuint renderbuffer); - void (APIENTRY * glBlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - void (APIENTRY * glBlendEquation)(GLenum mode); - void (APIENTRY * glBlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha); - void (APIENTRY * glBlendFuncSeparate)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); - void (APIENTRY * glBufferData)(GLenum target, qopengl_GLsizeiptr size, const void* data, GLenum usage); - void (APIENTRY * glBufferSubData)(GLenum target, qopengl_GLintptr offset, qopengl_GLsizeiptr size, const void* data); - GLenum (APIENTRY * glCheckFramebufferStatus)(GLenum target); - void (APIENTRY * glCompileShader)(GLuint shader); - void (APIENTRY * glCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data); - void (APIENTRY * glCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data); - GLuint (APIENTRY * glCreateProgram)(); - GLuint (APIENTRY * glCreateShader)(GLenum type); - void (APIENTRY * glDeleteBuffers)(GLsizei n, const GLuint* buffers); - void (APIENTRY * glDeleteFramebuffers)(GLsizei n, const GLuint* framebuffers); - void (APIENTRY * glDeleteProgram)(GLuint program); - void (APIENTRY * glDeleteRenderbuffers)(GLsizei n, const GLuint* renderbuffers); - void (APIENTRY * glDeleteShader)(GLuint shader); - void (APIENTRY * glDetachShader)(GLuint program, GLuint shader); - void (APIENTRY * glDisableVertexAttribArray)(GLuint index); - void (APIENTRY * glEnableVertexAttribArray)(GLuint index); - void (APIENTRY * glFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); - void (APIENTRY * glFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); - void (APIENTRY * glGenBuffers)(GLsizei n, GLuint* buffers); - void (APIENTRY * glGenerateMipmap)(GLenum target); - void (APIENTRY * glGenFramebuffers)(GLsizei n, GLuint* framebuffers); - void (APIENTRY * glGenRenderbuffers)(GLsizei n, GLuint* renderbuffers); - void (APIENTRY * glGetActiveAttrib)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name); - void (APIENTRY * glGetActiveUniform)(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name); - void (APIENTRY * glGetAttachedShaders)(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); - GLint (APIENTRY * glGetAttribLocation)(GLuint program, const char* name); - void (APIENTRY * glGetBufferParameteriv)(GLenum target, GLenum pname, GLint* params); - void (APIENTRY * glGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint* params); - void (APIENTRY * glGetProgramiv)(GLuint program, GLenum pname, GLint* params); - void (APIENTRY * glGetProgramInfoLog)(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog); - void (APIENTRY * glGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint* params); - void (APIENTRY * glGetShaderiv)(GLuint shader, GLenum pname, GLint* params); - void (APIENTRY * glGetShaderInfoLog)(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog); - void (APIENTRY * glGetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); - void (APIENTRY * glGetShaderSource)(GLuint shader, GLsizei bufsize, GLsizei* length, char* source); - void (APIENTRY * glGetUniformfv)(GLuint program, GLint location, GLfloat* params); - void (APIENTRY * glGetUniformiv)(GLuint program, GLint location, GLint* params); - GLint (APIENTRY * glGetUniformLocation)(GLuint program, const char* name); - void (APIENTRY * glGetVertexAttribfv)(GLuint index, GLenum pname, GLfloat* params); - void (APIENTRY * glGetVertexAttribiv)(GLuint index, GLenum pname, GLint* params); - void (APIENTRY * glGetVertexAttribPointerv)(GLuint index, GLenum pname, void** pointer); - GLboolean (APIENTRY * glIsBuffer)(GLuint buffer); - GLboolean (APIENTRY * glIsFramebuffer)(GLuint framebuffer); - GLboolean (APIENTRY * glIsProgram)(GLuint program); - GLboolean (APIENTRY * glIsRenderbuffer)(GLuint renderbuffer); - GLboolean (APIENTRY * glIsShader)(GLuint shader); - void (APIENTRY * glLinkProgram)(GLuint program); - void (APIENTRY * glReleaseShaderCompiler)(); - void (APIENTRY * glRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); - void (APIENTRY * glSampleCoverage)(GLclampf value, GLboolean invert); - void (APIENTRY * glShaderBinary)(GLint n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLint length); - void (APIENTRY * glShaderSource)(GLuint shader, GLsizei count, const char** string, const GLint* length); - void (APIENTRY * glStencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); - void (APIENTRY * glStencilMaskSeparate)(GLenum face, GLuint mask); - void (APIENTRY * glStencilOpSeparate)(GLenum face, GLenum fail, GLenum zfail, GLenum zpass); - void (APIENTRY * glUniform1f)(GLint location, GLfloat x); - void (APIENTRY * glUniform1fv)(GLint location, GLsizei count, const GLfloat* v); - void (APIENTRY * glUniform1i)(GLint location, GLint x); - void (APIENTRY * glUniform1iv)(GLint location, GLsizei count, const GLint* v); - void (APIENTRY * glUniform2f)(GLint location, GLfloat x, GLfloat y); - void (APIENTRY * glUniform2fv)(GLint location, GLsizei count, const GLfloat* v); - void (APIENTRY * glUniform2i)(GLint location, GLint x, GLint y); - void (APIENTRY * glUniform2iv)(GLint location, GLsizei count, const GLint* v); - void (APIENTRY * glUniform3f)(GLint location, GLfloat x, GLfloat y, GLfloat z); - void (APIENTRY * glUniform3fv)(GLint location, GLsizei count, const GLfloat* v); - void (APIENTRY * glUniform3i)(GLint location, GLint x, GLint y, GLint z); - void (APIENTRY * glUniform3iv)(GLint location, GLsizei count, const GLint* v); - void (APIENTRY * glUniform4f)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (APIENTRY * glUniform4fv)(GLint location, GLsizei count, const GLfloat* v); - void (APIENTRY * glUniform4i)(GLint location, GLint x, GLint y, GLint z, GLint w); - void (APIENTRY * glUniform4iv)(GLint location, GLsizei count, const GLint* v); - void (APIENTRY * glUniformMatrix2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (APIENTRY * glUniformMatrix3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (APIENTRY * glUniformMatrix4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); - void (APIENTRY * glUseProgram)(GLuint program); - void (APIENTRY * glValidateProgram)(GLuint program); - void (APIENTRY * glVertexAttrib1f)(GLuint indx, GLfloat x); - void (APIENTRY * glVertexAttrib1fv)(GLuint indx, const GLfloat* values); - void (APIENTRY * glVertexAttrib2f)(GLuint indx, GLfloat x, GLfloat y); - void (APIENTRY * glVertexAttrib2fv)(GLuint indx, const GLfloat* values); - void (APIENTRY * glVertexAttrib3f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z); - void (APIENTRY * glVertexAttrib3fv)(GLuint indx, const GLfloat* values); - void (APIENTRY * glVertexAttrib4f)(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); - void (APIENTRY * glVertexAttrib4fv)(GLuint indx, const GLfloat* values); - void (APIENTRY * glVertexAttribPointer)(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr); - - // ES only - void (APIENTRY * glClearDepthf)(GLclampf depth); - void (APIENTRY * glDepthRangef)(GLclampf nearVal, GLclampf farVal); - -private: #if !defined(QT_STATIC) || defined(QT_OPENGL_DYNAMIC) void *resolve(const char *name); +private: HMODULE m_lib; #endif }; diff --git a/src/plugins/platforms/windows/qwindowsglcontext.cpp b/src/plugins/platforms/windows/qwindowsglcontext.cpp index 8eac7cca9e..cc2f05b6d1 100644 --- a/src/plugins/platforms/windows/qwindowsglcontext.cpp +++ b/src/plugins/platforms/windows/qwindowsglcontext.cpp @@ -156,8 +156,6 @@ void *QWindowsOpengl32DLL::resolve(const char *name) #else void *proc = m_lib ? (void *) ::GetProcAddress(m_lib, (const wchar_t *) QString::fromLatin1(name).utf16()) : 0; #endif - if (!proc) - qErrnoWarning(::GetLastError(), "Failed to resolve OpenGL function %s", name); return proc; } @@ -199,56 +197,11 @@ bool QWindowsOpengl32DLL::init(bool softwareRendering) wglSwapBuffers = reinterpret_cast(resolve("wglSwapBuffers")); wglSetPixelFormat = reinterpret_cast(resolve("wglSetPixelFormat")); - glBindTexture = reinterpret_cast(resolve("glBindTexture")); - glBlendFunc = reinterpret_cast(resolve("glBlendFunc")); - glClear = reinterpret_cast(resolve("glClear")); - glClearColor = reinterpret_cast(resolve("glClearColor")); - glClearStencil = reinterpret_cast(resolve("glClearStencil")); - glColorMask = reinterpret_cast(resolve("glColorMask")); - glCopyTexImage2D = reinterpret_cast(resolve("glCopyTexImage2D")); - glCopyTexSubImage2D = reinterpret_cast(resolve("glCopyTexSubImage2D")); - glCullFace = reinterpret_cast(resolve("glCullFace")); - glDeleteTextures = reinterpret_cast(resolve("glDeleteTextures")); - glDepthFunc = reinterpret_cast(resolve("glDepthFunc")); - glDepthMask = reinterpret_cast(resolve("glDepthMask")); - glDisable = reinterpret_cast(resolve("glDisable")); - glDrawArrays = reinterpret_cast(resolve("glDrawArrays")); - glDrawElements = reinterpret_cast(resolve("glDrawElements")); - glEnable = reinterpret_cast(resolve("glEnable")); - glFinish = reinterpret_cast(resolve("glFinish")); - glFlush = reinterpret_cast(resolve("glFlush")); - glFrontFace = reinterpret_cast(resolve("glFrontFace")); - glGenTextures = reinterpret_cast(resolve("glGenTextures")); - glGetBooleanv = reinterpret_cast(resolve("glGetBooleanv")); glGetError = reinterpret_cast(resolve("glGetError")); - glGetFloatv = reinterpret_cast(resolve("glGetFloatv")); glGetIntegerv = reinterpret_cast(resolve("glGetIntegerv")); glGetString = reinterpret_cast(resolve("glGetString")); - glGetTexParameterfv = reinterpret_cast(resolve("glGetTexParameterfv")); - glGetTexParameteriv = reinterpret_cast(resolve("glGetTexParameteriv")); - glHint = reinterpret_cast(resolve("glHint")); - glIsEnabled = reinterpret_cast(resolve("glIsEnabled")); - glIsTexture = reinterpret_cast(resolve("glIsTexture")); - glLineWidth = reinterpret_cast(resolve("glLineWidth")); - glPixelStorei = reinterpret_cast(resolve("glPixelStorei")); - glPolygonOffset = reinterpret_cast(resolve("glPolygonOffset")); - glReadPixels = reinterpret_cast(resolve("glReadPixels")); - glScissor = reinterpret_cast(resolve("glScissor")); - glStencilFunc = reinterpret_cast(resolve("glStencilFunc")); - glStencilMask = reinterpret_cast(resolve("glStencilMask")); - glStencilOp = reinterpret_cast(resolve("glStencilOp")); - glTexImage2D = reinterpret_cast(resolve("glTexImage2D")); - glTexParameterf = reinterpret_cast(resolve("glTexParameterf")); - glTexParameterfv = reinterpret_cast(resolve("glTexParameterfv")); - glTexParameteri = reinterpret_cast(resolve("glTexParameteri")); - glTexParameteriv = reinterpret_cast(resolve("glTexParameteriv")); - glTexSubImage2D = reinterpret_cast(resolve("glTexSubImage2D")); - glViewport = reinterpret_cast(resolve("glViewport")); - - glClearDepth = reinterpret_cast(resolve("glClearDepth")); - glDepthRange = reinterpret_cast(resolve("glDepthRange")); - - return wglCreateContext && glBindTexture && glClearDepth; + + return wglCreateContext && glGetError && glGetString; } BOOL QWindowsOpengl32DLL::swapBuffers(HDC dc) @@ -1383,78 +1336,23 @@ void QWindowsGLContext::doneCurrent() QFunctionPointer QWindowsGLContext::getProcAddress(const char *procName) { + // Even though we use QFunctionPointer, it does not mean the function can be called. + // It will need to be cast to the proper function type with the correct calling + // convention. QFunctionPointer is nothing more than a glorified void* here. + QFunctionPointer procAddress = reinterpret_cast(QOpenGLStaticContext::opengl32.wglGetProcAddress(procName)); + // We support AllGLFunctionsQueryable, which means this function must be able to // return a function pointer even for functions that are in GL.h and exported // normally from opengl32.dll. wglGetProcAddress() is not guaranteed to work for such // functions, however in QT_OPENGL_DYNAMIC builds QOpenGLFunctions will just blindly - // call into here for _any_ OpenGL function. Hence the need to handle these specially - // here. The list has to match QOpenGLFunctions. See - // QOpenGLFunctionsPrivate::QOpenGLFunctionsPrivate(QOpenGLContext *). - static struct StdFunc { - const char *name; - void *func; - } standardFuncs[] = { - { "glBindTexture", (void *) QOpenGLStaticContext::opengl32.glBindTexture }, - { "glBlendFunc", (void *) QOpenGLStaticContext::opengl32.glBlendFunc }, - { "glClear", (void *) QOpenGLStaticContext::opengl32.glClear }, - { "glClearColor", (void *) QOpenGLStaticContext::opengl32.glClearColor }, - { "glClearStencil", (void *) QOpenGLStaticContext::opengl32.glClearStencil }, - { "glColorMask", (void *) QOpenGLStaticContext::opengl32.glColorMask }, - { "glCopyTexImage2D", (void *) QOpenGLStaticContext::opengl32.glCopyTexImage2D }, - { "glCopyTexSubImage2D", (void *) QOpenGLStaticContext::opengl32.glCopyTexSubImage2D }, - { "glCullFace", (void *) QOpenGLStaticContext::opengl32.glCullFace }, - { "glDeleteTextures", (void *) QOpenGLStaticContext::opengl32.glDeleteTextures }, - { "glDepthFunc", (void *) QOpenGLStaticContext::opengl32.glDepthFunc }, - { "glDepthMask", (void *) QOpenGLStaticContext::opengl32.glDepthMask }, - { "glDisable", (void *) QOpenGLStaticContext::opengl32.glDisable }, - { "glDrawArrays", (void *) QOpenGLStaticContext::opengl32.glDrawArrays }, - { "glDrawElements", (void *) QOpenGLStaticContext::opengl32.glDrawElements }, - { "glEnable", (void *) QOpenGLStaticContext::opengl32.glEnable }, - { "glFinish", (void *) QOpenGLStaticContext::opengl32.glFinish }, - { "glFlush", (void *) QOpenGLStaticContext::opengl32.glFlush }, - { "glFrontFace", (void *) QOpenGLStaticContext::opengl32.glFrontFace }, - { "glGenTextures", (void *) QOpenGLStaticContext::opengl32.glGenTextures }, - { "glGetBooleanv", (void *) QOpenGLStaticContext::opengl32.glGetBooleanv }, - { "glGetError", (void *) QOpenGLStaticContext::opengl32.glGetError }, - { "glGetFloatv", (void *) QOpenGLStaticContext::opengl32.glGetFloatv }, - { "glGetIntegerv", (void *) QOpenGLStaticContext::opengl32.glGetIntegerv }, - { "glGetString", (void *) QOpenGLStaticContext::opengl32.glGetString }, - { "glGetTexParameterfv", (void *) QOpenGLStaticContext::opengl32.glGetTexParameterfv }, - { "glGetTexParameteriv", (void *) QOpenGLStaticContext::opengl32.glGetTexParameteriv }, - { "glHint", (void *) QOpenGLStaticContext::opengl32.glHint }, - { "glIsEnabled", (void *) QOpenGLStaticContext::opengl32.glIsEnabled }, - { "glIsTexture", (void *) QOpenGLStaticContext::opengl32.glIsTexture }, - { "glLineWidth", (void *) QOpenGLStaticContext::opengl32.glLineWidth }, - { "glPixelStorei", (void *) QOpenGLStaticContext::opengl32.glPixelStorei }, - { "glPolygonOffset", (void *) QOpenGLStaticContext::opengl32.glPolygonOffset }, - { "glReadPixels", (void *) QOpenGLStaticContext::opengl32.glReadPixels }, - { "glScissor", (void *) QOpenGLStaticContext::opengl32.glScissor }, - { "glStencilFunc", (void *) QOpenGLStaticContext::opengl32.glStencilFunc }, - { "glStencilMask", (void *) QOpenGLStaticContext::opengl32.glStencilMask }, - { "glStencilOp", (void *) QOpenGLStaticContext::opengl32.glStencilOp }, - { "glTexImage2D", (void *) QOpenGLStaticContext::opengl32.glTexImage2D }, - { "glTexParameterf", (void *) QOpenGLStaticContext::opengl32.glTexParameterf }, - { "glTexParameterfv", (void *) QOpenGLStaticContext::opengl32.glTexParameterfv }, - { "glTexParameteri", (void *) QOpenGLStaticContext::opengl32.glTexParameteri }, - { "glTexParameteriv", (void *) QOpenGLStaticContext::opengl32.glTexParameteriv }, - { "glTexSubImage2D", (void *) QOpenGLStaticContext::opengl32.glTexSubImage2D }, - { "glViewport", (void *) QOpenGLStaticContext::opengl32.glViewport }, - - { "glClearDepth", (void *) QOpenGLStaticContext::opengl32.glClearDepth }, - { "glDepthRange", (void *) QOpenGLStaticContext::opengl32.glDepthRange }, - }; - for (size_t i = 0; i < sizeof(standardFuncs) / sizeof(StdFunc); ++i) - if (!qstrcmp(procName, standardFuncs[i].name)) - return reinterpret_cast(standardFuncs[i].func); + // call into here for _any_ OpenGL function. + if (!procAddress || procAddress == reinterpret_cast(0x1) || procAddress == reinterpret_cast(0x2) + || procAddress == reinterpret_cast(0x3) || procAddress == reinterpret_cast(-1)) + procAddress = reinterpret_cast(QOpenGLStaticContext::opengl32.resolve(procName)); - // Even though we use QFunctionPointer, it does not mean the function can be called. - // It will need to be cast to the proper function type with the correct calling - // convention. QFunctionPointer is nothing more than a glorified void* here. - QFunctionPointer procAddress = reinterpret_cast(QOpenGLStaticContext::opengl32.wglGetProcAddress(procName)); if (QWindowsContext::verbose > 1) qCDebug(lcQpaGl) << __FUNCTION__ << procName << QOpenGLStaticContext::opengl32.wglGetCurrentContext() << "returns" << procAddress; - if (!procAddress && QWindowsContext::verbose) - qWarning("%s: Unable to resolve '%s'", __FUNCTION__, procName); + return procAddress; } diff --git a/src/plugins/platforms/windows/qwindowsglcontext.h b/src/plugins/platforms/windows/qwindowsglcontext.h index a0fc31227e..e8c78860f2 100644 --- a/src/plugins/platforms/windows/qwindowsglcontext.h +++ b/src/plugins/platforms/windows/qwindowsglcontext.h @@ -118,58 +118,12 @@ struct QWindowsOpengl32DLL BOOL (WINAPI * wglShareLists)(HGLRC context1, HGLRC context2); // GL1+GLES2 common - void (APIENTRY * glBindTexture)(GLenum target, GLuint texture); - void (APIENTRY * glBlendFunc)(GLenum sfactor, GLenum dfactor); - void (APIENTRY * glClear)(GLbitfield mask); - void (APIENTRY * glClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); - void (APIENTRY * glClearStencil)(GLint s); - void (APIENTRY * glColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); - void (APIENTRY * glCopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); - void (APIENTRY * glCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); - void (APIENTRY * glCullFace)(GLenum mode); - void (APIENTRY * glDeleteTextures)(GLsizei n, const GLuint* textures); - void (APIENTRY * glDepthFunc)(GLenum func); - void (APIENTRY * glDepthMask)(GLboolean flag); - void (APIENTRY * glDisable)(GLenum cap); - void (APIENTRY * glDrawArrays)(GLenum mode, GLint first, GLsizei count); - void (APIENTRY * glDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); - void (APIENTRY * glEnable)(GLenum cap); - void (APIENTRY * glFinish)(); - void (APIENTRY * glFlush)(); - void (APIENTRY * glFrontFace)(GLenum mode); - void (APIENTRY * glGenTextures)(GLsizei n, GLuint* textures); - void (APIENTRY * glGetBooleanv)(GLenum pname, GLboolean* params); GLenum (APIENTRY * glGetError)(); - void (APIENTRY * glGetFloatv)(GLenum pname, GLfloat* params); void (APIENTRY * glGetIntegerv)(GLenum pname, GLint* params); const GLubyte * (APIENTRY * glGetString)(GLenum name); - void (APIENTRY * glGetTexParameterfv)(GLenum target, GLenum pname, GLfloat* params); - void (APIENTRY * glGetTexParameteriv)(GLenum target, GLenum pname, GLint* params); - void (APIENTRY * glHint)(GLenum target, GLenum mode); - GLboolean (APIENTRY * glIsEnabled)(GLenum cap); - GLboolean (APIENTRY * glIsTexture)(GLuint texture); - void (APIENTRY * glLineWidth)(GLfloat width); - void (APIENTRY * glPixelStorei)(GLenum pname, GLint param); - void (APIENTRY * glPolygonOffset)(GLfloat factor, GLfloat units); - void (APIENTRY * glReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); - void (APIENTRY * glScissor)(GLint x, GLint y, GLsizei width, GLsizei height); - void (APIENTRY * glStencilFunc)(GLenum func, GLint ref, GLuint mask); - void (APIENTRY * glStencilMask)(GLuint mask); - void (APIENTRY * glStencilOp)(GLenum fail, GLenum zfail, GLenum zpass); - void (APIENTRY * glTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); - void (APIENTRY * glTexParameterf)(GLenum target, GLenum pname, GLfloat param); - void (APIENTRY * glTexParameterfv)(GLenum target, GLenum pname, const GLfloat* params); - void (APIENTRY * glTexParameteri)(GLenum target, GLenum pname, GLint param); - void (APIENTRY * glTexParameteriv)(GLenum target, GLenum pname, const GLint* params); - void (APIENTRY * glTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); - void (APIENTRY * glViewport)(GLint x, GLint y, GLsizei width, GLsizei height); - - // GL only - void (APIENTRY * glClearDepth)(GLdouble depth); - void (APIENTRY * glDepthRange)(GLdouble zNear, GLdouble zFar); -private: void *resolve(const char *name); +private: HMODULE m_lib; bool m_nonOpengl32; -- cgit v1.2.3 From 696dc4f6dfcac6b2bbc6c874408cb9127f5abdf1 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 2 Feb 2016 09:50:19 +0100 Subject: Simplify and speed up code resolving gl functions Change-Id: I36d8881b658760dde18e4f52742c49f3c0cab7a5 Reviewed-by: Laszlo Agocs --- src/platformsupport/cglconvenience/cglconvenience.mm | 14 +------------- src/platformsupport/cglconvenience/cglconvenience_p.h | 1 - src/plugins/platforms/cocoa/qcocoaglcontext.mm | 3 ++- 3 files changed, 3 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/platformsupport/cglconvenience/cglconvenience.mm b/src/platformsupport/cglconvenience/cglconvenience.mm index 051b299404..a18510a9e2 100644 --- a/src/platformsupport/cglconvenience/cglconvenience.mm +++ b/src/platformsupport/cglconvenience/cglconvenience.mm @@ -42,19 +42,7 @@ #include #include #include - -QFunctionPointer qcgl_getProcAddress(const char *procName) -{ - CFURLRef url = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, - CFSTR("/System/Library/Frameworks/OpenGL.framework"), kCFURLPOSIXPathStyle, false); - CFBundleRef bundle = CFBundleCreate(kCFAllocatorDefault, url); - CFStringRef procNameCF = QCFString::toCFStringRef(QString::fromLatin1(procName)); - void *proc = CFBundleGetFunctionPointerForName(bundle, procNameCF); - CFRelease(url); - CFRelease(bundle); - CFRelease(procNameCF); - return (QFunctionPointer)proc; -} +#include // Match up with createNSOpenGLPixelFormat below! QSurfaceFormat qcgl_surfaceFormat() diff --git a/src/platformsupport/cglconvenience/cglconvenience_p.h b/src/platformsupport/cglconvenience/cglconvenience_p.h index adc1879916..e531e73549 100644 --- a/src/platformsupport/cglconvenience/cglconvenience_p.h +++ b/src/platformsupport/cglconvenience/cglconvenience_p.h @@ -55,7 +55,6 @@ #include #include -QFunctionPointer qcgl_getProcAddress(const char *procName); QSurfaceFormat qcgl_surfaceFormat(); void *qcgl_createNSOpenGLPixelFormat(const QSurfaceFormat &format); diff --git a/src/plugins/platforms/cocoa/qcocoaglcontext.mm b/src/plugins/platforms/cocoa/qcocoaglcontext.mm index c004f26d02..7a12969972 100644 --- a/src/plugins/platforms/cocoa/qcocoaglcontext.mm +++ b/src/plugins/platforms/cocoa/qcocoaglcontext.mm @@ -44,6 +44,7 @@ #include #include #include +#include #import @@ -337,7 +338,7 @@ void QCocoaGLContext::doneCurrent() QFunctionPointer QCocoaGLContext::getProcAddress(const char *procName) { - return qcgl_getProcAddress(procName); + return (QFunctionPointer)dlsym(RTLD_DEFAULT, procName); } void QCocoaGLContext::update() -- cgit v1.2.3 From 752e85947c08c687c3e297bbd0e00a1a4d677cfb Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Thu, 18 Feb 2016 16:43:02 +0100 Subject: Restore multisampled FBOs on ANGLE The function resolving changes remove the special treatment for ES 3.0+ contexts, meaning that now all functions get resolved in the same way irrespective of the current context. For blitFramebuffer and renderbufferStorageMultisample this presented an issue with ANGLE. There these functions are available both as an ANGLE extension and as standard ES 3.0 functions. The latter are not functional however in 2.0 contexts. We expect multisampled FBOs to work in 2.0 contexts too by prefering the ANGLE extension with 2.0 contexts. Change-Id: I0a4b70e6d39c84d4b1f61f8fd0655d7326419a2a Reviewed-by: Lars Knoll --- src/plugins/platforms/windows/qwindowseglcontext.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowseglcontext.cpp b/src/plugins/platforms/windows/qwindowseglcontext.cpp index 87800283ee..42caeb1c89 100644 --- a/src/plugins/platforms/windows/qwindowseglcontext.cpp +++ b/src/plugins/platforms/windows/qwindowseglcontext.cpp @@ -538,7 +538,23 @@ void QWindowsEGLContext::swapBuffers(QPlatformSurface *surface) QFunctionPointer QWindowsEGLContext::getProcAddress(const char *procName) { QWindowsEGLStaticContext::libEGL.eglBindAPI(m_api); - QFunctionPointer procAddress = reinterpret_cast(QWindowsEGLStaticContext::libEGL.eglGetProcAddress(procName)); + + QFunctionPointer procAddress = nullptr; + + // Special logic for ANGLE extensions for blitFramebuffer and + // renderbufferStorageMultisample. In version 2 contexts the extensions + // must be used instead of the suffixless, version 3.0 functions. + if (m_format.majorVersion() < 3) { + if (!strcmp(procName, "glBlitFramebuffer") || !strcmp(procName, "glRenderbufferStorageMultisample")) { + char extName[32 + 5 + 1]; + strcpy(extName, procName); + strcat(extName, "ANGLE"); + procAddress = reinterpret_cast(QWindowsEGLStaticContext::libEGL.eglGetProcAddress(extName)); + } + } + + if (!procAddress) + procAddress = reinterpret_cast(QWindowsEGLStaticContext::libEGL.eglGetProcAddress(procName)); // We support AllGLFunctionsQueryable, which means this function must be able to // return a function pointer for standard GLES2 functions too. These are not -- cgit v1.2.3 From 82b8158022064851ef9151d441241aa4019605c2 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Wed, 10 Feb 2016 08:24:50 +0100 Subject: Windows: Extract the suffix from the simple file filter case Since the filter can either be something like "*.txt" or "Text Files (*.txt)" then it should have the suffix default to "txt" in both cases. Change-Id: I36a72f5bf0fb12c84db103f91c4fca94d0d933ae Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/qwindowsdialoghelpers.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp index 2d75e1720a..ca5b90b429 100644 --- a/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp +++ b/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp @@ -1466,18 +1466,21 @@ public: }; // Return the first suffix from the name filter "Foo files (*.foo;*.bar)" -> "foo". +// Also handles the simple name filter case "*.txt" -> "txt" static inline QString suffixFromFilter(const QString &filter) { - int suffixPos = filter.indexOf(QLatin1String("(*.")); + int suffixPos = filter.indexOf(QLatin1String("*.")); if (suffixPos < 0) return QString(); - suffixPos += 3; + suffixPos += 2; int endPos = filter.indexOf(QLatin1Char(' '), suffixPos + 1); if (endPos < 0) endPos = filter.indexOf(QLatin1Char(';'), suffixPos + 1); if (endPos < 0) endPos = filter.indexOf(QLatin1Char(')'), suffixPos + 1); - return endPos >= 0 ? filter.mid(suffixPos, endPos - suffixPos) : QString(); + if (endPos < 0) + endPos = filter.size(); + return filter.mid(suffixPos, endPos - suffixPos); } void QWindowsNativeSaveFileDialog::setNameFilters(const QStringList &f) -- cgit v1.2.3 From acba844c6ba0d72c6f37d8cbee8b343c23b05de1 Mon Sep 17 00:00:00 2001 From: David Weisgerber Date: Mon, 29 Feb 2016 15:48:47 +0100 Subject: Fixed reading REG_SZ without terminating \0 delivers garbage When reading from the registry, sometimes the string is not null terminated. In order to fix this, the preallocated QByteArray size is increased, so that there are guaranteed enough terminating \0 [Windows] Not null terminated strings are now read properly from the registry Change-Id: I95fdf42cbbb7074fcf010dd14d0241f02d3c412b Task-number: QTBUG-51382 Reviewed-by: Friedemann Kleint --- src/corelib/io/qsettings_win.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/corelib/io/qsettings_win.cpp b/src/corelib/io/qsettings_win.cpp index 1546219c3b..da0c4c3c14 100644 --- a/src/corelib/io/qsettings_win.cpp +++ b/src/corelib/io/qsettings_win.cpp @@ -484,6 +484,12 @@ bool QWinSettingsPrivate::readKey(HKEY parentHandle, const QString &rSubKey, QVa return false; } + // workaround for rare cases where trailing '\0' are missing in registry + if (dataType == REG_SZ || dataType == REG_EXPAND_SZ) + dataSize += 2; + else if (dataType == REG_MULTI_SZ) + dataSize += 4; + // get the value QByteArray data(dataSize, 0); res = RegQueryValueEx(handle, reinterpret_cast(rSubkeyName.utf16()), 0, 0, -- cgit v1.2.3 From 52a5ffb505f737836d69e512c50bb6aff0b75f02 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 1 Mar 2016 15:14:34 +0100 Subject: QMimeBinaryProvider::loadMimeTypePrivate(): Make name check case insensitive. RFC 2045 mandates case-insensitive comparison for MIME type and subtype. Fixes numerous warnings appearing when dumping the database on Ubuntu 14.04.1 LTS: Got name "application/vnd.ms-excel.sheet.binary.macroenabled.12" in file "application/vnd.ms-excel.sheet.binary.macroEnabled.12.xml" expected "application/vnd.ms-excel.sheet.binary.macroEnabled.12" Got name "application/vnd.ms-excel.sheet.macroenabled.12" in file "application/vnd.ms-excel.sheet.macroEnabled.12.xml" expected "application/vnd.ms-excel.sheet.macroEnabled.12" Got name "application/vnd.ms-excel.template.macroenabled.12" in file "application/vnd.ms-excel.template.macroEnabled.12.xml" expected "application/vnd.ms-excel.template.macroEnabled.12" Got name "application/vnd.ms-powerpoint.presentation.macroenabled.12" in file "application/vnd.ms-powerpoint.presentation.macroEnabled.12.xml" expected "application/vnd.ms-powerpoint.presentation.macroEnabled.12" Got name "application/vnd.ms-powerpoint.template.macroenabled.12" in file "application/vnd.ms-powerpoint.template.macroEnabled.12.xml" expected "application/vnd.ms-powerpoint.template.macroEnabled.12" Got name "application/vnd.ms-word.document.macroenabled.12" in file "application/vnd.ms-word.document.macroEnabled.12.xml" expected "application/vnd.ms-word.document.macroEnabled.12" Got name "application/vnd.ms-word.template.macroenabled.12" in file "application/vnd.ms-word.template.macroEnabled.12.xml" expected "application/vnd.ms-word.template.macroEnabled.12" Change-Id: Ie2a427069024080302a95ac46a456288787542c4 Reviewed-by: Edward Welbourne Reviewed-by: David Faure --- src/corelib/mimetypes/qmimeprovider.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index 917c29b8d6..0c64db4d48 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -591,9 +591,8 @@ void QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate &data) const QStringRef name = xml.attributes().value(QLatin1String("type")); if (name.isEmpty()) continue; - if (name != data.name) { + if (name.compare(data.name, Qt::CaseInsensitive)) qWarning() << "Got name" << name << "in file" << file << "expected" << data.name; - } while (xml.readNextStartElement()) { const QStringRef tag = xml.name(); -- cgit v1.2.3 From 3ec093a758ca0250e402176c1a7ee1f53324975a Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Wed, 24 Feb 2016 16:09:25 +0300 Subject: QOpenGLTexture: de-duplicate setBorderColor() code Change-Id: I6864e227fceb133903979ac8f7a7434fc3e280bf Reviewed-by: Edward Welbourne Reviewed-by: Sean Harmer --- src/gui/opengl/qopengltexture.cpp | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopengltexture.cpp b/src/gui/opengl/qopengltexture.cpp index 23ae5febc0..1db61b7ca1 100644 --- a/src/gui/opengl/qopengltexture.cpp +++ b/src/gui/opengl/qopengltexture.cpp @@ -4110,27 +4110,8 @@ QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDire */ void QOpenGLTexture::setBorderColor(QColor color) { -#if !defined(QT_OPENGL_ES_2) - if (!QOpenGLContext::currentContext()->isOpenGLES()) { - Q_D(QOpenGLTexture); - d->create(); - Q_ASSERT(d->texFuncs); - Q_ASSERT(d->textureId); - float values[4]; - values[0] = color.redF(); - values[1] = color.greenF(); - values[2] = color.blueF(); - values[3] = color.alphaF(); - d->borderColor.clear(); - for (int i = 0; i < 4; ++i) - d->borderColor.append(QVariant(values[i])); - d->texFuncs->glTextureParameterfv(d->textureId, d->target, d->bindingTarget, GL_TEXTURE_BORDER_COLOR, values); - return; - } -#else - Q_UNUSED(color); -#endif - qWarning("QOpenGLTexture: Border color is not supported"); + setBorderColor(static_cast(color.redF()), static_cast(color.greenF()), + static_cast(color.blueF()), static_cast(color.alphaF())); } /*! -- cgit v1.2.3 From afe3c30759d1bf9f52278d8dc40f85a93a1d963b Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Fri, 26 Feb 2016 13:56:55 -0800 Subject: Don't create accessible interface for QWidgets being destroyed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I975ee556913707e8595b2a89f1bba4299187bcfb Reviewed-by: Wayne Arnold Reviewed-by: Jan Arve Sæther --- src/widgets/accessible/qaccessiblewidgetfactory.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/widgets/accessible/qaccessiblewidgetfactory.cpp b/src/widgets/accessible/qaccessiblewidgetfactory.cpp index 4fa7c89482..261bc69000 100644 --- a/src/widgets/accessible/qaccessiblewidgetfactory.cpp +++ b/src/widgets/accessible/qaccessiblewidgetfactory.cpp @@ -33,6 +33,7 @@ #include "qaccessiblewidgets_p.h" #include "qaccessiblemenu_p.h" +#include "private/qwidget_p.h" #include "simplewidgets_p.h" #include "rangecontrols_p.h" #include "complexwidgets_p.h" @@ -53,7 +54,15 @@ QAccessibleInterface *qAccessibleFactory(const QString &classname, QObject *obje QAccessibleInterface *iface = 0; if (!object || !object->isWidgetType()) return iface; + QWidget *widget = static_cast(object); + // QWidget emits destroyed() from its destructor instead of letting the QObject + // destructor do it, which means the QWidget is unregistered from the accessibillity + // cache. But QWidget destruction also emits enter and leave events, which may end + // up here, so we have to ensure that we don't fill the cache with an entry of + // a widget that is going away. + if (QWidgetPrivate::get(widget)->data.in_destructor) + return iface; if (false) { #ifndef QT_NO_LINEEDIT -- cgit v1.2.3 From fb591c73661055bf48a44b4742a2399ae8dc684a Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 24 Feb 2016 14:56:36 +0100 Subject: QStringBuilder: don't allocate memory in convertFromAscii() Use new QUtf8::convertToUnicode(QChar*, const char*, int) overload instead of QString::fromUtf8(). The QUtf8 overload allocates no memory, and is therefore marked as nothrow. Using this function in convertFromAscii() allows to mark this function nothrow, too. All functions of QAbstractConcatenable can now be marked as nothrow. Since QUtf8::convertToUnicode() does not deal with lengths of -1, insert a strlen() call when the len == -1 ASCII fast path fails due to non-ASCII chars. Saves 1.1KiB in text size on optimized GCC 5.3 Linux AMD64 builds of QtCore (other libraries are compiled without exceptions, so this change should not have an effect on those). Change-Id: I7333e35844033831eae2a04203d13d9792c5d460 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/tools/qstring.cpp | 2 +- src/corelib/tools/qstringbuilder.cpp | 8 ++++---- src/corelib/tools/qstringbuilder.h | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 24d43dad88..943d8efe1d 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -10609,7 +10609,7 @@ QString QString::toHtmlEscaped() const /*! \internal */ -void QAbstractConcatenable::appendLatin1To(const char *a, int len, QChar *out) +void QAbstractConcatenable::appendLatin1To(const char *a, int len, QChar *out) Q_DECL_NOTHROW { qt_from_latin1(reinterpret_cast(out), a, uint(len)); } diff --git a/src/corelib/tools/qstringbuilder.cpp b/src/corelib/tools/qstringbuilder.cpp index eba939a413..85babbd698 100644 --- a/src/corelib/tools/qstringbuilder.cpp +++ b/src/corelib/tools/qstringbuilder.cpp @@ -39,6 +39,7 @@ #include "qstringbuilder.h" #include +#include QT_BEGIN_NAMESPACE @@ -107,7 +108,7 @@ QT_BEGIN_NAMESPACE /*! \internal */ -void QAbstractConcatenable::convertFromAscii(const char *a, int len, QChar *&out) +void QAbstractConcatenable::convertFromAscii(const char *a, int len, QChar *&out) Q_DECL_NOTHROW { if (len == -1) { if (!a) @@ -116,6 +117,7 @@ void QAbstractConcatenable::convertFromAscii(const char *a, int len, QChar *&out *out++ = QLatin1Char(*a++); if (!*a) return; + len = int(strlen(a)); } else { int i; for (i = 0; i < len && uchar(a[i]) < 0x80U; ++i) @@ -127,9 +129,7 @@ void QAbstractConcatenable::convertFromAscii(const char *a, int len, QChar *&out } // we need to complement with UTF-8 appending - QString tmp = QString::fromUtf8(a, len); - memcpy(out, reinterpret_cast(tmp.constData()), sizeof(QChar) * tmp.size()); - out += tmp.size(); + out = QUtf8::convertToUnicode(out, a, len); } QT_END_NAMESPACE diff --git a/src/corelib/tools/qstringbuilder.h b/src/corelib/tools/qstringbuilder.h index faf9eb4b4d..8ce98cbd71 100644 --- a/src/corelib/tools/qstringbuilder.h +++ b/src/corelib/tools/qstringbuilder.h @@ -58,12 +58,12 @@ QT_BEGIN_NAMESPACE struct Q_CORE_EXPORT QAbstractConcatenable { protected: - static void convertFromAscii(const char *a, int len, QChar *&out); - static inline void convertFromAscii(char a, QChar *&out) + static void convertFromAscii(const char *a, int len, QChar *&out) Q_DECL_NOTHROW; + static inline void convertFromAscii(char a, QChar *&out) Q_DECL_NOTHROW { *out++ = QLatin1Char(a); } - static void appendLatin1To(const char *a, int len, QChar *out); + static void appendLatin1To(const char *a, int len, QChar *out) Q_DECL_NOTHROW; }; template struct QConcatenable {}; -- cgit v1.2.3 From 0077435897ff8c2d264110a9f4a0330754b92f0a Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 27 Feb 2016 02:52:16 +0100 Subject: QMainWindowLayout: eradicate Q_FOREACH loops: Extract Method allMyDockWidgets() Extract a loop repeated four times in the code into a separate function. Port to use C++11 range-for loops and not create temporary QLists. Saves 2.4KiB in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I7eb78ffaac33627b595e35cafb6ce0769fb760a8 Reviewed-by: Lars Knoll --- src/widgets/widgets/qmainwindowlayout.cpp | 35 ++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index 63a6c718bc..99c32e9acc 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -852,6 +852,25 @@ static QList findChildrenHelper(const QObject *o) return result; } +#ifndef QT_NO_DOCKWIDGET +static QList allMyDockWidgets(const QWidget *mainWindow) +{ + QList result; + for (QObject *c : mainWindow->children()) { + if (auto *dw = qobject_cast(c)) { + result.append(dw); + } else if (auto *gw = qobject_cast(c)) { + for (QObject *c : gw->children()) { + if (auto *dw = qobject_cast(c)) + result.append(dw); + } + } + } + + return result; +} +#endif // QT_NO_DOCKWIDGET + //pre4.3 tests the format that was used before 4.3 bool QMainWindowLayoutState::checkFormat(QDataStream &stream) { @@ -875,9 +894,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) #ifndef QT_NO_DOCKWIDGET case QDockAreaLayout::DockWidgetStateMarker: { - QList dockWidgets = findChildrenHelper(mainWindow); - foreach (QDockWidgetGroupWindow *floating, findChildrenHelper(mainWindow)) - dockWidgets += findChildrenHelper(floating); + const auto dockWidgets = allMyDockWidgets(mainWindow); if (!dockAreaLayout.restoreState(stream, dockWidgets, true /*testing*/)) { return false; } @@ -889,9 +906,7 @@ bool QMainWindowLayoutState::checkFormat(QDataStream &stream) QRect geom; stream >> geom; QDockAreaLayoutInfo info; - QList dockWidgets = findChildrenHelper(mainWindow); - foreach (QDockWidgetGroupWindow *floating, findChildrenHelper(mainWindow)) - dockWidgets += findChildrenHelper(floating); + auto dockWidgets = allMyDockWidgets(mainWindow); if (!info.restoreState(stream, dockWidgets, true /* testing*/)) return false; } @@ -935,9 +950,7 @@ bool QMainWindowLayoutState::restoreState(QDataStream &_stream, #ifndef QT_NO_DOCKWIDGET case QDockAreaLayout::DockWidgetStateMarker: { - QList dockWidgets = findChildrenHelper(mainWindow); - foreach (QDockWidgetGroupWindow *floating, findChildrenHelper(mainWindow)) - dockWidgets += findChildrenHelper(floating); + const auto dockWidgets = allMyDockWidgets(mainWindow); if (!dockAreaLayout.restoreState(stream, dockWidgets)) return false; @@ -961,9 +974,7 @@ bool QMainWindowLayoutState::restoreState(QDataStream &_stream, #ifndef QT_NO_TABBAR case QDockAreaLayout::FloatingDockWidgetTabMarker: { - QList dockWidgets = findChildrenHelper(mainWindow); - foreach (QDockWidgetGroupWindow *floating, findChildrenHelper(mainWindow)) - dockWidgets += findChildrenHelper(floating); + auto dockWidgets = allMyDockWidgets(mainWindow); QDockWidgetGroupWindow* floatingTab = qt_mainwindow_layout(mainWindow)->createTabbedDockWindow(); *floatingTab->layoutInfo() = QDockAreaLayoutInfo(&dockAreaLayout.sep, QInternal::LeftDock, Qt::Horizontal, QTabBar::RoundedSouth, mainWindow); -- cgit v1.2.3 From 1bd24e5b0c7c329e8e6b00e85d2d360abf5630c6 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 24 Jun 2015 09:48:50 +0200 Subject: QtGui: Mark some more types as shared for Qt 6. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Marking them shared (which implies movable) now would make QLists of these BiC. Change-Id: If5638e8d9f43e0ad549aedf08934de31e1e189f1 Reviewed-by: Lars Knoll Reviewed-by: Jędrzej Nowacki --- src/gui/kernel/qcursor.h | 8 ++++++-- src/gui/painting/qpainterpath.h | 1 + src/gui/painting/qpolygon.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qcursor.h b/src/gui/kernel/qcursor.h index 1b11bad69f..814e8ab7bd 100644 --- a/src/gui/kernel/qcursor.h +++ b/src/gui/kernel/qcursor.h @@ -87,9 +87,12 @@ public: QCursor &operator=(const QCursor &cursor); #ifdef Q_COMPILER_RVALUE_REFS QCursor(QCursor &&other) Q_DECL_NOTHROW : d(other.d) { other.d = Q_NULLPTR; } - inline QCursor &operator=(QCursor &&other) - { qSwap(d, other.d); return *this; } + inline QCursor &operator=(QCursor &&other) Q_DECL_NOTHROW + { swap(other); return *this; } #endif + + void swap(QCursor &other) Q_DECL_NOTHROW { qSwap(d, other.d); } + operator QVariant() const; Qt::CursorShape shape() const; @@ -110,6 +113,7 @@ public: private: QCursorData *d; }; +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QCursor) /***************************************************************************** QCursor stream functions diff --git a/src/gui/painting/qpainterpath.h b/src/gui/painting/qpainterpath.h index 8513e6d407..882918fc87 100644 --- a/src/gui/painting/qpainterpath.h +++ b/src/gui/painting/qpainterpath.h @@ -230,6 +230,7 @@ private: #endif }; +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QPainterPath) Q_DECLARE_TYPEINFO(QPainterPath::Element, Q_PRIMITIVE_TYPE); #ifndef QT_NO_DATASTREAM diff --git a/src/gui/painting/qpolygon.h b/src/gui/painting/qpolygon.h index 7b77ee5014..23bdd1933f 100644 --- a/src/gui/painting/qpolygon.h +++ b/src/gui/painting/qpolygon.h @@ -98,6 +98,7 @@ public: QPolygon intersected(const QPolygon &r) const Q_REQUIRED_RESULT; QPolygon subtracted(const QPolygon &r) const Q_REQUIRED_RESULT; }; +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QPolygon) inline QPolygon::QPolygon(int asize) : QVector(asize) {} @@ -174,6 +175,7 @@ public: QPolygonF intersected(const QPolygonF &r) const Q_REQUIRED_RESULT; QPolygonF subtracted(const QPolygonF &r) const Q_REQUIRED_RESULT; }; +Q_DECLARE_SHARED_NOT_MOVABLE_UNTIL_QT6(QPolygonF) inline QPolygonF::QPolygonF(int asize) : QVector(asize) {} -- cgit v1.2.3 From fdd2ab58ae5c0ed581c0897f5207aa62cb29c785 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Thu, 3 Mar 2016 11:29:10 +0100 Subject: Fix compile with clang and -Werror. Fixes the following warning/error: src/sql/drivers/sqlite2/qsql_sqlite2.cpp:142:19: error: unused variable 'initial_cache_size' [-Werror,-Wunused-const-variable] static const uint initial_cache_size = 128; ^ 1 error generated. Change-Id: I4ed7f789561dd9b68dd374c122f4db3813e63e05 Reviewed-by: Thomas McGuire --- src/sql/drivers/sqlite2/qsql_sqlite2.cpp | 2 -- 1 file changed, 2 deletions(-) (limited to 'src') diff --git a/src/sql/drivers/sqlite2/qsql_sqlite2.cpp b/src/sql/drivers/sqlite2/qsql_sqlite2.cpp index 3b540fd193..3b00e6f848 100644 --- a/src/sql/drivers/sqlite2/qsql_sqlite2.cpp +++ b/src/sql/drivers/sqlite2/qsql_sqlite2.cpp @@ -139,8 +139,6 @@ public: QVector firstRow; }; -static const uint initial_cache_size = 128; - QSQLite2ResultPrivate::QSQLite2ResultPrivate(QSQLite2Result* res) : q(res), access(0), currentTail(0), currentMachine(0), skippedStatus(false), skipRow(false), utf8(false) { -- cgit v1.2.3 From d0cdc7ad1e2728caf363abf328b2ad81f2ed5a5b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 2 Mar 2016 22:17:13 -0800 Subject: DirectFB: Fix build in C++98 mode Many DirectFB types have constructors in C++, so we can't initialize them with = {...}, like we would be able to if they had been regular POD types. Change-Id: Ic747cc2ab45e4dc6bb70ffff143840e5780ac2bc Reviewed-by: Lars Knoll Reviewed-by: Andy Nichols --- src/plugins/platforms/directfb/qdirectfbbackingstore.cpp | 6 +++--- src/plugins/platforms/directfb/qdirectfbblitter.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp b/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp index 369fa3b9f8..8fe4bca788 100644 --- a/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp +++ b/src/plugins/platforms/directfb/qdirectfbbackingstore.cpp @@ -67,7 +67,7 @@ void QDirectFbBackingStore::flush(QWindow *, const QRegion ®ion, const QPoint QVector rects = region.rects(); for (int i = 0 ; i < rects.size(); i++) { const QRect rect = rects.at(i); - DFBRegion dfbReg = { rect.x() + offset.x(),rect.y() + offset.y(),rect.right() + offset.x(),rect.bottom() + offset.y()}; + DFBRegion dfbReg(rect.x() + offset.x(),rect.y() + offset.y(),rect.right() + offset.x(),rect.bottom() + offset.y()); m_dfbSurface->Flip(m_dfbSurface.data(), &dfbReg, DFBSurfaceFlipFlags(DSFLIP_BLIT|DSFLIP_ONSYNC)); } } @@ -86,9 +86,9 @@ void QDirectFbBackingStore::resize(const QSize &size, const QRegion& reg) static inline void scrollSurface(IDirectFBSurface *surface, const QRect &r, int dx, int dy) { - const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() }; + const DFBRectangle rect(r.x(), r.y(), r.width(), r.height()); surface->Blit(surface, surface, &rect, r.x() + dx, r.y() + dy); - const DFBRegion region = { rect.x + dx, rect.y + dy, r.right() + dx, r.bottom() + dy }; + const DFBRegion region(rect.x + dx, rect.y + dy, r.right() + dx, r.bottom() + dy); surface->Flip(surface, ®ion, DFBSurfaceFlipFlags(DSFLIP_BLIT)); } diff --git a/src/plugins/platforms/directfb/qdirectfbblitter.cpp b/src/plugins/platforms/directfb/qdirectfbblitter.cpp index b87310ed76..75af3f74d6 100644 --- a/src/plugins/platforms/directfb/qdirectfbblitter.cpp +++ b/src/plugins/platforms/directfb/qdirectfbblitter.cpp @@ -173,8 +173,8 @@ void QDirectFbBlitter::drawPixmapOpacity(const QRectF &rect, const QPixmap &pixm { QRect sQRect = subrect.toRect(); QRect dQRect = rect.toRect(); - DFBRectangle sRect = { sQRect.x(), sQRect.y(), sQRect.width(), sQRect.height() }; - DFBRectangle dRect = { dQRect.x(), dQRect.y(), dQRect.width(), dQRect.height() }; + DFBRectangle sRect(sQRect.x(), sQRect.y(), sQRect.width(), sQRect.height()); + DFBRectangle dRect(dQRect.x(), dQRect.y(), dQRect.width(), dQRect.height()); DFBResult result; // skip if dst too small -- cgit v1.2.3 From 06e27b6ef9549b08e34f016375bcc44a901a9325 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Tue, 1 Mar 2016 14:12:31 +0300 Subject: QtNetwork: optimize if-else conditions. De-duplicate calls by caching results. Reorder conditions: call cheap methods first. Change-Id: I27715b935247c6c21bd02f9cc40655d3f9371264 Reviewed-by: Marc Mutz --- src/network/access/qnetworkaccessbackend.cpp | 14 +++++--------- src/network/access/qnetworkcookiejar.cpp | 3 ++- src/network/access/qnetworkreplyfileimpl.cpp | 5 +++-- src/network/kernel/qnetworkproxy_generic.cpp | 7 ++++--- 4 files changed, 14 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkaccessbackend.cpp b/src/network/access/qnetworkaccessbackend.cpp index c2914117db..9c223dd32f 100644 --- a/src/network/access/qnetworkaccessbackend.cpp +++ b/src/network/access/qnetworkaccessbackend.cpp @@ -385,15 +385,11 @@ bool QNetworkAccessBackend::start() // Session not ready, but can skip for loopback connections // This is not ideal. - const QString host = reply->url.host(); - - if (host == QLatin1String("localhost") || - QHostAddress(host).isLoopback() || - reply->url.isLocalFile()) { - // Don't need an open session for localhost access. - } else { - // need to wait for session to be opened - return false; + // Don't need an open session for localhost access. + if (!reply->url.isLocalFile()) { + const QString host = reply->url.host(); + if (host != QLatin1String("localhost") && !QHostAddress(host).isLoopback()) + return false; // need to wait for session to be opened } } } diff --git a/src/network/access/qnetworkcookiejar.cpp b/src/network/access/qnetworkcookiejar.cpp index 1ae49aeee9..412b8d859d 100644 --- a/src/network/access/qnetworkcookiejar.cpp +++ b/src/network/access/qnetworkcookiejar.cpp @@ -331,7 +331,8 @@ bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie) bool QNetworkCookieJar::validateCookie(const QNetworkCookie &cookie, const QUrl &url) const { QString domain = cookie.domain(); - if (!(isParentDomain(domain, url.host()) || isParentDomain(url.host(), domain))) + const QString host = url.host(); + if (!isParentDomain(domain, host) && !isParentDomain(host, domain)) return false; // not accepted // the check for effective TLDs makes the "embedded dot" rule from RFC 2109 section 4.3.2 diff --git a/src/network/access/qnetworkreplyfileimpl.cpp b/src/network/access/qnetworkreplyfileimpl.cpp index bd89659689..36bc4b41df 100644 --- a/src/network/access/qnetworkreplyfileimpl.cpp +++ b/src/network/access/qnetworkreplyfileimpl.cpp @@ -88,11 +88,12 @@ QNetworkReplyFileImpl::QNetworkReplyFileImpl(QObject *parent, const QNetworkRequ QString fileName = url.toLocalFile(); if (fileName.isEmpty()) { - if (url.scheme() == QLatin1String("qrc")) { + const QString scheme = url.scheme(); + if (scheme == QLatin1String("qrc")) { fileName = QLatin1Char(':') + url.path(); } else { #if defined(Q_OS_ANDROID) - if (url.scheme() == QLatin1String("assets")) + if (scheme == QLatin1String("assets")) fileName = QLatin1String("assets:") + url.path(); else #endif diff --git a/src/network/kernel/qnetworkproxy_generic.cpp b/src/network/kernel/qnetworkproxy_generic.cpp index 272d6dfe8d..db1083f3e0 100644 --- a/src/network/kernel/qnetworkproxy_generic.cpp +++ b/src/network/kernel/qnetworkproxy_generic.cpp @@ -112,16 +112,17 @@ QList QNetworkProxyFactory::systemProxyForQuery(const QNetworkPro if (!proxy_env.isEmpty()) { QUrl url = QUrl(QString::fromLocal8Bit(proxy_env)); - if (url.scheme() == QLatin1String("socks5")) { + const QString scheme = url.scheme(); + if (scheme == QLatin1String("socks5")) { QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, url.host(), url.port() ? url.port() : 1080, url.userName(), url.password()); proxyList << proxy; - } else if (url.scheme() == QLatin1String("socks5h")) { + } else if (scheme == QLatin1String("socks5h")) { QNetworkProxy proxy(QNetworkProxy::Socks5Proxy, url.host(), url.port() ? url.port() : 1080, url.userName(), url.password()); proxy.setCapabilities(QNetworkProxy::HostNameLookupCapability); proxyList << proxy; - } else if ((url.scheme() == QLatin1String("http") || url.scheme().isEmpty()) + } else if ((scheme.isEmpty() || scheme == QLatin1String("http")) && query.queryType() != QNetworkProxyQuery::UdpSocket && query.queryType() != QNetworkProxyQuery::TcpServer) { QNetworkProxy proxy(QNetworkProxy::HttpProxy, url.host(), -- cgit v1.2.3 From 0fb7e910a941c105086612063b6f3925e0f1de2a Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Tue, 1 Mar 2016 15:37:13 +0300 Subject: QLocalServer, QLocalSocket: simpler use of startsWith() It has a variant accepting QL1S directly, so no need to go via a QString. Change-Id: Ia8f1198ef2af7027bc9f7c2e1dad3a5f78a12eb4 Reviewed-by: Marc Mutz Reviewed-by: Edward Welbourne --- src/network/socket/qlocalserver_win.cpp | 2 +- src/network/socket/qlocalsocket_win.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/network/socket/qlocalserver_win.cpp b/src/network/socket/qlocalserver_win.cpp index c2812e54f8..dae1f82063 100644 --- a/src/network/socket/qlocalserver_win.cpp +++ b/src/network/socket/qlocalserver_win.cpp @@ -241,7 +241,7 @@ bool QLocalServerPrivate::listen(const QString &name) { Q_Q(QLocalServer); - QString pipePath = QLatin1String("\\\\.\\pipe\\"); + const QLatin1String pipePath("\\\\.\\pipe\\"); if (name.startsWith(pipePath)) fullServerName = name; else diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp index 4e8ae41479..70a738864b 100644 --- a/src/network/socket/qlocalsocket_win.cpp +++ b/src/network/socket/qlocalsocket_win.cpp @@ -148,7 +148,7 @@ void QLocalSocket::connectToServer(OpenMode openMode) return; } - QString pipePath = QLatin1String("\\\\.\\pipe\\"); + const QLatin1String pipePath("\\\\.\\pipe\\"); if (d->serverName.startsWith(pipePath)) d->fullServerName = d->serverName; else -- cgit v1.2.3 From 99b222340672891d15e361298d7e4722a5ad0883 Mon Sep 17 00:00:00 2001 From: Louai Al-Khanji Date: Wed, 2 Mar 2016 09:54:07 -0800 Subject: xcb: Be smarter about how we flush For the remote X case the backing store previously always reuploaded image data for every expose event. Instead of doing that create a remote X pixmap and only flush repainted regions. For regular expose just copy from the pixmap. Additionally, atomically update the window by setting a clip mask and flushing the entire region at once instead of doing it rect by rect. Change-Id: I26bb1834b159e309c7ad93287dd297769f7e2633 Reviewed-by: Lars Knoll --- src/plugins/platforms/xcb/qxcbbackingstore.cpp | 204 ++++++++++++++++++------- 1 file changed, 145 insertions(+), 59 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbbackingstore.cpp b/src/plugins/platforms/xcb/qxcbbackingstore.cpp index e57b089878..c4ee90e59f 100644 --- a/src/plugins/platforms/xcb/qxcbbackingstore.cpp +++ b/src/plugins/platforms/xcb/qxcbbackingstore.cpp @@ -74,13 +74,17 @@ public: QSize size() const { return m_qimage.size(); } bool hasAlpha() const { return m_hasAlpha; } + bool hasShm() const { return m_shm_info.shmaddr != nullptr; } - void put(xcb_window_t window, const QPoint &dst, const QRect &source); + void put(xcb_window_t window, const QRegion ®ion, const QPoint &offset); void preparePaint(const QRegion ®ion); private: void destroy(); + void flushPixmap(const QRegion ®ion); + void setClip(const QRegion ®ion); + xcb_shm_segment_info_t m_shm_info; xcb_image_t *m_xcb_image; @@ -91,7 +95,15 @@ private: xcb_gcontext_t m_gc; xcb_window_t m_gc_window; - QRegion m_dirty; + // When using shared memory this is the region currently shared with the server + QRegion m_dirtyShm; + + // When not using shared memory, we maintain a server-side pixmap with the backing + // store as well as repainted content not yet flushed to the pixmap. We only flush + // the regions we need and only when these are marked dirty. This way we can just + // do a server-side copy on expose instead of sending the pixels every time + xcb_pixmap_t m_xcb_pixmap; + QRegion m_pendingFlush; bool m_hasAlpha; }; @@ -131,6 +143,7 @@ QXcbShmImage::QXcbShmImage(QXcbScreen *screen, const QSize &size, uint depth, QI , m_graphics_buffer(Q_NULLPTR) , m_gc(0) , m_gc_window(0) + , m_xcb_pixmap(0) { Q_XCB_NOOP(connection()); @@ -189,6 +202,15 @@ QXcbShmImage::QXcbShmImage(QXcbScreen *screen, const QSize &size, uint depth, QI m_qimage = QImage( (uchar*) m_xcb_image->data, m_xcb_image->width, m_xcb_image->height, m_xcb_image->stride, format); m_graphics_buffer = new QXcbShmGraphicsBuffer(&m_qimage); + + if (!hasShm()) { + m_xcb_pixmap = xcb_generate_id(xcb_connection()); + Q_XCB_CALL(xcb_create_pixmap(xcb_connection(), + m_xcb_image->depth, + m_xcb_pixmap, + screen->screen()->root, + m_xcb_image->width, m_xcb_image->height)); + } } void QXcbShmImage::destroy() @@ -212,95 +234,163 @@ void QXcbShmImage::destroy() Q_XCB_CALL(xcb_free_gc(xcb_connection(), m_gc)); delete m_graphics_buffer; m_graphics_buffer = Q_NULLPTR; -} -void QXcbShmImage::put(xcb_window_t window, const QPoint &target, const QRect &source) -{ - Q_XCB_NOOP(connection()); - if (m_gc_window != window) { - if (m_gc) - Q_XCB_CALL(xcb_free_gc(xcb_connection(), m_gc)); - - m_gc = xcb_generate_id(xcb_connection()); - Q_XCB_CALL(xcb_create_gc(xcb_connection(), m_gc, window, 0, 0)); - - m_gc_window = window; + if (m_xcb_pixmap) { + Q_XCB_CALL(xcb_free_pixmap(xcb_connection(), m_xcb_pixmap)); + m_xcb_pixmap = 0; } +} - Q_XCB_NOOP(connection()); - if (m_shm_info.shmaddr) { - xcb_image_shm_put(xcb_connection(), - window, - m_gc, - m_xcb_image, - m_shm_info, - source.x(), - source.y(), - target.x(), - target.y(), - source.width(), - source.height(), - false); - } else { - // If we upload the whole image in a single chunk, the result might be - // larger than the server's maximum request size and stuff breaks. - // To work around that, we upload the image in chunks where each chunk - // is small enough for a single request. - int src_x = source.x(); - int src_y = source.y(); - int target_x = target.x(); - int target_y = target.y(); - int width = source.width(); - int height = source.height(); +void QXcbShmImage::flushPixmap(const QRegion ®ion) +{ + const QVector rects = m_pendingFlush.intersected(region).rects(); + m_pendingFlush -= region; + for (const QRect &rect : rects) { // We must make sure that each request is not larger than max_req_size. // Each request takes req_size + m_xcb_image->stride * height bytes. - uint32_t max_req_size = xcb_get_maximum_request_length(xcb_connection()); - uint32_t req_size = sizeof(xcb_put_image_request_t); - int rows_per_put = (max_req_size - req_size) / m_xcb_image->stride; + static const uint32_t req_size = sizeof(xcb_put_image_request_t); + const uint32_t max_req_size = xcb_get_maximum_request_length(xcb_connection()); + const int rows_per_put = (max_req_size - req_size) / m_xcb_image->stride; // This assert could trigger if a single row has more pixels than fit in // a single PutImage request. However, max_req_size is guaranteed to be // at least 16384 bytes. That should be enough for quite large images. Q_ASSERT(rows_per_put > 0); - // Convert the image to the native byte order. - xcb_image_t *converted_image = xcb_image_native(xcb_connection(), m_xcb_image, 1); + // If we upload the whole image in a single chunk, the result might be + // larger than the server's maximum request size and stuff breaks. + // To work around that, we upload the image in chunks where each chunk + // is small enough for a single request. + int src_x = rect.x(); + int src_y = rect.y(); + int target_x = rect.x(); + int target_y = rect.y(); + int width = rect.width(); + int height = rect.height(); while (height > 0) { int rows = std::min(height, rows_per_put); - xcb_image_t *subimage = xcb_image_subimage(converted_image, src_x, src_y, width, rows, + xcb_image_t *subimage = xcb_image_subimage(m_xcb_image, src_x, src_y, width, rows, 0, 0, 0); + + // Convert the image to the native byte order. + xcb_image_t *native_subimage = xcb_image_native(xcb_connection(), subimage, 1); + xcb_image_put(xcb_connection(), - window, + m_xcb_pixmap, m_gc, - subimage, + native_subimage, target_x, target_y, 0); + if (native_subimage != subimage) + xcb_image_destroy(native_subimage); + xcb_image_destroy(subimage); src_y += rows; target_y += rows; height -= rows; } + } +} + +void QXcbShmImage::setClip(const QRegion ®ion) +{ + if (region.isEmpty()) { + static const uint32_t mask = XCB_GC_CLIP_MASK; + static const uint32_t values[] = { XCB_NONE }; + Q_XCB_CALL(xcb_change_gc(xcb_connection(), + m_gc, + mask, + values)); + } else { + const QVector qrects = region.rects(); + QVector xcb_rects(qrects.size()); + + for (int i = 0; i < qrects.size(); i++) { + xcb_rects[i].x = qrects[i].x(); + xcb_rects[i].y = qrects[i].y(); + xcb_rects[i].width = qrects[i].width(); + xcb_rects[i].height = qrects[i].height(); + } - if (converted_image != m_xcb_image) - xcb_image_destroy(converted_image); + Q_XCB_CALL(xcb_set_clip_rectangles(xcb_connection(), + XCB_CLIP_ORDERING_YX_BANDED, + m_gc, + 0, 0, + xcb_rects.size(), xcb_rects.constData())); } +} + +void QXcbShmImage::put(xcb_window_t window, const QRegion ®ion, const QPoint &offset) +{ Q_XCB_NOOP(connection()); - m_dirty = m_dirty | source; + if (m_gc_window != window) { + if (m_gc) + Q_XCB_CALL(xcb_free_gc(xcb_connection(), m_gc)); + + static const uint32_t mask = XCB_GC_GRAPHICS_EXPOSURES; + static const uint32_t values[] = { 0 }; + + m_gc = xcb_generate_id(xcb_connection()); + Q_XCB_CALL(xcb_create_gc(xcb_connection(), m_gc, window, mask, values)); + + m_gc_window = window; + } + + Q_XCB_NOOP(connection()); + + setClip(region); + + const QRect bounds = region.boundingRect(); + const QPoint target = bounds.topLeft(); + const QRect source = bounds.translated(offset); + + if (hasShm()) { + Q_XCB_CALL(xcb_shm_put_image(xcb_connection(), + window, + m_gc, + m_xcb_image->width, + m_xcb_image->height, + source.x(), source.y(), + source.width(), source.height(), + target.x(), target.y(), + m_xcb_image->depth, + m_xcb_image->format, + 0, // send event? + m_shm_info.shmseg, + m_xcb_image->data - m_shm_info.shmaddr)); + m_dirtyShm |= region.translated(offset); + } else { + flushPixmap(region); + Q_XCB_CALL(xcb_copy_area(xcb_connection(), + m_xcb_pixmap, + window, + m_gc, + source.x(), source.y(), + target.x(), target.y(), + source.width(), source.height())); + } + + setClip(QRegion()); + Q_XCB_NOOP(connection()); } void QXcbShmImage::preparePaint(const QRegion ®ion) { - // to prevent X from reading from the image region while we're writing to it - if (m_dirty.intersects(region)) { - connection()->sync(); - m_dirty = QRegion(); + if (hasShm()) { + // to prevent X from reading from the image region while we're writing to it + if (m_dirtyShm.intersects(region)) { + connection()->sync(); + m_dirtyShm = QRegion(); + } + } else { + m_pendingFlush |= region; } } @@ -397,11 +487,7 @@ void QXcbBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoin return; } - QVector rects = clipped.rects(); - for (int i = 0; i < rects.size(); ++i) { - QRect rect = QRect(rects.at(i).topLeft(), rects.at(i).size()); - m_image->put(platformWindow->xcb_window(), rect.topLeft(), rect.translated(offset)); - } + m_image->put(platformWindow->xcb_window(), clipped, offset); Q_XCB_NOOP(connection()); -- cgit v1.2.3 From e2a7d185647f0aaabb3519f1434161faf3de9857 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 3 Mar 2016 14:46:05 +0300 Subject: QHostAddress: enable (N)RVO in toString() for gcc Change-Id: I5f8d72742cc4199bfa73df6037b851c58632ff86 Reviewed-by: Marc Mutz Reviewed-by: Edward Welbourne --- src/network/kernel/qhostaddress.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/network/kernel/qhostaddress.cpp b/src/network/kernel/qhostaddress.cpp index fc2038cf03..6ccf40680a 100644 --- a/src/network/kernel/qhostaddress.cpp +++ b/src/network/kernel/qhostaddress.cpp @@ -737,24 +737,17 @@ Q_IPV6ADDR QHostAddress::toIPv6Address() const QString QHostAddress::toString() const { QT_ENSURE_PARSED(this); + QString s; if (d->protocol == QAbstractSocket::IPv4Protocol || d->protocol == QAbstractSocket::AnyIPProtocol) { quint32 i = toIPv4Address(); - QString s; QIPAddressUtils::toString(s, i); - return s; - } - - if (d->protocol == QAbstractSocket::IPv6Protocol) { - QString s; + } else if (d->protocol == QAbstractSocket::IPv6Protocol) { QIPAddressUtils::toString(s, d->a6.c); - if (!d->scopeId.isEmpty()) s.append(QLatin1Char('%') + d->scopeId); - return s; } - - return QString(); + return s; } /*! -- cgit v1.2.3 From 53abb8267bfa4c261a1aa543f1ad50ed0851bcbf Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 5 Jul 2015 22:37:40 +0200 Subject: QtGui: mark some more types as movable/primitive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These are already held in QVectors. Public API types need to wait until Qt 6, for BC reasons. Even though Q_RELOCATABLE_TYPE deals with most of them, we lack a way to mark a type as primitive, but still isStatic - for QList. Change-Id: I91392b01ae6f94cc847007636e12d4e64c43b2bc Reviewed-by: Jędrzej Nowacki --- src/gui/image/qicon_p.h | 1 + src/gui/itemmodels/qstandarditemmodel_p.h | 1 + src/gui/kernel/qevent.h | 2 ++ src/gui/painting/qpathclipper.cpp | 1 + src/gui/painting/qpdf.cpp | 1 + src/gui/text/qabstracttextdocumentlayout.h | 2 ++ src/gui/text/qfontdatabase.cpp | 1 + src/gui/text/qfontengine_p.h | 1 + src/gui/text/qstatictext_p.h | 1 + src/gui/text/qtextdocumentfragment_p.h | 8 ++++++++ src/gui/text/qtextformat.cpp | 1 + src/gui/text/qtextformat.h | 1 + src/gui/text/qtexthtmlparser_p.h | 2 ++ src/gui/text/qtextlayout.h | 1 + 14 files changed, 24 insertions(+) (limited to 'src') diff --git a/src/gui/image/qicon_p.h b/src/gui/image/qicon_p.h index 1df91edeb6..cfae9b3e52 100644 --- a/src/gui/image/qicon_p.h +++ b/src/gui/image/qicon_p.h @@ -96,6 +96,7 @@ struct QPixmapIconEngineEntry QIcon::State state; bool isNull() const {return (fileName.isEmpty() && pixmap.isNull()); } }; +Q_DECLARE_TYPEINFO(QPixmapIconEngineEntry, Q_MOVABLE_TYPE); inline QPixmapIconEngineEntry::QPixmapIconEngineEntry(const QString &file, const QImage &image, QIcon::Mode m, QIcon::State s) : fileName(file), size(image.size()), mode(m), state(s) diff --git a/src/gui/itemmodels/qstandarditemmodel_p.h b/src/gui/itemmodels/qstandarditemmodel_p.h index 6ef7bfb412..1849e1a850 100644 --- a/src/gui/itemmodels/qstandarditemmodel_p.h +++ b/src/gui/itemmodels/qstandarditemmodel_p.h @@ -72,6 +72,7 @@ public: QVariant value; inline bool operator==(const QStandardItemData &other) const { return role == other.role && value == other.value; } }; +Q_DECLARE_TYPEINFO(QStandardItemData, Q_MOVABLE_TYPE); #ifndef QT_NO_DATASTREAM diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 029b76b2bd..5752869cab 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -575,8 +575,10 @@ private: Qt::InputMethodQuery query; QVariant value; }; + friend QTypeInfo; QVector m_values; }; +Q_DECLARE_TYPEINFO(QInputMethodQueryEvent::QueryPair, Q_MOVABLE_TYPE); #endif // QT_NO_INPUTMETHOD diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index cdc9838dbe..861d651756 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -1761,6 +1761,7 @@ struct QCrossingEdge return x < edge.x; } }; +Q_DECLARE_TYPEINFO(QCrossingEdge, Q_PRIMITIVE_TYPE); static bool bool_op(bool a, bool b, QPathClipper::Operation op) { diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp index 52bf44c64a..0c3069db97 100644 --- a/src/gui/painting/qpdf.cpp +++ b/src/gui/painting/qpdf.cpp @@ -1976,6 +1976,7 @@ struct QGradientBound { int function; bool reverse; }; +Q_DECLARE_TYPEINFO(QGradientBound, Q_PRIMITIVE_TYPE); int QPdfEnginePrivate::createShadingFunction(const QGradient *gradient, int from, int to, bool reflect, bool alpha) { diff --git a/src/gui/text/qabstracttextdocumentlayout.h b/src/gui/text/qabstracttextdocumentlayout.h index e83f4fc0c9..01704fe37b 100644 --- a/src/gui/text/qabstracttextdocumentlayout.h +++ b/src/gui/text/qabstracttextdocumentlayout.h @@ -128,6 +128,8 @@ private: Q_PRIVATE_SLOT(d_func(), int _q_dynamicPageCountSlot()) Q_PRIVATE_SLOT(d_func(), QSizeF _q_dynamicDocumentSizeSlot()) }; +Q_DECLARE_TYPEINFO(QAbstractTextDocumentLayout::Selection, Q_RELOCATABLE_TYPE); +Q_DECLARE_TYPEINFO(QAbstractTextDocumentLayout::PaintContext, Q_RELOCATABLE_TYPE); class Q_GUI_EXPORT QTextObjectInterface { diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index 32cf1b0e83..629a098fb7 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -499,6 +499,7 @@ public: void invalidate(); }; +Q_DECLARE_TYPEINFO(QFontDatabasePrivate::ApplicationFont, Q_MOVABLE_TYPE); void QFontDatabasePrivate::invalidate() { diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h index f97f91da50..059b3df88e 100644 --- a/src/gui/text/qfontengine_p.h +++ b/src/gui/text/qfontengine_p.h @@ -334,6 +334,7 @@ private: mutable qreal m_minRightBearing; }; +Q_DECLARE_TYPEINFO(QFontEngine::KernPair, Q_PRIMITIVE_TYPE); Q_DECLARE_OPERATORS_FOR_FLAGS(QFontEngine::ShaperFlags) diff --git a/src/gui/text/qstatictext_p.h b/src/gui/text/qstatictext_p.h index d27d5a8725..7fdf46c101 100644 --- a/src/gui/text/qstatictext_p.h +++ b/src/gui/text/qstatictext_p.h @@ -119,6 +119,7 @@ private: // private to avoid abuse // ================ // 43 bytes per item }; +Q_DECLARE_TYPEINFO(QStaticTextItem, Q_MOVABLE_TYPE); class QStaticText; class Q_AUTOTEST_EXPORT QStaticTextPrivate diff --git a/src/gui/text/qtextdocumentfragment_p.h b/src/gui/text/qtextdocumentfragment_p.h index 4cc4f0429f..56dff01149 100644 --- a/src/gui/text/qtextdocumentfragment_p.h +++ b/src/gui/text/qtextdocumentfragment_p.h @@ -148,6 +148,7 @@ private: int listNode; QPointer list; }; + friend class QTypeInfo; QVector lists; int indent; @@ -187,6 +188,7 @@ private: int row; int column; }; + friend class QTypeInfo; friend struct Table; struct Table @@ -200,6 +202,7 @@ private: TableCellIterator currentCell; int lastIndent; }; + friend class QTypeInfo; QVector
tables; struct RowColSpanInfo @@ -207,6 +210,7 @@ private: int row, col; int rowSpan, colSpan; }; + friend class QTypeInfo; enum WhiteSpace { @@ -227,6 +231,10 @@ private: int currentNodeIdx; const QTextHtmlParserNode *currentNode; }; +Q_DECLARE_TYPEINFO(QTextHtmlImporter::List, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(QTextHtmlImporter::TableCellIterator, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QTextHtmlImporter::Table, Q_MOVABLE_TYPE); +Q_DECLARE_TYPEINFO(QTextHtmlImporter::RowColSpanInfo, Q_PRIMITIVE_TYPE); QT_END_NAMESPACE #endif // QT_NO_TEXTHTMLPARSER diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp index 58049399ef..49ec9ca768 100644 --- a/src/gui/text/qtextformat.cpp +++ b/src/gui/text/qtextformat.cpp @@ -263,6 +263,7 @@ private: friend QDataStream &operator<<(QDataStream &, const QTextFormat &); friend QDataStream &operator>>(QDataStream &, QTextFormat &); }; +Q_DECLARE_TYPEINFO(QTextFormatPrivate::Property, Q_MOVABLE_TYPE); static inline uint hash(const QColor &color) { diff --git a/src/gui/text/qtextformat.h b/src/gui/text/qtextformat.h index 9dd83ab678..bc627521ff 100644 --- a/src/gui/text/qtextformat.h +++ b/src/gui/text/qtextformat.h @@ -116,6 +116,7 @@ private: friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QTextLength &); friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QTextLength &); }; +Q_DECLARE_TYPEINFO(QTextLength, QT_VERSION >= QT_VERSION_CHECK(6,0,0) ? Q_PRIMITIVE_TYPE : Q_RELOCATABLE_TYPE); inline QTextLength::QTextLength(Type atype, qreal avalue) : lengthType(atype), fixedValueOrPercentage(avalue) {} diff --git a/src/gui/text/qtexthtmlparser_p.h b/src/gui/text/qtexthtmlparser_p.h index a8a849ca7f..8e5a90be0b 100644 --- a/src/gui/text/qtexthtmlparser_p.h +++ b/src/gui/text/qtexthtmlparser_p.h @@ -328,12 +328,14 @@ protected: QString url; QCss::StyleSheet sheet; }; + friend class QTypeInfo; QVector externalStyleSheets; QVector inlineStyleSheets; #endif const QTextDocument *resourceProvider; }; +Q_DECLARE_TYPEINFO(QTextHtmlParser::ExternalStyleSheet, Q_MOVABLE_TYPE); QT_END_NAMESPACE diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h index d9afb1ed4b..1cbb5ac8d8 100644 --- a/src/gui/text/qtextlayout.h +++ b/src/gui/text/qtextlayout.h @@ -203,6 +203,7 @@ private: QPainter *painter); QTextEngine *d; }; +Q_DECLARE_TYPEINFO(QTextLayout::FormatRange, Q_RELOCATABLE_TYPE); class Q_GUI_EXPORT QTextLine -- cgit v1.2.3 From 37d89fd8fb2c6b41a9dc9bea2f021803e5070866 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 3 Mar 2016 12:12:16 +0300 Subject: QBearerEngine: break out repeated loops as methods. Three hashes are handled similarly; so extract the loops over them as methods hasUsedConfiguration() and cleanUpConfigurations() to avoid duplicate loop code. Change-Id: I1040724c4fc98caa48913fac339c03e60b04bae2 Reviewed-by: Edward Welbourne Reviewed-by: Marc Mutz --- src/network/bearer/qbearerengine.cpp | 70 +++++++++++++----------------------- 1 file changed, 25 insertions(+), 45 deletions(-) (limited to 'src') diff --git a/src/network/bearer/qbearerengine.cpp b/src/network/bearer/qbearerengine.cpp index dda1229a17..215cd3fddd 100644 --- a/src/network/bearer/qbearerengine.cpp +++ b/src/network/bearer/qbearerengine.cpp @@ -38,11 +38,30 @@ ****************************************************************************/ #include "qbearerengine_p.h" +#include #ifndef QT_NO_BEARERMANAGEMENT QT_BEGIN_NAMESPACE +static void cleanUpConfigurations(QHash &configurations) +{ + for (const auto &ptr : qAsConst(configurations)) { + ptr->isValid = false; + ptr->id.clear(); + } + configurations.clear(); +} + +static bool hasUsedConfiguration(const QHash &configurations) +{ + auto isUsed = [](const QNetworkConfigurationPrivatePointer &ptr) { + return ptr->ref.load() > 1; + }; + const auto end = configurations.end(); + return std::find_if(configurations.begin(), end, isUsed) != end; +} + QBearerEngine::QBearerEngine(QObject *parent) : QObject(parent), mutex(QMutex::Recursive) { @@ -50,28 +69,9 @@ QBearerEngine::QBearerEngine(QObject *parent) QBearerEngine::~QBearerEngine() { - QHash::Iterator it; - QHash::Iterator end; - - for (it = snapConfigurations.begin(), end = snapConfigurations.end(); it != end; ++it) { - it.value()->isValid = false; - it.value()->id.clear(); - } - snapConfigurations.clear(); - - for (it = accessPointConfigurations.begin(), end = accessPointConfigurations.end(); - it != end; ++it) { - it.value()->isValid = false; - it.value()->id.clear(); - } - accessPointConfigurations.clear(); - - for (it = userChoiceConfigurations.begin(), end = userChoiceConfigurations.end(); - it != end; ++it) { - it.value()->isValid = false; - it.value()->id.clear(); - } - userChoiceConfigurations.clear(); + cleanUpConfigurations(snapConfigurations); + cleanUpConfigurations(accessPointConfigurations); + cleanUpConfigurations(userChoiceConfigurations); } bool QBearerEngine::requiresPolling() const @@ -87,30 +87,10 @@ bool QBearerEngine::requiresPolling() const */ bool QBearerEngine::configurationsInUse() const { - QHash::ConstIterator it; - QHash::ConstIterator end; - QMutexLocker locker(&mutex); - - for (it = accessPointConfigurations.constBegin(), - end = accessPointConfigurations.constEnd(); it != end; ++it) { - if (it.value()->ref.load() > 1) - return true; - } - - for (it = snapConfigurations.constBegin(), - end = snapConfigurations.constEnd(); it != end; ++it) { - if (it.value()->ref.load() > 1) - return true; - } - - for (it = userChoiceConfigurations.constBegin(), - end = userChoiceConfigurations.constEnd(); it != end; ++it) { - if (it.value()->ref.load() > 1) - return true; - } - - return false; + return hasUsedConfiguration(accessPointConfigurations) + || hasUsedConfiguration(snapConfigurations) + || hasUsedConfiguration(userChoiceConfigurations); } #include "moc_qbearerengine_p.cpp" -- cgit v1.2.3 From 089ed1525e80b804a1745484995582e29d08129e Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 3 Mar 2016 15:55:47 +0300 Subject: QtNetwork: optimize container usage Don't perform lookup twice. Just cache iterator or position. Change-Id: I454fd292614dee62167ff248fc3ddec0f79435b0 Reviewed-by: Edward Welbourne Reviewed-by: Marc Mutz --- src/network/access/qnetworkreplyhttpimpl.cpp | 26 +++++++++++++++----------- src/network/access/qnetworkreplyimpl.cpp | 22 +++++++++++++--------- src/network/access/qspdyprotocolhandler.cpp | 15 +++++++++------ src/network/bearer/qnetworkconfigmanager_p.cpp | 25 ++++++++++++++----------- src/network/bearer/qsharednetworksession.cpp | 5 +++-- src/network/socket/qsocks5socketengine.cpp | 6 ++++-- src/network/ssl/qsslcertificate.cpp | 5 +++-- 7 files changed, 61 insertions(+), 43 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index f9547e1508..2f4a1e5462 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -731,10 +731,11 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq QList headers = newHttpRequest.rawHeaderList(); if (resumeOffset != 0) { - if (headers.contains("Range")) { + const int rangeIndex = headers.indexOf("Range"); + if (rangeIndex != -1) { // Need to adjust resume offset for user specified range - headers.removeOne("Range"); + headers.removeAt(rangeIndex); // We've already verified that requestRange starts with "bytes=", see canResume. QByteArray requestRange = newHttpRequest.rawHeader("Range").mid(6); @@ -2145,15 +2146,18 @@ void QNetworkReplyHttpImplPrivate::_q_metaDataChanged() Q_Q(QNetworkReplyHttpImpl); // 1. do we have cookies? // 2. are we allowed to set them? - if (cookedHeaders.contains(QNetworkRequest::SetCookieHeader) && manager - && (static_cast - (request.attribute(QNetworkRequest::CookieSaveControlAttribute, - QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Automatic)) { - QList cookies = - qvariant_cast >(cookedHeaders.value(QNetworkRequest::SetCookieHeader)); - QNetworkCookieJar *jar = manager->cookieJar(); - if (jar) - jar->setCookiesFromUrl(cookies, url); + if (manager) { + const auto it = cookedHeaders.constFind(QNetworkRequest::SetCookieHeader); + if (it != cookedHeaders.cend() + && request.attribute(QNetworkRequest::CookieSaveControlAttribute, + QNetworkRequest::Automatic).toInt() == QNetworkRequest::Automatic) { + QNetworkCookieJar *jar = manager->cookieJar(); + if (jar) { + QList cookies = + qvariant_cast >(it.value()); + jar->setCookiesFromUrl(cookies, url); + } + } } emit q->metaDataChanged(); } diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 0f57d1a73b..4203169cae 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -871,16 +871,20 @@ void QNetworkReplyImplPrivate::metaDataChanged() Q_Q(QNetworkReplyImpl); // 1. do we have cookies? // 2. are we allowed to set them? - if (cookedHeaders.contains(QNetworkRequest::SetCookieHeader) && !manager.isNull() - && (static_cast - (request.attribute(QNetworkRequest::CookieSaveControlAttribute, - QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Automatic)) { - QList cookies = - qvariant_cast >(cookedHeaders.value(QNetworkRequest::SetCookieHeader)); - QNetworkCookieJar *jar = manager->cookieJar(); - if (jar) - jar->setCookiesFromUrl(cookies, url); + if (!manager.isNull()) { + const auto it = cookedHeaders.constFind(QNetworkRequest::SetCookieHeader); + if (it != cookedHeaders.cend() + && request.attribute(QNetworkRequest::CookieSaveControlAttribute, + QNetworkRequest::Automatic).toInt() == QNetworkRequest::Automatic) { + QNetworkCookieJar *jar = manager->cookieJar(); + if (jar) { + QList cookies = + qvariant_cast >(it.value()); + jar->setCookiesFromUrl(cookies, url); + } + } } + emit q->metaDataChanged(); } diff --git a/src/network/access/qspdyprotocolhandler.cpp b/src/network/access/qspdyprotocolhandler.cpp index f3073dcd3c..1a6dd04ecb 100644 --- a/src/network/access/qspdyprotocolhandler.cpp +++ b/src/network/access/qspdyprotocolhandler.cpp @@ -872,7 +872,8 @@ void QSpdyProtocolHandler::handleSYN_REPLY(char flags, quint32 /*length*/, const void QSpdyProtocolHandler::parseHttpHeaders(char flags, const QByteArray &frameData) { qint32 streamID = getStreamID(frameData.constData()); - if (!m_inFlightStreams.contains(streamID)) { + const auto it = m_inFlightStreams.constFind(streamID); + if (it == m_inFlightStreams.cend()) { sendRST_STREAM(streamID, RST_STREAM_INVALID_STREAM); return; } @@ -882,7 +883,7 @@ void QSpdyProtocolHandler::parseHttpHeaders(char flags, const QByteArray &frameD QByteArray headerValuePairs = frameData.mid(4); - HttpMessagePair pair = m_inFlightStreams.value(streamID); + HttpMessagePair pair = it.value(); QHttpNetworkReply *httpReply = pair.second; Q_ASSERT(httpReply != 0); @@ -1152,12 +1153,13 @@ void QSpdyProtocolHandler::handleWINDOW_UPDATE(char /*flags*/, quint32 /*length* qint32 streamID = getStreamID(frameData.constData()); qint32 deltaWindowSize = fourBytesToInt(frameData.constData() + 4); - if (!m_inFlightStreams.contains(streamID)) { + const auto it = m_inFlightStreams.constFind(streamID); + if (it == m_inFlightStreams.cend()) { sendRST_STREAM(streamID, RST_STREAM_INVALID_STREAM); return; } - QHttpNetworkReply *reply = m_inFlightStreams.value(streamID).second; + QHttpNetworkReply *reply = it.value().second; Q_ASSERT(reply); QHttpNetworkReplyPrivate *replyPrivate = reply->d_func(); Q_ASSERT(replyPrivate); @@ -1176,7 +1178,8 @@ void QSpdyProtocolHandler::handleDataFrame(const QByteArray &frameHeaders) Q_ASSERT(frameHeaders.count() >= 8); qint32 streamID = getStreamID(frameHeaders.constData()); - if (!m_inFlightStreams.contains(streamID)) { + const auto it = m_inFlightStreams.constFind(streamID); + if (it == m_inFlightStreams.cend()) { sendRST_STREAM(streamID, RST_STREAM_INVALID_STREAM); return; } @@ -1198,7 +1201,7 @@ void QSpdyProtocolHandler::handleDataFrame(const QByteArray &frameHeaders) m_waitingForCompleteStream = false; } - HttpMessagePair pair = m_inFlightStreams.value(streamID); + HttpMessagePair pair = it.value(); QHttpNetworkRequest httpRequest = pair.first; QHttpNetworkReply *httpReply = pair.second; Q_ASSERT(httpReply != 0); diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp index 3101a98165..232875f43c 100644 --- a/src/network/bearer/qnetworkconfigmanager_p.cpp +++ b/src/network/bearer/qnetworkconfigmanager_p.cpp @@ -52,6 +52,8 @@ #include #include +#include + #ifndef QT_NO_BEARERMANAGEMENT @@ -263,17 +265,18 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::configurationFromIden foreach (QBearerEngine *engine, sessionEngines) { QMutexLocker locker(&engine->mutex); - - if (engine->accessPointConfigurations.contains(identifier)) - item.d = engine->accessPointConfigurations[identifier]; - else if (engine->snapConfigurations.contains(identifier)) - item.d = engine->snapConfigurations[identifier]; - else if (engine->userChoiceConfigurations.contains(identifier)) - item.d = engine->userChoiceConfigurations[identifier]; - else - continue; - - return item; + if (auto ptr = engine->accessPointConfigurations.value(identifier)) { + item.d = std::move(ptr); + break; + } + if (auto ptr = engine->snapConfigurations.value(identifier)) { + item.d = std::move(ptr); + break; + } + if (auto ptr = engine->userChoiceConfigurations.value(identifier)) { + item.d = std::move(ptr); + break; + } } return item; diff --git a/src/network/bearer/qsharednetworksession.cpp b/src/network/bearer/qsharednetworksession.cpp index e04c8cc953..fc01acb8b4 100644 --- a/src/network/bearer/qsharednetworksession.cpp +++ b/src/network/bearer/qsharednetworksession.cpp @@ -65,9 +65,10 @@ static void doDeleteLater(QObject* obj) QSharedPointer QSharedNetworkSessionManager::getSession(const QNetworkConfiguration &config) { QSharedNetworkSessionManager *m(sharedNetworkSessionManager()); + const auto it = m->sessions.constFind(config); //if already have a session, return it - if (m->sessions.contains(config)) { - QSharedPointer p = m->sessions.value(config).toStrongRef(); + if (it != m->sessions.cend()) { + QSharedPointer p = it.value().toStrongRef(); if (!p.isNull()) return p; } diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index ee50008cc7..4de4c1799f 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -370,9 +370,11 @@ bool QSocks5BindStore::contains(qintptr socketDescriptor) QSocks5BindData *QSocks5BindStore::retrieve(qintptr socketDescriptor) { QMutexLocker lock(&mutex); - if (!store.contains(socketDescriptor)) + const auto it = store.constFind(socketDescriptor); + if (it == store.cend()) return 0; - QSocks5BindData *bindData = store.take(socketDescriptor); + QSocks5BindData *bindData = it.value(); + store.erase(it); if (bindData) { if (bindData->controlSocket->thread() != QThread::currentThread()) { qWarning("Can not access socks5 bind data from different thread"); diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index b1ec1d06e2..96ba68089d 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -482,8 +482,9 @@ QList QSslCertificate::fromPath(const QString &path, if (pos != -1) { // there was a special char in the path so cut of the part containing that char. pathPrefix = pathPrefix.left(pos); - if (pathPrefix.contains(QLatin1Char('/'))) - pathPrefix = pathPrefix.left(pathPrefix.lastIndexOf(QLatin1Char('/'))); + const int lastIndexOfSlash = pathPrefix.lastIndexOf(QLatin1Char('/')); + if (lastIndexOfSlash != -1) + pathPrefix = pathPrefix.left(lastIndexOfSlash); else pathPrefix.clear(); } else { -- cgit v1.2.3 From 5a56bf4104fb156ce929fc917c2941d8aac0bd46 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 2 Mar 2016 14:42:34 -0800 Subject: QXcbNativeIntegration: Add query for compositing enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTBUG-41195 Change-Id: I4f37c82f6757283ed58b38c7fd47849fb4810bce Reviewed-by: Błażej Szczygieł Reviewed-by: Shawn Rutledge --- src/plugins/platforms/xcb/qxcbnativeinterface.cpp | 7 ++++++- src/plugins/platforms/xcb/qxcbnativeinterface.h | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp index 189053c5bf..eb7c5d2b02 100644 --- a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp +++ b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp @@ -85,7 +85,8 @@ static int resourceType(const QByteArray &key) QByteArrayLiteral("rootwindow"), QByteArrayLiteral("subpixeltype"), QByteArrayLiteral("antialiasingEnabled"), QByteArrayLiteral("nofonthinting"), - QByteArrayLiteral("atspibus") + QByteArrayLiteral("atspibus"), + QByteArrayLiteral("compositingenabled") }; const QByteArray *end = names + sizeof(names) / sizeof(names[0]); const QByteArray *result = std::find(names, end, key); @@ -246,6 +247,10 @@ void *QXcbNativeInterface::nativeResourceForScreen(const QByteArray &resourceStr case RootWindow: result = reinterpret_cast(xcbScreen->root()); break; + case CompositingEnabled: + if (QXcbVirtualDesktop *vd = xcbScreen->virtualDesktop()) + result = vd->compositingActive() ? this : Q_NULLPTR; + break; default: break; } diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.h b/src/plugins/platforms/xcb/qxcbnativeinterface.h index a3e188195f..ba19cd869c 100644 --- a/src/plugins/platforms/xcb/qxcbnativeinterface.h +++ b/src/plugins/platforms/xcb/qxcbnativeinterface.h @@ -74,7 +74,8 @@ public: ScreenSubpixelType, ScreenAntialiasingEnabled, NoFontHinting, - AtspiBus + AtspiBus, + CompositingEnabled }; QXcbNativeInterface(); -- cgit v1.2.3 From fd941ebb6f504c3397e5793992397829fd92a95d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 4 Mar 2016 11:09:18 +0100 Subject: QHttpNetworkConnection: fix expensive iteration over QMultiMap::values() Just iterate over the container instead, saving one iteration and the creation of a temporary QList. Change-Id: I564e3e83cb247a12c413fc5a9dc17299ae089e30 Reviewed-by: Lars Knoll --- src/network/access/qhttpnetworkconnection.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 15a886c21d..3489c3a1cc 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -1180,10 +1180,9 @@ void QHttpNetworkConnectionPrivate::_q_hostLookupFinished(const QHostInfo &info) } #ifndef QT_NO_SSL else if (connectionType == QHttpNetworkConnection::ConnectionTypeSPDY) { - QList spdyPairs = channels[0].spdyRequestsToSend.values(); - for (int a = 0; a < spdyPairs.count(); ++a) { + for (const HttpMessagePair &spdyPair : qAsConst(channels[0].spdyRequestsToSend)) { // emit error for all replies - QHttpNetworkReply *currentReply = spdyPairs.at(a).second; + QHttpNetworkReply *currentReply = spdyPair.second; Q_ASSERT(currentReply); emitReplyError(channels[0].socket, currentReply, QNetworkReply::HostNotFoundError); } -- cgit v1.2.3 From b6b3803b213787a04dfc7542caeb541a5535d90f Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 2 Mar 2016 14:00:20 +0100 Subject: Optimized fetchUntransformed RGB888 Reuses the optimized routines from qimage to make painting RGB888 images faster on SSSE3 and NEON. Change-Id: I99116b318322ba4cb0ddc2cb90bcf17a0350ef99 Reviewed-by: Gunnar Sletta --- src/gui/painting/qdrawhelper.cpp | 7 +++++++ src/gui/painting/qdrawhelper_neon.cpp | 10 ++++++++++ src/gui/painting/qdrawhelper_neon_p.h | 3 +++ src/gui/painting/qdrawhelper_ssse3.cpp | 10 ++++++++++ 4 files changed, 30 insertions(+) (limited to 'src') diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 85c023f1ff..a325ee923e 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -6382,11 +6382,15 @@ static void qInitDrawhelperFunctions() int const_alpha); extern void QT_FASTCALL storePixelsBPP24_ssse3(uchar *dest, const uint *src, int index, int count); + extern const uint * QT_FASTCALL qt_fetchUntransformed_888_ssse3(uint *buffer, const Operator *, const QSpanData *data, + int y, int x, int length); qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_ssse3; qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_ssse3; qBlendFunctions[QImage::Format_RGBX8888][QImage::Format_RGBA8888_Premultiplied] = qt_blend_argb32_on_argb32_ssse3; qBlendFunctions[QImage::Format_RGBA8888_Premultiplied][QImage::Format_RGBA8888_Premultiplied] = qt_blend_argb32_on_argb32_ssse3; qStorePixels[QPixelLayout::BPP24] = storePixelsBPP24_ssse3; + sourceFetch[BlendUntransformed][QImage::Format_RGB888] = qt_fetchUntransformed_888_ssse3; + sourceFetch[BlendTiled][QImage::Format_RGB888] = qt_fetchUntransformed_888_ssse3; } #endif // SSSE3 @@ -6449,6 +6453,9 @@ static void qInitDrawhelperFunctions() qt_fetch_radial_gradient = qt_fetch_radial_gradient_neon; + sourceFetch[BlendUntransformed][QImage::Format_RGB888] = qt_fetchUntransformed_888_neon; + sourceFetch[BlendTiled][QImage::Format_RGB888] = qt_fetchUntransformed_888_neon; + #if defined(ENABLE_PIXMAN_DRAWHELPERS) // The RGB16 helpers are using Arm32 assemblythat has not been ported to AArch64 qBlendFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_rgb16_neon; diff --git a/src/gui/painting/qdrawhelper_neon.cpp b/src/gui/painting/qdrawhelper_neon.cpp index 7dbfa4fa9c..f5b794ace6 100644 --- a/src/gui/painting/qdrawhelper_neon.cpp +++ b/src/gui/painting/qdrawhelper_neon.cpp @@ -1061,6 +1061,16 @@ const uint * QT_FASTCALL qt_fetch_radial_gradient_neon(uint *buffer, const Opera return qt_fetch_radial_gradient_template,uint>(buffer, op, data, y, x, length); } +extern void QT_FASTCALL qt_convert_rgb888_to_rgb32_neon(quint32 *dst, const uchar *src, int len); + +const uint * QT_FASTCALL qt_fetchUntransformed_888_neon(uint *buffer, const Operator *, const QSpanData *data, + int y, int x, int length) +{ + const uchar *line = data->texture.scanLine(y) + x * 3; + qt_convert_rgb888_to_rgb32_neon(buffer, line, length); + return buffer; +} + QT_END_NAMESPACE #endif // __ARM_NEON__ diff --git a/src/gui/painting/qdrawhelper_neon_p.h b/src/gui/painting/qdrawhelper_neon_p.h index 0134960fa1..3cf949fc32 100644 --- a/src/gui/painting/qdrawhelper_neon_p.h +++ b/src/gui/painting/qdrawhelper_neon_p.h @@ -137,6 +137,9 @@ void QT_FASTCALL qt_destStoreRGB16_neon(QRasterBuffer *rasterBuffer, void QT_FASTCALL comp_func_solid_SourceOver_neon(uint *destPixels, int length, uint color, uint const_alpha); void QT_FASTCALL comp_func_Plus_neon(uint *dst, const uint *src, int length, uint const_alpha); +const uint * QT_FASTCALL qt_fetchUntransformed_888_neon(uint *buffer, const Operator *, const QSpanData *data, + int y, int x, int length); + #endif // __ARM_NEON__ QT_END_NAMESPACE diff --git a/src/gui/painting/qdrawhelper_ssse3.cpp b/src/gui/painting/qdrawhelper_ssse3.cpp index e0d1bac6b1..7cd3e9ca1b 100644 --- a/src/gui/painting/qdrawhelper_ssse3.cpp +++ b/src/gui/painting/qdrawhelper_ssse3.cpp @@ -233,6 +233,16 @@ void QT_FASTCALL storePixelsBPP24_ssse3(uchar *dest, const uint *src, int index, store_uint24_ssse3(dest + index * 3, src, count); } +extern void QT_FASTCALL qt_convert_rgb888_to_rgb32_ssse3(quint32 *dst, const uchar *src, int len); + +const uint * QT_FASTCALL qt_fetchUntransformed_888_ssse3(uint *buffer, const Operator *, const QSpanData *data, + int y, int x, int length) +{ + const uchar *line = data->texture.scanLine(y) + x * 3; + qt_convert_rgb888_to_rgb32_ssse3(buffer, line, length); + return buffer; +} + QT_END_NAMESPACE #endif // QT_COMPILER_SUPPORTS_SSSE3 -- cgit v1.2.3 From 600529e07a46d8e20f4302dc988125f3fee36ec4 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 17 Oct 2015 17:48:34 +0200 Subject: QtGui: use printf-style qWarning/qDebug where possible (I) The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "..."; with qWarning("..."); In QTransform shared warning strings. Saves 3KiB in text size on optimized GCC 5.3 AMD64 builds. Change-Id: I142a8020eaab043d78465178192f2c8c6d1cc4f9 Reviewed-by: Friedemann Kleint Reviewed-by: Kai Koehne --- src/gui/image/qimagereader.cpp | 2 +- src/gui/image/qpaintengine_pic.cpp | 4 ++-- src/gui/itemmodels/qstandarditemmodel.cpp | 2 +- src/gui/kernel/qguiapplication.cpp | 4 ++-- src/gui/kernel/qopenglcontext.cpp | 8 ++++---- src/gui/kernel/qstylehints.cpp | 2 +- src/gui/kernel/qwindow.cpp | 4 ++-- src/gui/opengl/qopenglfunctions.cpp | 2 +- src/gui/opengl/qopenglshaderprogram.cpp | 4 ++-- src/gui/painting/qpaintengine_raster.cpp | 2 +- src/gui/painting/qpdf.cpp | 4 ++-- src/gui/painting/qtransform.cpp | 22 +++++++++++++++------- src/gui/text/qfontengine_qpf2.cpp | 2 +- src/gui/text/qfontsubset.cpp | 6 +++--- src/gui/text/qplatformfontdatabase.cpp | 2 +- src/gui/text/qtextdocumentlayout.cpp | 6 +++--- src/gui/text/qtextdocumentwriter.cpp | 4 ++-- src/gui/text/qtextengine.cpp | 2 +- src/gui/text/qtextlayout.cpp | 2 +- src/gui/text/qtextodfwriter.cpp | 2 +- src/gui/text/qzip.cpp | 16 ++++++++-------- 21 files changed, 55 insertions(+), 47 deletions(-) (limited to 'src') diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp index db5fb00361..4dada4ca82 100644 --- a/src/gui/image/qimagereader.cpp +++ b/src/gui/image/qimagereader.cpp @@ -505,7 +505,7 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device, if (!handler) { #ifdef QIMAGEREADER_DEBUG - qDebug() << "QImageReader::createReadHandler: no handlers found. giving up."; + qDebug("QImageReader::createReadHandler: no handlers found. giving up."); #endif // no handler: give up. return 0; diff --git a/src/gui/image/qpaintengine_pic.cpp b/src/gui/image/qpaintengine_pic.cpp index cf186892d5..6a87a01a87 100644 --- a/src/gui/image/qpaintengine_pic.cpp +++ b/src/gui/image/qpaintengine_pic.cpp @@ -91,7 +91,7 @@ bool QPicturePaintEngine::begin(QPaintDevice *pd) { Q_D(QPicturePaintEngine); #ifdef QT_PICTURE_DEBUG - qDebug() << "QPicturePaintEngine::begin()"; + qDebug("QPicturePaintEngine::begin()"); #endif Q_ASSERT(pd); QPicture *pic = static_cast(pd); @@ -124,7 +124,7 @@ bool QPicturePaintEngine::end() { Q_D(QPicturePaintEngine); #ifdef QT_PICTURE_DEBUG - qDebug() << "QPicturePaintEngine::end()"; + qDebug("QPicturePaintEngine::end()"); #endif d->pic_d->trecs++; d->s << (quint8) QPicturePrivate::PdcEnd << (quint8) 0; diff --git a/src/gui/itemmodels/qstandarditemmodel.cpp b/src/gui/itemmodels/qstandarditemmodel.cpp index 9b0c6163b4..6f30f0ea25 100644 --- a/src/gui/itemmodels/qstandarditemmodel.cpp +++ b/src/gui/itemmodels/qstandarditemmodel.cpp @@ -3009,7 +3009,7 @@ QMimeData *QStandardItemModel::mimeData(const QModelIndexList &indexes) const itemsSet << item; stack.push(item); } else { - qWarning() << "QStandardItemModel::mimeData: No item associated with invalid index"; + qWarning("QStandardItemModel::mimeData: No item associated with invalid index"); return 0; } } diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index e4d7ad8fcd..057450374d 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -1437,7 +1437,7 @@ void QGuiApplicationPrivate::init() typedef void (*TasInitialize)(void); TasInitialize initFunction = (TasInitialize)testLib.resolve("qt_testability_init"); if (Q_UNLIKELY(!initFunction)) { - qCritical() << "Library qttestability resolve failed!"; + qCritical("Library qttestability resolve failed!"); } else { initFunction(); } @@ -1595,7 +1595,7 @@ QFunctionPointer QGuiApplication::platformFunction(const QByteArray &function) { QPlatformIntegration *pi = QGuiApplicationPrivate::platformIntegration(); if (!pi) { - qWarning() << "QGuiApplication::platformFunction(): Must construct a QGuiApplication before accessing a platform function"; + qWarning("QGuiApplication::platformFunction(): Must construct a QGuiApplication before accessing a platform function"); return Q_NULLPTR; } diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index 61324d73f3..81c0971ea0 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -1033,19 +1033,19 @@ void QOpenGLContext::swapBuffers(QSurface *surface) return; if (!surface) { - qWarning() << "QOpenGLContext::swapBuffers() called with null argument"; + qWarning("QOpenGLContext::swapBuffers() called with null argument"); return; } if (!surface->supportsOpenGL()) { - qWarning() << "QOpenGLContext::swapBuffers() called with non-opengl surface"; + qWarning("QOpenGLContext::swapBuffers() called with non-opengl surface"); return; } if (surface->surfaceClass() == QSurface::Window && !qt_window_private(static_cast(surface))->receivedExpose) { - qWarning() << "QOpenGLContext::swapBuffers() called with non-exposed window, behavior is undefined"; + qWarning("QOpenGLContext::swapBuffers() called with non-exposed window, behavior is undefined"); } QPlatformSurface *surfaceHandle = surface->surfaceHandle(); @@ -1054,7 +1054,7 @@ void QOpenGLContext::swapBuffers(QSurface *surface) #if !defined(QT_NO_DEBUG) if (!QOpenGLContextPrivate::toggleMakeCurrentTracker(this, false)) - qWarning() << "QOpenGLContext::swapBuffers() called without corresponding makeCurrent()"; + qWarning("QOpenGLContext::swapBuffers() called without corresponding makeCurrent()"); #endif if (surface->format().swapBehavior() == QSurfaceFormat::SingleBuffer) functions()->glFlush(); diff --git a/src/gui/kernel/qstylehints.cpp b/src/gui/kernel/qstylehints.cpp index e184fed275..ecc2886a04 100644 --- a/src/gui/kernel/qstylehints.cpp +++ b/src/gui/kernel/qstylehints.cpp @@ -54,7 +54,7 @@ static inline QVariant themeableHint(QPlatformTheme::ThemeHint th, QPlatformIntegration::StyleHint ih) { if (!QCoreApplication::instance()) { - qWarning() << "Must construct a QGuiApplication before accessing a platform theme hint."; + qWarning("Must construct a QGuiApplication before accessing a platform theme hint."); return QVariant(); } if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) { diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index f43ef43c6c..3f430be579 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -1145,7 +1145,7 @@ qreal QWindow::devicePixelRatio() const void QWindow::setWindowState(Qt::WindowState state) { if (state == Qt::WindowActive) { - qWarning() << "QWindow::setWindowState does not accept Qt::WindowActive"; + qWarning("QWindow::setWindowState does not accept Qt::WindowActive"); return; } @@ -2436,7 +2436,7 @@ QWindow *QWindowPrivate::topLevelWindow() const QWindow *QWindow::fromWinId(WId id) { if (!QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::ForeignWindows)) { - qWarning() << "QWindow::fromWinId(): platform plugin does not support foreign windows."; + qWarning("QWindow::fromWinId(): platform plugin does not support foreign windows."); return 0; } diff --git a/src/gui/opengl/qopenglfunctions.cpp b/src/gui/opengl/qopenglfunctions.cpp index 5b728c9b8d..ea5a8e9252 100644 --- a/src/gui/opengl/qopenglfunctions.cpp +++ b/src/gui/opengl/qopenglfunctions.cpp @@ -273,7 +273,7 @@ QOpenGLFunctions::QOpenGLFunctions(QOpenGLContext *context) if (context && QOpenGLContextGroup::currentContextGroup() == context->shareGroup()) d_ptr = qt_gl_functions(context); else - qWarning() << "QOpenGLFunctions created with non-current context"; + qWarning("QOpenGLFunctions created with non-current context"); } QOpenGLExtensions::QOpenGLExtensions() diff --git a/src/gui/opengl/qopenglshaderprogram.cpp b/src/gui/opengl/qopenglshaderprogram.cpp index 9ac020b64b..bb60139ed6 100644 --- a/src/gui/opengl/qopenglshaderprogram.cpp +++ b/src/gui/opengl/qopenglshaderprogram.cpp @@ -250,7 +250,7 @@ bool QOpenGLShaderPrivate::create() shader = glfuncs->glCreateShader(GL_FRAGMENT_SHADER); } if (!shader) { - qWarning() << "QOpenGLShader: could not create shader"; + qWarning("QOpenGLShader: could not create shader"); return false; } shaderGuard = new QOpenGLSharedResourceGuard(context, shader, freeShaderFunc); @@ -798,7 +798,7 @@ bool QOpenGLShaderProgram::init() GLuint program = d->glfuncs->glCreateProgram(); if (!program) { - qWarning() << "QOpenGLShaderProgram: could not create shader program"; + qWarning("QOpenGLShaderProgram: could not create shader program"); return false; } if (d->programGuard) diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 34b4d97758..4ab029cf7a 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -1163,7 +1163,7 @@ void QRasterPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) if (s->matrix.type() <= QTransform::TxScale && path.isRect()) { #ifdef QT_DEBUG_DRAW - qDebug() << " --- optimizing vector clip to rect clip..."; + qDebug(" --- optimizing vector clip to rect clip..."); #endif const qreal *points = path.points(); QRectF r(points[0], points[1], points[4]-points[0], points[5]-points[1]); diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp index 0c3069db97..f83f1c997e 100644 --- a/src/gui/painting/qpdf.cpp +++ b/src/gui/painting/qpdf.cpp @@ -1951,7 +1951,7 @@ int QPdfEnginePrivate::writeImage(const QByteArray &data, int width, int height, xprintf("/Interpolate true\n"); int len = 0; if (dct) { - //qDebug() << "DCT"; + //qDebug("DCT"); xprintf("/Filter /DCTDecode\n>>\nstream\n"); write(data); len = data.length(); @@ -2215,7 +2215,7 @@ int QPdfEnginePrivate::generateGradientShader(const QGradient *gradient, const Q return generateRadialGradientShader(static_cast(gradient), matrix, alpha); case QGradient::ConicalGradient: default: - qWarning() << "Implement me!"; + qWarning("Implement me!"); } return 0; } diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp index a0596d1a07..6058811176 100644 --- a/src/gui/painting/qtransform.cpp +++ b/src/gui/painting/qtransform.cpp @@ -53,6 +53,14 @@ QT_BEGIN_NAMESPACE +#ifndef QT_NO_DEBUG +Q_NEVER_INLINE +static void nanWarning(const char *func) +{ + qWarning("QTransform::%s with NaN called", func); +} +#endif // QT_NO_DEBUG + #define Q_NEAR_CLIP (sizeof(qreal) == sizeof(double) ? 0.000001 : 0.0001) #ifdef MAP @@ -418,7 +426,7 @@ QTransform &QTransform::translate(qreal dx, qreal dy) return *this; #ifndef QT_NO_DEBUG if (qIsNaN(dx) | qIsNaN(dy)) { - qWarning() << "QTransform::translate with NaN called"; + nanWarning("translate"); return *this; } #endif @@ -461,7 +469,7 @@ QTransform QTransform::fromTranslate(qreal dx, qreal dy) { #ifndef QT_NO_DEBUG if (qIsNaN(dx) | qIsNaN(dy)) { - qWarning() << "QTransform::fromTranslate with NaN called"; + nanWarning("fromTranslate"); return QTransform(); } #endif @@ -486,7 +494,7 @@ QTransform & QTransform::scale(qreal sx, qreal sy) return *this; #ifndef QT_NO_DEBUG if (qIsNaN(sx) | qIsNaN(sy)) { - qWarning() << "QTransform::scale with NaN called"; + nanWarning("scale"); return *this; } #endif @@ -527,7 +535,7 @@ QTransform QTransform::fromScale(qreal sx, qreal sy) { #ifndef QT_NO_DEBUG if (qIsNaN(sx) | qIsNaN(sy)) { - qWarning() << "QTransform::fromScale with NaN called"; + nanWarning("fromScale"); return QTransform(); } #endif @@ -552,7 +560,7 @@ QTransform & QTransform::shear(qreal sh, qreal sv) return *this; #ifndef QT_NO_DEBUG if (qIsNaN(sh) | qIsNaN(sv)) { - qWarning() << "QTransform::shear with NaN called"; + nanWarning("shear"); return *this; } #endif @@ -613,7 +621,7 @@ QTransform & QTransform::rotate(qreal a, Qt::Axis axis) return *this; #ifndef QT_NO_DEBUG if (qIsNaN(a)) { - qWarning() << "QTransform::rotate with NaN called"; + nanWarning("rotate"); return *this; } #endif @@ -704,7 +712,7 @@ QTransform & QTransform::rotateRadians(qreal a, Qt::Axis axis) { #ifndef QT_NO_DEBUG if (qIsNaN(a)) { - qWarning() << "QTransform::rotateRadians with NaN called"; + nanWarning("rotateRadians"); return *this; } #endif diff --git a/src/gui/text/qfontengine_qpf2.cpp b/src/gui/text/qfontengine_qpf2.cpp index 4b5d241e60..c3a911fc55 100644 --- a/src/gui/text/qfontengine_qpf2.cpp +++ b/src/gui/text/qfontengine_qpf2.cpp @@ -246,7 +246,7 @@ QFontEngineQPF2::QFontEngineQPF2(const QFontDef &def, const QByteArray &data) if (!verifyHeader(fontData, dataSize)) { #if defined(DEBUG_FONTENGINE) - qDebug() << "verifyHeader failed!"; + qDebug("verifyHeader failed!"); #endif return; } diff --git a/src/gui/text/qfontsubset.cpp b/src/gui/text/qfontsubset.cpp index a9387e5aa0..f591b4333c 100644 --- a/src/gui/text/qfontsubset.cpp +++ b/src/gui/text/qfontsubset.cpp @@ -798,7 +798,7 @@ static void convertPath(const QPainterPath &path, QVector *points, QV base -= 3; } else { // need to split -// qDebug() << " -> splitting"; +// qDebug(" -> splitting"); qint16 a, b, c, d; base[6].x = base[3].x; c = base[1].x; @@ -859,7 +859,7 @@ static void getBounds(const QVector &points, qint16 *xmin, qint16 *xm static int convertToRelative(QVector *points) { // convert points to relative and setup flags -// qDebug() << "relative points:"; +// qDebug("relative points:"); qint16 prev_x = 0; qint16 prev_y = 0; int point_array_size = 0; @@ -980,7 +980,7 @@ static QTtfGlyph generateGlyph(int index, const QPainterPath &path, qreal advanc // qDebug() << "number of contours=" << endPoints.size(); // for (int i = 0; i < points.size(); ++i) // qDebug() << " point[" << i << "] = " << QPoint(points.at(i).x, points.at(i).y) << " flags=" << points.at(i).flags; -// qDebug() << "endPoints:"; +// qDebug("endPoints:"); // for (int i = 0; i < endPoints.size(); ++i) // qDebug() << endPoints.at(i); diff --git a/src/gui/text/qplatformfontdatabase.cpp b/src/gui/text/qplatformfontdatabase.cpp index 017e2f254d..0d7cb204ff 100644 --- a/src/gui/text/qplatformfontdatabase.cpp +++ b/src/gui/text/qplatformfontdatabase.cpp @@ -100,7 +100,7 @@ void QPlatformFontDatabase::registerQPF2Font(const QByteArray &dataArray, void * registerFont(fontName,QString(),QString(),fontWeight,fontStyle,stretch,true,false,pixelSize,false,writingSystems,handle); } } else { - qDebug() << "header verification of QPF2 font failed. maybe it is corrupt?"; + qDebug("header verification of QPF2 font failed. maybe it is corrupt?"); } } diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp index ff492b15f6..c26fd08c41 100644 --- a/src/gui/text/qtextdocumentlayout.cpp +++ b/src/gui/text/qtextdocumentlayout.cpp @@ -1598,7 +1598,7 @@ QTextLayoutStruct QTextDocumentLayoutPrivate::layoutCell(QTextTable *t, const QT // floats in other cells we must clear the list here. data(t)->floats.clear(); -// qDebug() << "layoutCell done"; +// qDebug("layoutCell done"); return layoutStruct; } @@ -2030,7 +2030,7 @@ void QTextDocumentLayoutPrivate::positionFloat(QTextFrame *frame, QTextLine *cur // qDebug() << "have line: right=" << right << "left=" << left << "textWidth=" << currentLine->width(); if (right - left < QFixed::fromReal(currentLine->naturalTextWidth()) + fd->size.width) { layoutStruct->pendingFloats.append(frame); -// qDebug() << " adding to pending list"; +// qDebug(" adding to pending list"); return; } } @@ -2543,7 +2543,7 @@ void QTextDocumentLayoutPrivate::layoutFlow(QTextFrame::Iterator it, QTextLayout contentHasAlignment = true; if (it.atEnd()) { - //qDebug() << "layout done!"; + //qDebug("layout done!"); currentLazyLayoutPosition = -1; QCheckPoint cp; cp.y = layoutStruct->y; diff --git a/src/gui/text/qtextdocumentwriter.cpp b/src/gui/text/qtextdocumentwriter.cpp index d672b1187a..a7c58ac2a6 100644 --- a/src/gui/text/qtextdocumentwriter.cpp +++ b/src/gui/text/qtextdocumentwriter.cpp @@ -271,7 +271,7 @@ bool QTextDocumentWriter::write(const QTextDocument *document) #ifndef QT_NO_TEXTHTMLPARSER if (format == "html" || format == "htm") { if (!d->device->isWritable() && ! d->device->open(QIODevice::WriteOnly)) { - qWarning() << "QTextDocumentWriter::write: the device can not be opened for writing"; + qWarning("QTextDocumentWriter::write: the device can not be opened for writing"); return false; } QTextStream ts(d->device); @@ -285,7 +285,7 @@ bool QTextDocumentWriter::write(const QTextDocument *document) #endif if (format == "txt" || format == "plaintext") { if (!d->device->isWritable() && ! d->device->open(QIODevice::WriteOnly)) { - qWarning() << "QTextDocumentWriter::write: the device can not be opened for writing"; + qWarning("QTextDocumentWriter::write: the device can not be opened for writing"); return false; } QTextStream ts(d->device); diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index f5df6fd60b..3ee6177f3c 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -816,7 +816,7 @@ void QTextEngine::bidiReorder(int numItems, const quint8 *levels, int *visualOrd } #if (BIDI_DEBUG >= 1) -// qDebug() << "visual order is:"; +// qDebug("visual order is:"); // for (i = 0; i < numItems; i++) // qDebug() << visualOrder[i]; #endif diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 8902d52b28..128966a35a 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2976,7 +2976,7 @@ int QTextLine::xToCursor(qreal _x, CursorPosition cpos) const } } // right of last item -// qDebug() << "right of last"; +// qDebug("right of last"); int item = visualOrder[nItems-1]+firstItem; QScriptItem &si = eng->layoutData->items[item]; if (!si.num_glyphs) diff --git a/src/gui/text/qtextodfwriter.cpp b/src/gui/text/qtextodfwriter.cpp index 4baa94edd5..bd2a9d5183 100644 --- a/src/gui/text/qtextodfwriter.cpp +++ b/src/gui/text/qtextodfwriter.cpp @@ -769,7 +769,7 @@ bool QTextOdfWriter::writeAll() m_strategy = new QXmlStreamStrategy(m_device); if (!m_device->isWritable() && ! m_device->open(QIODevice::WriteOnly)) { - qWarning() << "QTextOdfWriter::writeAll: the device can not be opened for writing"; + qWarning("QTextOdfWriter::writeAll: the device can not be opened for writing"); return false; } QXmlStreamWriter writer(m_strategy->contentStream); diff --git a/src/gui/text/qzip.cpp b/src/gui/text/qzip.cpp index 4f43f73d41..e42c268493 100644 --- a/src/gui/text/qzip.cpp +++ b/src/gui/text/qzip.cpp @@ -574,7 +574,7 @@ void QZipReaderPrivate::scanFiles() uchar tmp[4]; device->read((char *)tmp, 4); if (readUInt(tmp) != 0x04034b50) { - qWarning() << "QZip: not a zip file!"; + qWarning("QZip: not a zip file!"); return; } @@ -586,7 +586,7 @@ void QZipReaderPrivate::scanFiles() while (start_of_directory == -1) { const int pos = device->size() - int(sizeof(EndOfDirectory)) - i; if (pos < 0 || i > 65535) { - qWarning() << "QZip: EndOfDirectory not found"; + qWarning("QZip: EndOfDirectory not found"); return; } @@ -603,7 +603,7 @@ void QZipReaderPrivate::scanFiles() ZDEBUG("start_of_directory at %d, num_dir_entries=%d", start_of_directory, num_dir_entries); int comment_length = readUShort(eod.comment_length); if (comment_length != i) - qWarning() << "QZip: failed to parse zip file."; + qWarning("QZip: failed to parse zip file."); comment = device->read(qMin(comment_length, i)); @@ -612,30 +612,30 @@ void QZipReaderPrivate::scanFiles() FileHeader header; int read = device->read((char *) &header.h, sizeof(CentralFileHeader)); if (read < (int)sizeof(CentralFileHeader)) { - qWarning() << "QZip: Failed to read complete header, index may be incomplete"; + qWarning("QZip: Failed to read complete header, index may be incomplete"); break; } if (readUInt(header.h.signature) != 0x02014b50) { - qWarning() << "QZip: invalid header signature, index may be incomplete"; + qWarning("QZip: invalid header signature, index may be incomplete"); break; } int l = readUShort(header.h.file_name_length); header.file_name = device->read(l); if (header.file_name.length() != l) { - qWarning() << "QZip: Failed to read filename from zip index, index may be incomplete"; + qWarning("QZip: Failed to read filename from zip index, index may be incomplete"); break; } l = readUShort(header.h.extra_field_length); header.extra_field = device->read(l); if (header.extra_field.length() != l) { - qWarning() << "QZip: Failed to read extra field in zip file, skipping file, index may be incomplete"; + qWarning("QZip: Failed to read extra field in zip file, skipping file, index may be incomplete"); break; } l = readUShort(header.h.file_comment_length); header.file_comment = device->read(l); if (header.file_comment.length() != l) { - qWarning() << "QZip: Failed to read read file comment, index may be incomplete"; + qWarning("QZip: Failed to read read file comment, index may be incomplete"); break; } -- cgit v1.2.3 From 5cd455dca309d0d031057ab40ff607d144683d43 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 17 Oct 2015 17:48:34 +0200 Subject: QtNetwork: use printf-style qWarning/qDebug where possible (I) The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "" with qWarning("..."). Saves ~850b in text size on optimized GCC 5.3 AMD64 builds. Change-Id: Ib1a087795a03b2a6b432e2c499968df779aaea37 Reviewed-by: Kai Koehne --- src/network/access/qhttpnetworkconnection.cpp | 4 ++-- src/network/access/qhttpnetworkconnectionchannel.cpp | 2 +- src/network/access/qhttpprotocolhandler.cpp | 2 +- src/network/access/qnetworkdiskcache.cpp | 12 ++++++------ src/network/kernel/qdnslookup_winrt.cpp | 2 +- src/network/socket/qhttpsocketengine.cpp | 2 +- src/network/socket/qsocks5socketengine.cpp | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 3489c3a1cc..8f16780925 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -234,7 +234,7 @@ bool QHttpNetworkConnectionPrivate::shouldEmitChannelError(QAbstractSocket *sock emitError = false; } if (networkLayerState == QHttpNetworkConnectionPrivate::Unknown) - qWarning() << "We got a connection error when networkLayerState is Unknown"; + qWarning("We got a connection error when networkLayerState is Unknown"); } } return emitError; @@ -1190,7 +1190,7 @@ void QHttpNetworkConnectionPrivate::_q_hostLookupFinished(const QHostInfo &info) #endif // QT_NO_SSL else { // Should not happen - qWarning() << "QHttpNetworkConnectionPrivate::_q_hostLookupFinished could not dequeu request"; + qWarning("QHttpNetworkConnectionPrivate::_q_hostLookupFinished could not dequeu request"); networkLayerState = QHttpNetworkConnectionPrivate::Unknown; } } diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index dc1f12ff6b..56716cbe01 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -418,7 +418,7 @@ void QHttpNetworkConnectionChannel::allDone() Q_ASSERT(reply); if (!reply) { - qWarning() << "QHttpNetworkConnectionChannel::allDone() called without reply. Please report at http://bugreports.qt.io/"; + qWarning("QHttpNetworkConnectionChannel::allDone() called without reply. Please report at http://bugreports.qt.io/"); return; } diff --git a/src/network/access/qhttpprotocolhandler.cpp b/src/network/access/qhttpprotocolhandler.cpp index 6adafae868..b486b75449 100644 --- a/src/network/access/qhttpprotocolhandler.cpp +++ b/src/network/access/qhttpprotocolhandler.cpp @@ -260,7 +260,7 @@ bool QHttpProtocolHandler::sendRequest() if (!m_reply) { // heh, how should that happen! - qWarning() << "QAbstractProtocolHandler::sendRequest() called without QHttpNetworkReply"; + qWarning("QAbstractProtocolHandler::sendRequest() called without QHttpNetworkReply"); return false; } diff --git a/src/network/access/qnetworkdiskcache.cpp b/src/network/access/qnetworkdiskcache.cpp index 5d38ebcd86..99e67cb463 100644 --- a/src/network/access/qnetworkdiskcache.cpp +++ b/src/network/access/qnetworkdiskcache.cpp @@ -160,7 +160,7 @@ void QNetworkDiskCache::setCacheDirectory(const QString &cacheDir) qint64 QNetworkDiskCache::cacheSize() const { #if defined(QNETWORKDISKCACHE_DEBUG) - qDebug() << "QNetworkDiskCache::cacheSize()"; + qDebug("QNetworkDiskCache::cacheSize()"); #endif Q_D(const QNetworkDiskCache); if (d->cacheDirectory.isEmpty()) @@ -185,7 +185,7 @@ QIODevice *QNetworkDiskCache::prepare(const QNetworkCacheMetaData &metaData) return 0; if (d->cacheDirectory.isEmpty()) { - qWarning() << "QNetworkDiskCache::prepare() The cache directory is not set"; + qWarning("QNetworkDiskCache::prepare() The cache directory is not set"); return 0; } @@ -212,7 +212,7 @@ QIODevice *QNetworkDiskCache::prepare(const QNetworkCacheMetaData &metaData) cacheItem->file = 0; } if (!cacheItem->file || !cacheItem->file->open()) { - qWarning() << "QNetworkDiskCache::prepare() unable to open temporary file"; + qWarning("QNetworkDiskCache::prepare() unable to open temporary file"); cacheItem.reset(); return 0; } @@ -448,7 +448,7 @@ void QNetworkDiskCache::updateMetaData(const QNetworkCacheMetaData &metaData) QIODevice *oldDevice = data(url); if (!oldDevice) { #if defined(QNETWORKDISKCACHE_DEBUG) - qDebug() << "QNetworkDiskCache::updateMetaData(), no device!"; + qDebug("QNetworkDiskCache::updateMetaData(), no device!"); #endif return; } @@ -521,7 +521,7 @@ qint64 QNetworkDiskCache::expire() return d->currentCacheSize; if (cacheDirectory().isEmpty()) { - qWarning() << "QNetworkDiskCache::expire() The cache directory is not set"; + qWarning("QNetworkDiskCache::expire() The cache directory is not set"); return 0; } @@ -584,7 +584,7 @@ qint64 QNetworkDiskCache::expire() void QNetworkDiskCache::clear() { #if defined(QNETWORKDISKCACHE_DEBUG) - qDebug() << "QNetworkDiskCache::clear()"; + qDebug("QNetworkDiskCache::clear()"); #endif Q_D(QNetworkDiskCache); qint64 size = d->maximumCacheSize; diff --git a/src/network/kernel/qdnslookup_winrt.cpp b/src/network/kernel/qdnslookup_winrt.cpp index a0643c5daa..b459deb1ed 100644 --- a/src/network/kernel/qdnslookup_winrt.cpp +++ b/src/network/kernel/qdnslookup_winrt.cpp @@ -65,7 +65,7 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN { // TODO: Add nameserver support for winRT if (!nameserver.isNull()) - qWarning() << "Ignoring nameserver as its currently not supported on WinRT"; + qWarning("Ignoring nameserver as its currently not supported on WinRT"); // TODO: is there any way to do "proper" dns lookup? if (requestType != QDnsLookup::A && requestType != QDnsLookup::AAAA diff --git a/src/network/socket/qhttpsocketengine.cpp b/src/network/socket/qhttpsocketengine.cpp index fa9c5909e0..642c9bb10f 100644 --- a/src/network/socket/qhttpsocketengine.cpp +++ b/src/network/socket/qhttpsocketengine.cpp @@ -510,7 +510,7 @@ void QHttpSocketEngine::slotSocketConnected() data += "\r\n"; // qDebug() << ">>>>>>>> sending request" << this; // qDebug() << data; -// qDebug() << ">>>>>>>"; +// qDebug(">>>>>>>"); d->socket->write(data); d->state = ConnectSent; } diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp index 4de4c1799f..0c15810a48 100644 --- a/src/network/socket/qsocks5socketengine.cpp +++ b/src/network/socket/qsocks5socketengine.cpp @@ -352,7 +352,7 @@ void QSocks5BindStore::add(qintptr socketDescriptor, QSocks5BindData *bindData) { QMutexLocker lock(&mutex); if (store.contains(socketDescriptor)) { - // qDebug() << "delete it"; + // qDebug("delete it"); } bindData->timeStamp.start(); store.insert(socketDescriptor, bindData); @@ -1191,7 +1191,7 @@ void QSocks5SocketEnginePrivate::_q_controlSocketReadNotification() case Connected: { QByteArray buf; if (!data->authenticator->unSeal(data->controlSocket, &buf)) { - // qDebug() << "unseal error maybe need to wait for more data"; + // qDebug("unseal error maybe need to wait for more data"); } if (buf.size()) { QSOCKS5_DEBUG << dump(buf); -- cgit v1.2.3 From 7d2c7ca8fad2d8177599ba3a4851c48d3baf5772 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 18 Feb 2016 12:00:27 +0100 Subject: QFontEngine: use RAII for font_, face_ members Wrap the pairs of (void *ptr, void (*dtor)(void*)) in essentially a std::unique_ptr. This simplifies code and provides the correct implicit destruction, so we can drop the explicit glyph-cache clear()ing in ~QFontEngine(), leaving that job to ~QLinkedList. A subsequent change will turn the QLinkedList into a C array, the clearing of which would otherwise cause excessive code bloat. Since we can't use std::unique_ptr, yet, provide a hand-rolled replacement for now, marking it for replacement with unique_ptr once we can use it. Make that a local type instead of providing a Qt-wide unique_ptr so we don't accidentally lock ourselves into a half-baked std clone we can't get rid of anymore. To prepare unique_ptr use with the same type-erased deleter (function pointer) as now, replace a nullptr destroy_function with a no-op function, so ~unique_ptr doesn't crash when we port to it later. Because QFreetypeFace contains the same construct and shares payloads with QFontEngine, use the Holder there, too. Even saves 150b in text size on optimized GCC 5.3 AMD64 builds. Change-Id: I5ca11a3e6e1ff9e06199124403d96e1b280f3eb2 Reviewed-by: Konstantin Ritt Reviewed-by: Lars Knoll --- src/gui/text/qfontengine.cpp | 25 ++++++------------------ src/gui/text/qfontengine_ft.cpp | 18 +++++++---------- src/gui/text/qfontengine_ft_p.h | 3 +-- src/gui/text/qfontengine_p.h | 43 +++++++++++++++++++++++++++++++++++++---- src/gui/text/qharfbuzzng.cpp | 20 ++++++------------- 5 files changed, 59 insertions(+), 50 deletions(-) (limited to 'src') diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index 7c0492bb1a..96f7e06a47 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -246,8 +246,8 @@ Q_AUTOTEST_EXPORT QList QFontEngine_stopCollectingEngines() QFontEngine::QFontEngine(Type type) : m_type(type), ref(0), - font_(0), font_destroy_func(0), - face_(0), face_destroy_func(0), + font_(), + face_(), m_minLeftBearing(kBearingNotInitialized), m_minRightBearing(kBearingNotInitialized) { @@ -269,17 +269,6 @@ QFontEngine::QFontEngine(Type type) QFontEngine::~QFontEngine() { - m_glyphCaches.clear(); - - if (font_ && font_destroy_func) { - font_destroy_func(font_); - font_ = 0; - } - if (face_ && face_destroy_func) { - face_destroy_func(face_); - face_ = 0; - } - #ifdef QT_BUILD_INTERNAL if (enginesCollector) enginesCollector->removeOne(this); @@ -334,10 +323,9 @@ void *QFontEngine::harfbuzzFont() const hbFont->x_scale = (((qint64)hbFont->x_ppem << 6) * 0x10000L + (emSquare >> 1)) / emSquare; hbFont->y_scale = (((qint64)hbFont->y_ppem << 6) * 0x10000L + (emSquare >> 1)) / emSquare; - font_ = (void *)hbFont; - font_destroy_func = free; + font_ = Holder(hbFont, free); } - return font_; + return font_.get(); } void *QFontEngine::harfbuzzFace() const @@ -357,10 +345,9 @@ void *QFontEngine::harfbuzzFace() const Q_CHECK_PTR(hbFace); hbFace->isSymbolFont = symbol; - face_ = (void *)hbFace; - face_destroy_func = hb_freeFace; + face_ = Holder(hbFace, hb_freeFace); } - return face_; + return face_.get(); } bool QFontEngine::supportsScript(QChar::Script script) const diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 779333351f..3207325755 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -246,9 +246,6 @@ QFreetypeFace *QFreetypeFace::getFace(const QFontEngine::FaceId &face_id, } newFreetype->face = face; - newFreetype->hbFace = 0; - newFreetype->hbFace_destroy_func = 0; - newFreetype->ref.store(1); newFreetype->xsize = 0; newFreetype->ysize = 0; @@ -300,10 +297,7 @@ QFreetypeFace *QFreetypeFace::getFace(const QFontEngine::FaceId &face_id, void QFreetypeFace::cleanup() { - if (hbFace && hbFace_destroy_func) { - hbFace_destroy_func(hbFace); - hbFace = 0; - } + hbFace.reset(); FT_Done_Face(face); face = 0; } @@ -686,6 +680,8 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format, return init(faceId, antialias, format, QFreetypeFace::getFace(faceId, fontData)); } +static void dont_delete(void*) {} + bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format, QFreetypeFace *freetypeFace) { @@ -776,13 +772,13 @@ bool QFontEngineFT::init(FaceId faceId, bool antialias, GlyphFormat format, if (!freetype->hbFace) { faceData.user_data = face; faceData.get_font_table = ft_getSfntTable; - freetype->hbFace = harfbuzzFace(); - freetype->hbFace_destroy_func = face_destroy_func; + (void)harfbuzzFace(); // populates face_ + freetype->hbFace = std::move(face_); } else { Q_ASSERT(!face_); - face_ = freetype->hbFace; } - face_destroy_func = 0; // we share the HB face in QFreeTypeFace, so do not let ~QFontEngine() destroy it + // we share the HB face in QFreeTypeFace, so do not let ~QFontEngine() destroy it + face_ = Holder(freetype->hbFace.get(), dont_delete); unlockFace(); diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h index 1886fc67ba..f9b37ff039 100644 --- a/src/gui/text/qfontengine_ft_p.h +++ b/src/gui/text/qfontengine_ft_p.h @@ -121,8 +121,7 @@ private: QMutex _lock; QByteArray fontData; - void *hbFace; - qt_destroy_func_t hbFace_destroy_func; + QFontEngine::Holder hbFace; }; // If this is exported this breaks compilation of the windows diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h index 059b3df88e..1ef3a360d4 100644 --- a/src/gui/text/qfontengine_p.h +++ b/src/gui/text/qfontengine_p.h @@ -275,10 +275,45 @@ public: QAtomicInt ref; QFontDef fontDef; - mutable void *font_; - mutable qt_destroy_func_t font_destroy_func; - mutable void *face_; - mutable qt_destroy_func_t face_destroy_func; + class Holder { // replace by std::unique_ptr once available + void *ptr; + qt_destroy_func_t destroy_func; + public: + Holder() : ptr(nullptr), destroy_func(nullptr) {} + explicit Holder(void *p, qt_destroy_func_t d) : ptr(p), destroy_func(d) {} + ~Holder() { if (ptr && destroy_func) destroy_func(ptr); } + Holder(Holder &&other) Q_DECL_NOTHROW + : ptr(other.ptr), + destroy_func(other.destroy_func) + { + other.ptr = nullptr; + other.destroy_func = nullptr; + } + Holder &operator=(Holder &&other) Q_DECL_NOTHROW + { swap(other); return *this; } + + void swap(Holder &other) Q_DECL_NOTHROW + { + qSwap(ptr, other.ptr); + qSwap(destroy_func, other.destroy_func); + } + + void *get() const Q_DECL_NOTHROW { return ptr; } + void *release() Q_DECL_NOTHROW { + void *result = ptr; + ptr = nullptr; + destroy_func = nullptr; + return result; + } + void reset() Q_DECL_NOTHROW { Holder().swap(*this); } + qt_destroy_func_t get_deleter() const Q_DECL_NOTHROW { return destroy_func; } + + bool operator!() const Q_DECL_NOTHROW { return !ptr; } + }; + + mutable Holder font_; // \ NOTE: Declared before m_glyphCaches, so font_, face_ + mutable Holder face_; // / are destroyed _after_ m_glyphCaches is destroyed. + struct FaceData { void *user_data; qt_get_font_table_func_t get_font_table; diff --git a/src/gui/text/qharfbuzzng.cpp b/src/gui/text/qharfbuzzng.cpp index e33b461401..55ef9f0d15 100644 --- a/src/gui/text/qharfbuzzng.cpp +++ b/src/gui/text/qharfbuzzng.cpp @@ -678,14 +678,10 @@ hb_face_t *hb_qt_face_get_for_engine(QFontEngine *fe) { Q_ASSERT(fe && fe->type() != QFontEngine::Multi); - if (Q_UNLIKELY(!fe->face_)) { - fe->face_ = _hb_qt_face_create(fe); - if (Q_UNLIKELY(!fe->face_)) - return NULL; - fe->face_destroy_func = _hb_qt_face_release; - } + if (Q_UNLIKELY(!fe->face_)) + fe->face_ = QFontEngine::Holder(_hb_qt_face_create(fe), _hb_qt_face_release); - return static_cast(fe->face_); + return static_cast(fe->face_.get()); } @@ -728,14 +724,10 @@ hb_font_t *hb_qt_font_get_for_engine(QFontEngine *fe) { Q_ASSERT(fe && fe->type() != QFontEngine::Multi); - if (Q_UNLIKELY(!fe->font_)) { - fe->font_ = _hb_qt_font_create(fe); - if (Q_UNLIKELY(!fe->font_)) - return NULL; - fe->font_destroy_func = _hb_qt_font_release; - } + if (Q_UNLIKELY(!fe->font_)) + fe->font_ = QFontEngine::Holder(_hb_qt_font_create(fe), _hb_qt_font_release); - return static_cast(fe->font_); + return static_cast(fe->font_.get()); } QT_END_NAMESPACE -- cgit v1.2.3 From 840831b6116a289ce45377aa5366974e6ec7c0e8 Mon Sep 17 00:00:00 2001 From: Timur Pocheptsov Date: Fri, 4 Mar 2016 11:11:17 +0100 Subject: Cocoa integration - do not invalidate backing store on move MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If window is only moving, there is no reason to reset a backing store, otherwise with current expose/flush events machinery it's possible to have glitches while moving a window programmatically. Change-Id: Ia4408bd23388e529ae93617a92ae84304b707ca1 Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/cocoa/qnsview.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 05dcbd33ad..cb119e7e0d 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -356,6 +356,8 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil; if (m_platformWindow->m_nsWindow && geometry == m_platformWindow->geometry()) return; + const bool isResize = geometry.size() != m_platformWindow->geometry().size(); + // It can happen that self.window is nil (if we are changing // styleMask from/to borderless and content view is being re-parented) // - this results in an invalid coordinates. @@ -385,7 +387,7 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil; // calles, which Qt and Qt applications do not excpect. if (!m_platformWindow->m_inSetGeometry) QWindowSystemInterface::flushWindowSystemEvents(); - else + else if (isResize) m_backingStore = 0; } } -- cgit v1.2.3 From 9a999eb7b09b5ddf1545546b9e71b0326c0bb0d2 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 26 Feb 2016 15:42:51 +0100 Subject: Remove QT_MOC_COMPAT from deprecated QProcess::error signal QT_MOC_COMPAT has the unfortunate behavior that it generates a warning at runtime, which also cannot be disabled. This is too draconic. Task-number: QTBUG-51517 Change-Id: I80af8b8b482671e4c9567281c3b1c504d737e202 Reviewed-by: hjk Reviewed-by: Eike Ziller Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qprocess.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/io/qprocess.h b/src/corelib/io/qprocess.h index f95358250e..60c513d12e 100644 --- a/src/corelib/io/qprocess.h +++ b/src/corelib/io/qprocess.h @@ -243,7 +243,7 @@ Q_SIGNALS: void finished(int exitCode); // ### Qt 6: merge the two signals with a default value void finished(int exitCode, QProcess::ExitStatus exitStatus); #if QT_DEPRECATED_SINCE(5,6) - QT_MOC_COMPAT void error(QProcess::ProcessError error); + void error(QProcess::ProcessError error); #endif void errorOccurred(QProcess::ProcessError error); void stateChanged(QProcess::ProcessState state, QPrivateSignal); -- cgit v1.2.3 From 04db3f28af549b343fc88a089e0093551585e911 Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Thu, 3 Mar 2016 14:11:45 +0100 Subject: Check if WINAPI_FAMILY_PC_APP is defined before using it Not all Windows compilers (e.g. MinGW 4.9.2) have WINAPI_FAMILY_PC_APP defined in their headers and report build failures in several Qt modules including QtActiveQt. This is fixed by defining the needed values before they are used. Task-number: QTBUG-49971 Change-Id: Ib7bac1fe07eb76c64d66fa152427918ee39a2eef Reviewed-by: Andrew Knight --- src/corelib/global/qsystemdetection.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/corelib/global/qsystemdetection.h b/src/corelib/global/qsystemdetection.h index 751c6a9a0e..f1abc88b99 100644 --- a/src/corelib/global/qsystemdetection.h +++ b/src/corelib/global/qsystemdetection.h @@ -106,6 +106,9 @@ # if defined(WINCE) || defined(_WIN32_WCE) # define Q_OS_WINCE # elif defined(WINAPI_FAMILY) +# ifndef WINAPI_FAMILY_PC_APP +# define WINAPI_FAMILY_PC_APP WINAPI_FAMILY_APP +# endif # if defined(WINAPI_FAMILY_PHONE_APP) && WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP # define Q_OS_WINPHONE # define Q_OS_WINRT -- cgit v1.2.3 From 409151ea2b2a607e96ce7a6462d54b3092d9c617 Mon Sep 17 00:00:00 2001 From: Michael Bruning Date: Fri, 4 Mar 2016 11:36:45 +0100 Subject: [Windows] Blacklist AMD FirePro V5900 cards for angle. They seem to cause crashes on Windows 7 and 8. Change-Id: I6e91a195077313610a79358d6787ed211357b56a Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/openglblacklists/default.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/plugins/platforms/windows/openglblacklists/default.json b/src/plugins/platforms/windows/openglblacklists/default.json index 767eac161c..f7a8844611 100644 --- a/src/plugins/platforms/windows/openglblacklists/default.json +++ b/src/plugins/platforms/windows/openglblacklists/default.json @@ -78,6 +78,18 @@ "features": [ "disable_rotation" ] + }, + { + "id": 7, + "description": "AMD FirePro V5900 driver causes crashes in Direct3D on Windows.", + "vendor_id": "0x1002", + "device_id": ["0x6707"], + "os": { + "type": "win" + }, + "features": [ + "disable_angle" + ] } ] } -- cgit v1.2.3 From caa82c3518b4a5c09b1de990874190d5d765656f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= Date: Thu, 3 Mar 2016 01:43:41 +0100 Subject: xcb: resourceType names must have only small letters Change-Id: I563ae26c9e7e6111399fd0b9af7bfb3ff750b34a Reviewed-by: Shawn Rutledge --- src/plugins/platforms/xcb/qxcbnativeinterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp index dfb0a125e2..f6bd878bde 100644 --- a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp +++ b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp @@ -76,7 +76,7 @@ static int resourceType(const QByteArray &key) QByteArrayLiteral("startupid"), QByteArrayLiteral("traywindow"), QByteArrayLiteral("gettimestamp"), QByteArrayLiteral("x11screen"), QByteArrayLiteral("rootwindow"), - QByteArrayLiteral("subpixeltype"), QByteArrayLiteral("antialiasingEnabled"), + QByteArrayLiteral("subpixeltype"), QByteArrayLiteral("antialiasingenabled"), QByteArrayLiteral("nofonthinting"), QByteArrayLiteral("atspibus") }; -- cgit v1.2.3 From 50388a7e4fdc0699dbe2b0666e9f155bdbce6e6e Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Thu, 25 Feb 2016 10:05:46 +0100 Subject: iOS: rely on built-in compiler macros to check for CPU features MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit iOS cannot do runtime feature detection, and querying the CPU is only allowed in kernel mode (or beyond), so we have to decide the features at compile time, in which case we might as well use the fallback code path that uses the built in __ARM_* macros to point out which features are supported, instead of hard-coding the features for iOS. Change-Id: Ie507c0d8e962a7bdab16508c8b8122645276512e Reviewed-by: Oswald Buddenhagen Reviewed-by: Tor Arne Vestbø --- src/corelib/tools/qsimd.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'src') diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index 88208d0c9d..5bce42fd5a 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -117,13 +117,7 @@ static inline quint64 detectProcessorFeatures() { quint64 features = 0; -#if defined(Q_OS_IOS) - features |= Q_UINT64_C(1) << CpuFeatureNEON; // On iOS, NEON is always available. -# ifdef Q_PROCESSOR_ARM_V8 - features |= Q_UINT64_C(1) << CpuFeatureCRC32; // On iOS, crc32 is always available if the architecture is Aarch32/64. -# endif - return features; -#elif defined(Q_OS_LINUX) +#if defined(Q_OS_LINUX) # if defined(Q_PROCESSOR_ARM_V8) && defined(Q_PROCESSOR_ARM_64) features |= Q_UINT64_C(1) << CpuFeatureNEON; // NEON is always available on ARMv8 64bit. # endif -- cgit v1.2.3 From 0cffd65930136060068c7a18008b95f8225d0f38 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 29 Feb 2016 16:22:10 +0100 Subject: Drop hand-rolled ASCII conversion from QAbstractConcatenable::convertFromAscii() QUtf8::convertToUnicode() contains a SIMD-enabled ASCII fast-path already which is likely faster than what the compiler will emit for the old code here. Change-Id: I6afae9689424eb53a9f7c01359cc4f57ffcead26 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/tools/qstringbuilder.cpp | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'src') diff --git a/src/corelib/tools/qstringbuilder.cpp b/src/corelib/tools/qstringbuilder.cpp index 85babbd698..de12de19cb 100644 --- a/src/corelib/tools/qstringbuilder.cpp +++ b/src/corelib/tools/qstringbuilder.cpp @@ -110,25 +110,11 @@ QT_BEGIN_NAMESPACE */ void QAbstractConcatenable::convertFromAscii(const char *a, int len, QChar *&out) Q_DECL_NOTHROW { - if (len == -1) { + if (Q_UNLIKELY(len == -1)) { if (!a) return; - while (*a && uchar(*a) < 0x80U) - *out++ = QLatin1Char(*a++); - if (!*a) - return; len = int(strlen(a)); - } else { - int i; - for (i = 0; i < len && uchar(a[i]) < 0x80U; ++i) - *out++ = QLatin1Char(a[i]); - if (i == len) - return; - a += i; - len -= i; } - - // we need to complement with UTF-8 appending out = QUtf8::convertToUnicode(out, a, len); } -- cgit v1.2.3 From f2ba6586a7589d8ab1f01749c82634f384a7ddad Mon Sep 17 00:00:00 2001 From: Louai Al-Khanji Date: Wed, 2 Mar 2016 11:29:06 -0800 Subject: xcb: Do not create OpenGL-enabled platform windows for raster windows Change-Id: I07d12441db6c7f289363417e21fec65bfcf08b78 Reviewed-by: Lars Knoll Reviewed-by: Laszlo Agocs --- src/plugins/platforms/xcb/qxcbintegration.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index 6e8755a220..a141882fc4 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -203,7 +203,7 @@ QPlatformWindow *QXcbIntegration::createPlatformWindow(QWindow *window) const { QXcbScreen *screen = static_cast(window->screen()->handle()); QXcbGlIntegration *glIntegration = screen->connection()->glIntegration(); - if (window->type() != Qt::Desktop) { + if (window->type() != Qt::Desktop && window->supportsOpenGL()) { if (glIntegration) { QXcbWindow *xcbWindow = glIntegration->createWindow(window); xcbWindow->create(); -- cgit v1.2.3 From 7b46cad5c944bf0b3fdde89e3cd736e0756569c6 Mon Sep 17 00:00:00 2001 From: Louai Al-Khanji Date: Wed, 2 Mar 2016 13:12:10 -0800 Subject: QXcbBackingStore: Minor code cleanup Change-Id: I5086e2031201b939b49603f17c373e414a91c32a Reviewed-by: Lars Knoll Reviewed-by: Laszlo Agocs --- src/plugins/platforms/xcb/qxcbbackingstore.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbbackingstore.cpp b/src/plugins/platforms/xcb/qxcbbackingstore.cpp index c4ee90e59f..2e04799998 100644 --- a/src/plugins/platforms/xcb/qxcbbackingstore.cpp +++ b/src/plugins/platforms/xcb/qxcbbackingstore.cpp @@ -147,14 +147,8 @@ QXcbShmImage::QXcbShmImage(QXcbScreen *screen, const QSize &size, uint depth, QI { Q_XCB_NOOP(connection()); - const xcb_setup_t *setup = xcb_get_setup(xcb_connection()); - xcb_format_t *fmt = xcb_setup_pixmap_formats(setup); - xcb_format_t *fmtend = fmt + xcb_setup_pixmap_formats_length(setup); - for (; fmt != fmtend; ++fmt) - if (fmt->depth == depth) - break; - - Q_ASSERT(fmt != fmtend); + const xcb_format_t *fmt = connection()->formatForDepth(depth); + Q_ASSERT(fmt); m_xcb_image = xcb_image_create(size.width(), size.height(), XCB_IMAGE_FORMAT_Z_PIXMAP, -- cgit v1.2.3 From 273ddd5b234a5f89f65a41b926378f73701926b9 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 3 Mar 2016 15:26:59 +0100 Subject: DirectWrite: Output correct error code on failure GetLastError() does not return the correct error code for the DirectWrite functions, they are returned by the function itself. Task-number: QTBUG-18711 Change-Id: I3931f58bb29a5f2dc4a5aa911ff16a873267d185 Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/qwindowsfontdatabase.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp index 05e5af418a..40ea92155a 100644 --- a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp +++ b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp @@ -1765,14 +1765,14 @@ QFontEngine *QWindowsFontDatabase::createEngine(const QFontDef &request, IDWriteFont *directWriteFont = 0; HRESULT hr = data->directWriteGdiInterop->CreateFontFromLOGFONT(&lf, &directWriteFont); if (FAILED(hr)) { - const QString errorString = qt_error_string(int(GetLastError())); + const QString errorString = qt_error_string(int(hr)); qWarning().noquote().nospace() << "DirectWrite: CreateFontFromLOGFONT() failed (" << errorString << ") for " << request << ' ' << lf << " dpi=" << dpi; } else { IDWriteFontFace *directWriteFontFace = NULL; hr = directWriteFont->CreateFontFace(&directWriteFontFace); if (FAILED(hr)) { - const QString errorString = qt_error_string(int(GetLastError())); + const QString errorString = qt_error_string(int(hr)); qWarning().noquote() << "DirectWrite: CreateFontFace() failed (" << errorString << ") for " << request << ' ' << lf << " dpi=" << dpi; } else { -- cgit v1.2.3 From 21c7421d4e86b6048f9c2c7a9a81ec4ff1ed278c Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 4 Mar 2016 11:44:05 +0100 Subject: Fix application fonts with DirectWrite font engine There is no way to add fonts to the system font collection with DirectWrite. Instead you have to write custom collections. But that would mean keeping two instances of the same font data in memory since we are already registering them for the GDI engine, and we have no way of knowing which engine will be used. When we at some point replace the GDI engine completely, we could implement this in the proper way, but for now, instead of looking up the equivalent to the LOGFONT in DirectWrite's system font collection, we look it up using GDI and then convert the HFONT to DirectWrite. [ChangeLog][Windows][Text] Fixed disabling hinting for application fonts, e.g. when automatic scaling by device pixel ratio is in effect. Task-number: QTBUG-18711 Change-Id: I5c1365ab956dfa23d4d687877d7440473ee03bb0 Reviewed-by: Konstantin Ritt Reviewed-by: Friedemann Kleint --- .../platforms/windows/qwindowsfontdatabase.cpp | 27 ++++++---- .../windows/qwindowsfontenginedirectwrite.cpp | 62 +--------------------- .../windows/qwindowsfontenginedirectwrite.h | 2 +- 3 files changed, 19 insertions(+), 72 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp index 40ea92155a..4be215ec8a 100644 --- a/src/plugins/platforms/windows/qwindowsfontdatabase.cpp +++ b/src/plugins/platforms/windows/qwindowsfontdatabase.cpp @@ -1762,28 +1762,35 @@ QFontEngine *QWindowsFontDatabase::createEngine(const QFontDef &request, lf.lfFaceName[nameSubstituteLength] = 0; } - IDWriteFont *directWriteFont = 0; - HRESULT hr = data->directWriteGdiInterop->CreateFontFromLOGFONT(&lf, &directWriteFont); - if (FAILED(hr)) { - const QString errorString = qt_error_string(int(hr)); - qWarning().noquote().nospace() << "DirectWrite: CreateFontFromLOGFONT() failed (" - << errorString << ") for " << request << ' ' << lf << " dpi=" << dpi; + HFONT hfont = CreateFontIndirect(&lf); + if (!hfont) { + qErrnoWarning("%s: CreateFontIndirect failed", __FUNCTION__); } else { + HGDIOBJ oldFont = SelectObject(data->hdc, hfont); + IDWriteFontFace *directWriteFontFace = NULL; - hr = directWriteFont->CreateFontFace(&directWriteFontFace); + HRESULT hr = data->directWriteGdiInterop->CreateFontFaceFromHdc(data->hdc, &directWriteFontFace); if (FAILED(hr)) { const QString errorString = qt_error_string(int(hr)); - qWarning().noquote() << "DirectWrite: CreateFontFace() failed (" + qWarning().noquote().nospace() << "DirectWrite: CreateFontFaceFromHDC() failed (" << errorString << ") for " << request << ' ' << lf << " dpi=" << dpi; } else { QWindowsFontEngineDirectWrite *fedw = new QWindowsFontEngineDirectWrite(directWriteFontFace, request.pixelSize, data); - fedw->initFontInfo(request, dpi, directWriteFont); + + wchar_t n[64]; + GetTextFace(data->hdc, 64, n); + + QFontDef fontDef = request; + fontDef.family = QString::fromWCharArray(n); + + fedw->initFontInfo(fontDef, dpi); fe = fedw; } - directWriteFont->Release(); + SelectObject(data->hdc, oldFont); + DeleteObject(hfont); } } #endif // QT_NO_DIRECTWRITE diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp index a7de0e1783..16c16fefbe 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp @@ -648,71 +648,11 @@ QFontEngine *QWindowsFontEngineDirectWrite::cloneWithSize(qreal pixelSize) const return fontEngine; } -// Dynamically resolve GetUserDefaultLocaleName, which is available from Windows -// Vista onwards. ### fixme 5.7: Consider reverting to direct linking. -typedef int (WINAPI *GetUserDefaultLocaleNamePtr)(LPWSTR, int); - -static inline GetUserDefaultLocaleNamePtr resolveGetUserDefaultLocaleName() -{ - QSystemLibrary library(QStringLiteral("kernel32")); - return (GetUserDefaultLocaleNamePtr)library.resolve("GetUserDefaultLocaleName"); -} - void QWindowsFontEngineDirectWrite::initFontInfo(const QFontDef &request, - int dpi, IDWriteFont *font) + int dpi) { fontDef = request; - IDWriteFontFamily *fontFamily = NULL; - HRESULT hr = font->GetFontFamily(&fontFamily); - - IDWriteLocalizedStrings *familyNames = NULL; - if (SUCCEEDED(hr)) - hr = fontFamily->GetFamilyNames(&familyNames); - - UINT32 index = 0; - - if (SUCCEEDED(hr)) { - BOOL exists = false; - - wchar_t localeName[LOCALE_NAME_MAX_LENGTH]; - static const GetUserDefaultLocaleNamePtr getUserDefaultLocaleName = resolveGetUserDefaultLocaleName(); - const int defaultLocaleSuccess = getUserDefaultLocaleName - ? getUserDefaultLocaleName(localeName, LOCALE_NAME_MAX_LENGTH) : 0; - if (defaultLocaleSuccess) - hr = familyNames->FindLocaleName(localeName, &index, &exists); - - if (SUCCEEDED(hr) && !exists) - hr = familyNames->FindLocaleName(L"en-us", &index, &exists); - - if (!exists) - index = 0; - } - - // Get the family name. - if (SUCCEEDED(hr)) { - UINT32 length = 0; - - hr = familyNames->GetStringLength(index, &length); - - if (SUCCEEDED(hr)) { - QVarLengthArray name(length+1); - - hr = familyNames->GetString(index, name.data(), name.size()); - - if (SUCCEEDED(hr)) - fontDef.family = QString::fromWCharArray(name.constData()); - } - } - - if (familyNames != NULL) - familyNames->Release(); - if (fontFamily) - fontFamily->Release(); - - if (FAILED(hr)) - qErrnoWarning(hr, "initFontInfo: Failed to get family name"); - if (fontDef.pointSize < 0) fontDef.pointSize = fontDef.pixelSize * 72. / dpi; else if (fontDef.pixelSize == -1) diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h index 07e040ed33..91de871311 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.h @@ -59,7 +59,7 @@ public: const QSharedPointer &d); ~QWindowsFontEngineDirectWrite(); - void initFontInfo(const QFontDef &request, int dpi, IDWriteFont *font); + void initFontInfo(const QFontDef &request, int dpi); QFixed lineThickness() const Q_DECL_OVERRIDE; QFixed underlinePosition() const Q_DECL_OVERRIDE; -- cgit v1.2.3 From 2263e5e0aac17d8489d5e41856b025e8e7904ec3 Mon Sep 17 00:00:00 2001 From: Andreas Holzammer Date: Thu, 3 Mar 2016 10:28:25 +0100 Subject: Fixing the SQLite3 build for WEC2013 again. The new version broke the build again -> fix it again. (cherry picked from commit af2f3bde4866005d512d694f205231714d6e25b3) Change-Id: Ifcc33fbd9f7d7e98901de5130a67501ba19d9895 Reviewed-by: Lars Knoll Reviewed-by: Kevin Funk --- ...ixing-the-SQLite3-build-for-WEC2013-again.patch | 33 ++++++++++++++++++++++ src/3rdparty/sqlite/sqlite3.c | 4 ++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch (limited to 'src') diff --git a/src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch b/src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch new file mode 100644 index 0000000000..2d92cfffa7 --- /dev/null +++ b/src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch @@ -0,0 +1,33 @@ +From c7bbe85015995c1e0627d88bac6fd5715b1338a0 Mon Sep 17 00:00:00 2001 +From: Bjoern Breitmeyer +Date: Fri, 3 Jul 2015 14:08:04 +0200 +Subject: [PATCH] Fixing the SQLite3 build for WEC2013 again. + +The new version broke the build again +-> fix it again. + +Change-Id: I75761d134d97a2784f1de5076412aa814fdf9bcd +--- + src/3rdparty/sqlite/sqlite3.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c +index 71f6c10..040a9e1 100644 +--- a/src/3rdparty/sqlite/sqlite3.c ++++ b/src/3rdparty/sqlite/sqlite3.c +@@ -15474,9 +15474,11 @@ static void clearYMD_HMS_TZ(DateTime *p){ + #define HAVE_LOCALTIME_S 1 + #endif + +-#if defined(_WIN32_WCE) ++#if defined(_WIN32_WCE) && _WIN32_WCE < 0x800 + #undef HAVE_LOCALTIME_S + struct tm *__cdecl localtime(const time_t *t); ++#elif defined(_WIN32_WCE) && _WIN32_WCE >= 0x800 ++# define SQLITE_MSVC_LOCALTIME_API 1 + #endif + + #ifndef SQLITE_OMIT_LOCALTIME +-- +1.8.1.msysgit.1 + diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c index 06f6d154f1..65379a822d 100644 --- a/src/3rdparty/sqlite/sqlite3.c +++ b/src/3rdparty/sqlite/sqlite3.c @@ -15742,9 +15742,11 @@ static void clearYMD_HMS_TZ(DateTime *p){ #define HAVE_LOCALTIME_S 1 #endif -#if defined(_WIN32_WCE) +#if defined(_WIN32_WCE) && _WIN32_WCE < 0x800 #undef HAVE_LOCALTIME_S struct tm *__cdecl localtime(const time_t *t); +#elif defined(_WIN32_WCE) && _WIN32_WCE >= 0x800 +# define SQLITE_MSVC_LOCALTIME_API 1 #endif #ifndef SQLITE_OMIT_LOCALTIME -- cgit v1.2.3 From eae6298202f7f258c18ff88949f07c82654b9f3d Mon Sep 17 00:00:00 2001 From: Louai Al-Khanji Date: Wed, 2 Mar 2016 13:17:43 -0800 Subject: xcb: support more visual formats Change-Id: I03e0fc5fdfbd7ce478ebc4b0ae8e72d57450bc51 Reviewed-by: Lars Knoll --- src/plugins/platforms/xcb/qxcbwindow.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 11202944bd..6ac28684a8 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -201,6 +201,20 @@ static inline QImage::Format imageFormatForVisual(int depth, quint32 red_mask, q case 16: if (blue_mask == 0x1f) return QImage::Format_RGB16; + if (red_mask == 0x1f) { + if (rgbSwap) + *rgbSwap = true; + return QImage::Format_RGB16; + } + break; + case 15: + if (blue_mask == 0x1f) + return QImage::Format_RGB555; + if (red_mask == 0x1f) { + if (rgbSwap) + *rgbSwap = true; + return QImage::Format_RGB555; + } break; default: break; -- cgit v1.2.3 From 4f577051676ad8ff161d481030f016d0c6bb324f Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 5 Mar 2016 00:34:01 +0100 Subject: Fix GCC 6 -Wunused-functions warnings GCC 6 is able to identify member functions that are unused. Remove them. Change-Id: Ic77548164b38a1cd3c957d2c57a5bccb979bc02e Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/gui/painting/qpathclipper.cpp | 8 -------- src/widgets/dialogs/qcolordialog.cpp | 15 --------------- src/widgets/widgets/qcalendarwidget.cpp | 6 ------ 3 files changed, 29 deletions(-) (limited to 'src') diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index 3a686bd209..a5557c99ff 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -252,8 +252,6 @@ class SegmentTree public: SegmentTree(QPathSegments &segments); - QRectF boundingRect() const; - void produceIntersections(int segment); private: @@ -304,12 +302,6 @@ SegmentTree::SegmentTree(QPathSegments &segments) m_tree[0] = root; } -QRectF SegmentTree::boundingRect() const -{ - return QRectF(QPointF(m_bounds.x1, m_bounds.y1), - QPointF(m_bounds.x2, m_bounds.y2)); -} - static inline qreal coordinate(const QPointF &pos, int axis) { return axis == 0 ? pos.x() : pos.y(); diff --git a/src/widgets/dialogs/qcolordialog.cpp b/src/widgets/dialogs/qcolordialog.cpp index 468bffe49e..9a8bfc552d 100644 --- a/src/widgets/dialogs/qcolordialog.cpp +++ b/src/widgets/dialogs/qcolordialog.cpp @@ -190,7 +190,6 @@ public: QSize sizeHint() const Q_DECL_OVERRIDE; virtual void setCellBrush(int row, int col, const QBrush &); - QBrush cellBrush(int row, int col); inline int cellWidth() const { return cellw; } @@ -459,20 +458,6 @@ void QWellArray::setCellBrush(int row, int col, const QBrush &b) d->brush[row*numCols()+col] = b; } -/* - Returns the brush set for the cell at \a row, \a column. If no brush is - set, Qt::NoBrush is returned. -*/ - -QBrush QWellArray::cellBrush(int row, int col) -{ - if (d && row >= 0 && row < numRows() && col >= 0 && col < numCols()) - return d->brush[row*numCols()+col]; - return Qt::NoBrush; -} - - - /*!\reimp */ diff --git a/src/widgets/widgets/qcalendarwidget.cpp b/src/widgets/widgets/qcalendarwidget.cpp index 48b224fe13..89cde851e5 100644 --- a/src/widgets/widgets/qcalendarwidget.cpp +++ b/src/widgets/widgets/qcalendarwidget.cpp @@ -654,7 +654,6 @@ public: int dateEditAcceptDelay() const; void setDateEditAcceptDelay(int delay); - QDate date() const; void setDate(const QDate &date); bool eventFilter(QObject *o, QEvent *e) Q_DECL_OVERRIDE; @@ -690,11 +689,6 @@ void QCalendarTextNavigator::setWidget(QWidget *widget) m_widget = widget; } -QDate QCalendarTextNavigator::date() const -{ - return m_date; -} - void QCalendarTextNavigator::setDate(const QDate &date) { m_date = date; -- cgit v1.2.3 From 362b977e7c99d47c9c598cef946273089881fd81 Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Thu, 10 Sep 2015 14:44:52 +0300 Subject: Expose the number of X screen through the QXcbScreenFunctions X screen corresponds to Qt virtual desktop, and RandR output corresponds to QScreen. There can be more than one X screen, so we need a way to get the number of X screen for QScreen, in particular for the right implementation of some methods in QX11Info. Change-Id: Ib5e38703bf11ae08bb283f26a7b7b15f1a5e8671 Reviewed-by: Shawn Rutledge --- .../xcbfunctions/qxcbscreenfunctions.h | 56 ++++++++++++++++++++++ src/platformheaders/xcbfunctions/xcbfunctions.pri | 3 +- src/plugins/platforms/xcb/qxcbnativeinterface.cpp | 5 ++ src/plugins/platforms/xcb/qxcbscreen.cpp | 8 ++++ src/plugins/platforms/xcb/qxcbscreen.h | 1 + 5 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 src/platformheaders/xcbfunctions/qxcbscreenfunctions.h (limited to 'src') diff --git a/src/platformheaders/xcbfunctions/qxcbscreenfunctions.h b/src/platformheaders/xcbfunctions/qxcbscreenfunctions.h new file mode 100644 index 0000000000..7773c275b9 --- /dev/null +++ b/src/platformheaders/xcbfunctions/qxcbscreenfunctions.h @@ -0,0 +1,56 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QXCBSCREENFUNCTIONS_H +#define QXCBSCREENFUNCTIONS_H + +#include + +QT_BEGIN_NAMESPACE + +class QScreen; + +class QXcbScreenFunctions +{ +public: + typedef bool (*VirtualDesktopNumber)(const QScreen *screen); + static const QByteArray virtualDesktopNumberIdentifier() { return QByteArrayLiteral("XcbVirtualDesktopNumber"); } + static int virtualDesktopNumber(const QScreen *screen) + { + return QPlatformHeaderHelper::callPlatformFunction(virtualDesktopNumberIdentifier(), screen); + } +}; + +QT_END_NAMESPACE + +#endif /*QXCBSCREENFUNCTIONS_H*/ diff --git a/src/platformheaders/xcbfunctions/xcbfunctions.pri b/src/platformheaders/xcbfunctions/xcbfunctions.pri index 7f611d80bd..3f2bcb2b34 100644 --- a/src/platformheaders/xcbfunctions/xcbfunctions.pri +++ b/src/platformheaders/xcbfunctions/xcbfunctions.pri @@ -1,3 +1,4 @@ HEADERS += \ $$PWD/qxcbwindowfunctions.h \ - $$PWD/qxcbintegrationfunctions.h + $$PWD/qxcbintegrationfunctions.h \ + $$PWD/qxcbscreenfunctions.h diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp index f6bd878bde..96239a0f20 100644 --- a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp +++ b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp @@ -48,6 +48,7 @@ #include #include +#include #ifndef QT_NO_DBUS #include "QtPlatformSupport/private/qdbusmenuconnection_p.h" @@ -367,6 +368,10 @@ QFunctionPointer QXcbNativeInterface::platformFunction(const QByteArray &functio if (function == QXcbWindowFunctions::visualIdIdentifier()) { return QFunctionPointer(QXcbWindowFunctions::VisualId(QXcbWindow::visualIdStatic)); } + + if (function == QXcbScreenFunctions::virtualDesktopNumberIdentifier()) + return QFunctionPointer(QXcbScreenFunctions::VirtualDesktopNumber(QXcbScreen::virtualDesktopNumberStatic)); + return Q_NULLPTR; } diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp index 28b1753712..1a90f824fc 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.cpp +++ b/src/plugins/platforms/xcb/qxcbscreen.cpp @@ -438,6 +438,14 @@ void QXcbScreen::setOutput(xcb_randr_output_t outputId, // TODO: Send an event to the QScreen instance that the screen changed its name } +int QXcbScreen::virtualDesktopNumberStatic(const QScreen *screen) +{ + if (screen && screen->handle()) + return static_cast(screen->handle())->screenNumber(); + + return 0; +} + /*! \brief handle the XCB screen change event and update properties diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h index f4de2b9dfd..7376ddf35c 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.h +++ b/src/plugins/platforms/xcb/qxcbscreen.h @@ -133,6 +133,7 @@ public: bool isPrimary() const { return m_primary; } int screenNumber() const { return m_virtualDesktop->number(); } + static int virtualDesktopNumberStatic(const QScreen *screen); xcb_screen_t *screen() const { return m_virtualDesktop->screen(); } xcb_window_t root() const { return screen()->root; } -- cgit v1.2.3 From d5fde514106f5479f9c929c8a165aced4a1b2c84 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Tue, 1 Mar 2016 13:17:13 +0100 Subject: QWheelEvent: make NoScrollPhase opt-in The fix for QTBUG-50199 involves adding an undocumented enum value which can be returned from QWheelEvent::phase(). This will be quite unexpected for applications that use it, which work fine with 5.6.0 and then start receiving this new phase value in 5.6.1. So it should not happen by default. Set the env variable QT_ENABLE_MOUSE_WHEEL_TRACKING to enable this functionality. In 5.7 it will be default behavior. But in 5.6 the default behavior is as it was before: if you use a conventional mouse wheel, the phase stays at ScrollUpdate continuously. [ChangeLog][QtCore] QWheelEvent::phase() returns 0 rather than Qt::ScrollUpdate when the wheel event comes from an actual non-emulated mouse wheel and the environment variable QT_ENABLE_MOUSE_WHEEL_TRACKING is set. In Qt 5.6, this is required to enable the fix for QTBUG-50199. Change-Id: Ieb2152ff767df24c42730d201235d1225aaec832 Reviewed-by: Gabriel de Dietrich Reviewed-by: Shawn Rutledge Reviewed-by: Alex Blasche --- src/gui/kernel/qevent.cpp | 9 ++++++++- src/gui/kernel/qguiapplication.cpp | 5 +++++ src/gui/kernel/qguiapplication_p.h | 3 +++ src/gui/kernel/qwindowsysteminterface.cpp | 11 +++++++++++ src/gui/kernel/qwindowsysteminterface_p.h | 3 +-- src/plugins/platforms/cocoa/qnsview.mm | 2 ++ src/widgets/kernel/qapplication.cpp | 2 +- 7 files changed, 31 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 8abec2b05e..9281744692 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -729,6 +729,8 @@ QWheelEvent::QWheelEvent(const QPointF &pos, int delta, : QInputEvent(Wheel, modifiers), p(pos), qt4D(delta), qt4O(orient), mouseState(buttons), ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized) { + if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) + ph = Qt::ScrollUpdate; g = QCursor::pos(); if (orient == Qt::Vertical) angleD = QPoint(0, delta); @@ -764,6 +766,8 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, int delta : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), qt4D(delta), qt4O(orient), mouseState(buttons), ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized) { + if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) + ph = Qt::ScrollUpdate; if (orient == Qt::Vertical) angleD = QPoint(0, delta); else @@ -800,7 +804,10 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), pixelD(pixelDelta), angleD(angleDelta), qt4D(qt4Delta), qt4O(qt4Orientation), mouseState(buttons), ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized) -{} +{ + if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) + ph = Qt::ScrollUpdate; +} /*! Constructs a wheel event object. diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 3fe6698955..3808bec8a4 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -186,6 +186,9 @@ bool QGuiApplicationPrivate::obey_desktop_settings = true; QInputDeviceManager *QGuiApplicationPrivate::m_inputDeviceManager = 0; +// enable the fix for QTBUG-50199; TODO remove this check in 5.7 +bool QGuiApplicationPrivate::scrollNoPhaseAllowed = false; + static qreal fontSmoothingGamma = 1.7; extern void qRegisterGuiVariant(); @@ -1412,6 +1415,8 @@ void QGuiApplicationPrivate::init() if (layout_direction == Qt::LayoutDirectionAuto || force_reverse) QGuiApplication::setLayoutDirection(qt_detectRTLLanguage() ? Qt::RightToLeft : Qt::LeftToRight); + + scrollNoPhaseAllowed = qEnvironmentVariableIsSet("QT_ENABLE_MOUSE_WHEEL_TRACKING"); } extern void qt_cleanupFontDatabase(); diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index 7c7da9790b..9c8b655c71 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -285,6 +285,9 @@ public: static void setApplicationState(Qt::ApplicationState state, bool forcePropagate = false); + // enable the fix for QTBUG-50199; TODO remove this check in 5.7 + static bool scrollNoPhaseAllowed; + protected: virtual void notifyThemeChanged(); bool tryCloseRemainingWindows(QWindowList processedWindows); diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 841e4f8f41..cae976098c 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -311,6 +311,9 @@ void QWindowSystemInterface::handleWheelEvent(QWindow *w, const QPointF & local, void QWindowSystemInterface::handleWheelEvent(QWindow *tlw, ulong timestamp, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods, Qt::ScrollPhase phase, Qt::MouseEventSource source) { + if (!QGuiApplicationPrivate::scrollNoPhaseAllowed && phase == Qt::NoScrollPhase) + phase = Qt::ScrollUpdate; + // Qt 4 sends two separate wheel events for horizontal and vertical // deltas. For Qt 5 we want to send the deltas in one event, but at the // same time preserve source and behavior compatibility with Qt 4. @@ -930,5 +933,13 @@ bool QWindowSystemEventHandler::sendEvent(QWindowSystemInterfacePrivate::WindowS return true; } +QWindowSystemInterfacePrivate::WheelEvent::WheelEvent(QWindow *w, ulong time, const QPointF &local, const QPointF &global, QPoint pixelD, + QPoint angleD, int qt4D, Qt::Orientation qt4O, Qt::KeyboardModifiers mods, Qt::ScrollPhase phase, Qt::MouseEventSource src) + : InputEvent(w, time, Wheel, mods), pixelDelta(pixelD), angleDelta(angleD), qt4Delta(qt4D), + qt4Orientation(qt4O), localPos(local), globalPos(global), + phase(!QGuiApplicationPrivate::scrollNoPhaseAllowed && phase == Qt::NoScrollPhase ? Qt::ScrollUpdate : phase), + source(src) +{ +} QT_END_NAMESPACE diff --git a/src/gui/kernel/qwindowsysteminterface_p.h b/src/gui/kernel/qwindowsysteminterface_p.h index c2569f29cd..b3c6d0d96d 100644 --- a/src/gui/kernel/qwindowsysteminterface_p.h +++ b/src/gui/kernel/qwindowsysteminterface_p.h @@ -236,8 +236,7 @@ public: class WheelEvent : public InputEvent { public: WheelEvent(QWindow *w, ulong time, const QPointF & local, const QPointF & global, QPoint pixelD, QPoint angleD, int qt4D, Qt::Orientation qt4O, - Qt::KeyboardModifiers mods, Qt::ScrollPhase phase = Qt::NoScrollPhase, Qt::MouseEventSource src = Qt::MouseEventNotSynthesized) - : InputEvent(w, time, Wheel, mods), pixelDelta(pixelD), angleDelta(angleD), qt4Delta(qt4D), qt4Orientation(qt4O), localPos(local), globalPos(global), phase(phase), source(src) { } + Qt::KeyboardModifiers mods, Qt::ScrollPhase phase = Qt::NoScrollPhase, Qt::MouseEventSource src = Qt::MouseEventNotSynthesized); QPoint pixelDelta; QPoint angleDelta; int qt4Delta; diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index cb119e7e0d..90a7004938 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -1409,6 +1409,8 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent) m_scrolling = false; } else if (phase == NSEventPhaseNone && momentumPhase == NSEventPhaseNone) { ph = Qt::NoScrollPhase; + if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) + ph = Qt::ScrollUpdate; } QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_screenPoint, pixelDelta, angleDelta, currentWheelModifiers, ph, source); diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 7c5a0da0c1..50e5ccf938 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -3341,7 +3341,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e) res = d->notify_helper(w, &we); eventAccepted = we.isAccepted(); if (res && eventAccepted) { - if (spontaneous && phase != Qt::NoScrollPhase) + if (spontaneous && phase != Qt::NoScrollPhase && QGuiApplicationPrivate::scrollNoPhaseAllowed) QApplicationPrivate::wheel_widget = w; break; } -- cgit v1.2.3 From ec29c76e18f3a30e559e9eb31dfcc20b80b9522c Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 5 Mar 2016 11:21:02 +0100 Subject: Fix UB in QFontEngineFT::loadGlyph() Reported by UBSan: src/gui/text/qfontengine_ft.cpp:1079:54: runtime error: null pointer passed as argument 1, which is declared to never be null The default-constructed QScopedArrayPointer is not reset() in every code path. In fact, in the code path leading to this memset, the only reset() call is in the if block right above it, so move the memset into the if block. Change-Id: I1f793c313ca56f3315c6bdd55456cb025cafc089 Reviewed-by: Konstantin Ritt --- src/gui/text/qfontengine_ft.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 0a0e174343..8fbeff3596 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -1073,8 +1073,8 @@ QFontEngineFT::Glyph *QFontEngineFT::loadGlyph(QGlyphSet *set, uint glyph, if (glyph_buffer_size < pitch * info.height) { glyph_buffer_size = pitch * info.height; glyph_buffer.reset(new uchar[glyph_buffer_size]); + memset(glyph_buffer.data(), 0, glyph_buffer_size); } - memset(glyph_buffer.data(), 0, glyph_buffer_size); if (slot->format == FT_GLYPH_FORMAT_OUTLINE) { FT_Bitmap bitmap; -- cgit v1.2.3 From 8135e52cb45bd24c288c29da470828fe4fe5e3de Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Wed, 2 Mar 2016 11:34:44 +0100 Subject: Fix MIPS DSP optimized fetchUntransformed These have been wrong since being introduced in 5.3. Change-Id: I5b4aa198c8d4c6726f1c5097abe8d43275722dab Reviewed-by: Ljubomir Papuga Reviewed-by: Gunnar Sletta --- src/gui/painting/qdrawhelper_mips_dsp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/gui/painting/qdrawhelper_mips_dsp.cpp b/src/gui/painting/qdrawhelper_mips_dsp.cpp index 721b228395..c28b594de3 100644 --- a/src/gui/painting/qdrawhelper_mips_dsp.cpp +++ b/src/gui/painting/qdrawhelper_mips_dsp.cpp @@ -489,7 +489,7 @@ void QT_FASTCALL comp_func_SourceOut_mips_dsp(uint *dest, const uint *src, int l const uint * QT_FASTCALL qt_fetchUntransformed_888_mips_dsp (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length) { - uchar *line = (uchar *)data->texture.scanLine(y) + x; + const uchar *line = data->texture.scanLine(y) + x * 3; fetchUntransformed_888_asm_mips_dsp(buffer, line, length); return buffer; } @@ -497,7 +497,7 @@ const uint * QT_FASTCALL qt_fetchUntransformed_888_mips_dsp (uint *buffer, const const uint * QT_FASTCALL qt_fetchUntransformed_444_mips_dsp (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length) { - uchar *line = (uchar *)data->texture.scanLine(y) + x; + const uchar *line = data->texture.scanLine(y) + x * 2; fetchUntransformed_444_asm_mips_dsp(buffer, line, length); return buffer; } @@ -505,7 +505,7 @@ const uint * QT_FASTCALL qt_fetchUntransformed_444_mips_dsp (uint *buffer, const const uint * QT_FASTCALL qt_fetchUntransformed_argb8565_premultiplied_mips_dsp (uint *buffer, const Operator *, const QSpanData *data, int y, int x, int length) { - uchar *line = (uchar *)data->texture.scanLine(y) + x; + const uchar *line = data->texture.scanLine(y) + x * 3; fetchUntransformed_argb8565_premultiplied_asm_mips_dsp(buffer, line, length); return buffer; } -- cgit v1.2.3 From bfdbfeb01233a76ea36f53c4f4be9014db5d8d86 Mon Sep 17 00:00:00 2001 From: HyungDon Lee Date: Wed, 24 Feb 2016 20:57:14 +0900 Subject: ODBC: Fix a memory leak when open() fails. When connection or login fails, the ODBC SQL driver was leaking memory. This bug has been present since Qt 4.8 and up. Task-number: QTBUG-51334 Change-Id: Ie17f3d575a08d47e047a65d1b30af9ce0789b2d0 Reviewed-by: Mark Brand --- src/sql/drivers/odbc/qsql_odbc.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp index 8db06e6831..8a3919267f 100644 --- a/src/sql/drivers/odbc/qsql_odbc.cpp +++ b/src/sql/drivers/odbc/qsql_odbc.cpp @@ -1879,11 +1879,14 @@ bool QODBCDriver::open(const QString & db, if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO) { qSqlWarning(QLatin1String("QODBCDriver::open: Unable to allocate connection"), d); setOpenError(true); + cleanup(); return false; } - if (!d->setConnectionOptions(connOpts)) + if (!d->setConnectionOptions(connOpts)) { + cleanup(); return false; + } // Create the connection string QString connQStr; @@ -1916,6 +1919,7 @@ bool QODBCDriver::open(const QString & db, if (r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO) { setLastError(qMakeError(tr("Unable to connect"), QSqlError::ConnectionError, d)); setOpenError(true); + cleanup(); return false; } @@ -1923,6 +1927,7 @@ bool QODBCDriver::open(const QString & db, setLastError(qMakeError(tr("Unable to connect - Driver doesn't support all " "functionality required"), QSqlError::ConnectionError, d)); setOpenError(true); + cleanup(); return false; } -- cgit v1.2.3 From 00f1c4ac3a0bbaac6996a0192abc3240972a34b5 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 22 Feb 2016 20:21:44 -0800 Subject: Silence the warning: Unhandled client message: "_GTK_LOAD_ICONTHEMES" Qt Creator keeps printing that warning. Change-Id: I0c94a5c2846b48c8aea7ffff1435775f04234656 Reviewed-by: Shawn Rutledge Reviewed-by: Laszlo Agocs --- src/plugins/platforms/xcb/qxcbconnection.cpp | 4 +++- src/plugins/platforms/xcb/qxcbconnection.h | 1 + src/plugins/platforms/xcb/qxcbwindow.cpp | 5 +++-- 3 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp index b9f6df1104..05c02249cc 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection.cpp @@ -1954,7 +1954,9 @@ static const char * xcb_atomnames = { "_COMPIZ_DECOR_PENDING\0" "_COMPIZ_DECOR_REQUEST\0" "_COMPIZ_DECOR_DELETE_PIXMAP\0" - "_COMPIZ_TOOLKIT_ACTION\0" // \0\0 terminates loop. + "_COMPIZ_TOOLKIT_ACTION\0" + "_GTK_LOAD_ICONTHEMES\0" + // \0\0 terminates loop. }; QXcbAtom::Atom QXcbConnection::qatom(xcb_atom_t xatom) const diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h index b799e46a36..47ef173cf4 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.h +++ b/src/plugins/platforms/xcb/qxcbconnection.h @@ -288,6 +288,7 @@ namespace QXcbAtom { _COMPIZ_DECOR_REQUEST, _COMPIZ_DECOR_DELETE_PIXMAP, _COMPIZ_TOOLKIT_ACTION, + _GTK_LOAD_ICONTHEMES, NPredefinedAtoms, diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 7eae2d92ab..bfbc38e4c2 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -2033,8 +2033,9 @@ void QXcbWindow::handleClientMessageEvent(const xcb_client_message_event_t *even } else if (event->type == atom(QXcbAtom::_COMPIZ_DECOR_PENDING) || event->type == atom(QXcbAtom::_COMPIZ_DECOR_REQUEST) || event->type == atom(QXcbAtom::_COMPIZ_DECOR_DELETE_PIXMAP) - || event->type == atom(QXcbAtom::_COMPIZ_TOOLKIT_ACTION)) { - //silence the _COMPIZ messages for now + || event->type == atom(QXcbAtom::_COMPIZ_TOOLKIT_ACTION) + || event->type == atom(QXcbAtom::_GTK_LOAD_ICONTHEMES)) { + //silence the _COMPIZ and _GTK messages for now } else { qWarning() << "QXcbWindow: Unhandled client message:" << connection()->atomName(event->type); } -- cgit v1.2.3 From 559152d911ceff8af5020355b35d7a1da100398c Mon Sep 17 00:00:00 2001 From: Alexander Volkov Date: Thu, 18 Sep 2014 13:13:21 +0400 Subject: Make an implicit grab on TouchBegin for a widget subscribed to a gesture A receiver of TouchUpdate and TouchEnd events is determined either as a widget which has an implicit grab for the touch point or as a visible widget if there are no implicit grabs. The events are sent if the receiver has accepted TouchBegin event or if it is subscribed to a gesture. Before sending the events to the widget they are delivered to the gesture manager. Thus, in order to detect gestures for the widget, it must own an implicit grab or be a visible widget. It can happen that the parent widget is subscribed to a gesture, but doesn't accept TouchBegin event, as in the case of QScrollArea. Then it will not get an implicit grab and gesture detection will be impossible. Activate an implicit grab for such widgets. Also don't send TouchUpdate and TouchEnd to them, because it's against the documentation. Task-number: QTBUG-43277 Change-Id: Id767583991def6d76c48ad15eb39af822cad115d Reviewed-by: Shawn Rutledge --- src/widgets/kernel/qapplication.cpp | 52 +++++++++++++++++++++++++++++++------ src/widgets/kernel/qapplication_p.h | 1 + 2 files changed, 45 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 50e5ccf938..f7d4139ed8 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -3548,6 +3548,10 @@ bool QApplication::notify(QObject *receiver, QEvent *e) QApplicationPrivate::giveFocusAccordingToFocusPolicy(widget, e, localPos); } +#ifndef QT_NO_GESTURES + QPointer gesturePendingWidget; +#endif + while (widget) { // first, try to deliver the touch event acceptTouchEvents = widget->testAttribute(Qt::WA_AcceptTouchEvents); @@ -3565,14 +3569,16 @@ bool QApplication::notify(QObject *receiver, QEvent *e) touchEvent->spont = false; if (res && eventAccepted) { // the first widget to accept the TouchBegin gets an implicit grab. - for (int i = 0; i < touchEvent->touchPoints().count(); ++i) { - const QTouchEvent::TouchPoint &touchPoint = touchEvent->touchPoints().at(i); - d->activeTouchPoints[QGuiApplicationPrivate::ActiveTouchPointsKey(touchEvent->device(), touchPoint.id())].target = widget; - } - break; - } else if (p.isNull() || widget->isWindow() || widget->testAttribute(Qt::WA_NoMousePropagation)) { + d->activateImplicitTouchGrab(widget, touchEvent); break; } +#ifndef QT_NO_GESTURES + if (gesturePendingWidget.isNull() && widget && QGestureManager::gesturePending(widget)) + gesturePendingWidget = widget; +#endif + if (p.isNull() || widget->isWindow() || widget->testAttribute(Qt::WA_NoMousePropagation)) + break; + QPoint offset = widget->pos(); widget = widget->parentWidget(); touchEvent->setTarget(widget); @@ -3586,9 +3592,27 @@ bool QApplication::notify(QObject *receiver, QEvent *e) } } +#ifndef QT_NO_GESTURES + if (!eventAccepted && !gesturePendingWidget.isNull()) { + // the first widget subscribed to a gesture gets an implicit grab + d->activateImplicitTouchGrab(gesturePendingWidget, touchEvent); + } +#endif + touchEvent->setAccepted(eventAccepted); break; } + case QEvent::TouchUpdate: + case QEvent::TouchEnd: + { + QWidget *widget = static_cast(receiver); + // We may get here if the widget is subscribed to a gesture, + // but has not accepted TouchBegin. Propagate touch events + // only if TouchBegin has been accepted. + if (widget && widget->testAttribute(Qt::WA_WState_AcceptedTouchBeginEvent)) + res = d->notify_helper(widget, e); + break; + } case QEvent::RequestSoftwareInputPanel: inputMethod()->show(); break; @@ -4328,6 +4352,17 @@ QWidget *QApplicationPrivate::findClosestTouchPointTarget(QTouchDevice *device, return static_cast(closestTarget); } +void QApplicationPrivate::activateImplicitTouchGrab(QWidget *widget, QTouchEvent *touchEvent) +{ + if (touchEvent->type() != QEvent::TouchBegin) + return; + + for (int i = 0, tc = touchEvent->touchPoints().count(); i < tc; ++i) { + const QTouchEvent::TouchPoint &touchPoint = touchEvent->touchPoints().at(i); + activeTouchPoints[QGuiApplicationPrivate::ActiveTouchPointsKey(touchEvent->device(), touchPoint.id())].target = widget; + } +} + bool QApplicationPrivate::translateRawTouchEvent(QWidget *window, QTouchDevice *device, const QList &touchPoints, @@ -4458,10 +4493,11 @@ bool QApplicationPrivate::translateRawTouchEvent(QWidget *window, || QGestureManager::gesturePending(widget) #endif ) { - if (touchEvent.type() == QEvent::TouchEnd) - widget->setAttribute(Qt::WA_WState_AcceptedTouchBeginEvent, false); if (QApplication::sendSpontaneousEvent(widget, &touchEvent) && touchEvent.isAccepted()) accepted = true; + // widget can be deleted on TouchEnd + if (touchEvent.type() == QEvent::TouchEnd && !widget.isNull()) + widget->setAttribute(Qt::WA_WState_AcceptedTouchBeginEvent, false); } break; } diff --git a/src/widgets/kernel/qapplication_p.h b/src/widgets/kernel/qapplication_p.h index 4cce2d84e8..cb158011f0 100644 --- a/src/widgets/kernel/qapplication_p.h +++ b/src/widgets/kernel/qapplication_p.h @@ -282,6 +282,7 @@ public: QWidget *findClosestTouchPointTarget(QTouchDevice *device, const QTouchEvent::TouchPoint &touchPoint); void appendTouchPoint(const QTouchEvent::TouchPoint &touchPoint); void removeTouchPoint(int touchPointId); + void activateImplicitTouchGrab(QWidget *widget, QTouchEvent *touchBeginEvent); static bool translateRawTouchEvent(QWidget *widget, QTouchDevice *device, const QList &touchPoints, -- cgit v1.2.3 From a90485dd01bd6c067bf977cb30604032352da6be Mon Sep 17 00:00:00 2001 From: Samuel Gaist Date: Wed, 20 Jan 2016 10:46:00 +0100 Subject: Make use of defaultDropAction in QListView icon mode Before this patch, using setDefaultDropAction on QListView in icon mode would not have any effect. Now the drag behaves properly. The default action is set to CopyAction rather than IgnoreAction to keep the current behavior and avoid breaking user code. [ChangeLog][QtWidgets][QListWidget] Fixed a bug that caused the default drop action to be ignored when using icon mode. Task-number: QTBUG-15741 Change-Id: I49654cde382af344ffc4594699303c928e27e05d Reviewed-by: Marc Mutz --- src/widgets/itemviews/qlistview.cpp | 7 ++++++- src/widgets/itemviews/qlistview_p.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index a17d89e735..18ea19c8b9 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -1978,6 +1978,11 @@ int QCommonListViewBase::horizontalScrollToValue(const int /*index*/, QListView: /* * ListMode ListView Implementation */ +QListModeViewBase::QListModeViewBase(QListView *q, QListViewPrivate *d) + : QCommonListViewBase(q, d) +{ + dd->defaultDropAction = Qt::CopyAction; +} #ifndef QT_NO_DRAGANDDROP QAbstractItemView::DropIndicatorPosition QListModeViewBase::position(const QPoint &pos, const QRect &rect, const QModelIndex &index) const @@ -2744,7 +2749,7 @@ bool QIconModeViewBase::filterStartDrag(Qt::DropActions supportedActions) drag->setMimeData(dd->model->mimeData(indexes)); drag->setPixmap(pixmap); drag->setHotSpot(dd->pressedPosition - rect.topLeft()); - Qt::DropAction action = drag->exec(supportedActions, Qt::CopyAction); + Qt::DropAction action = drag->exec(supportedActions, dd->defaultDropAction); draggedItems.clear(); if (action == Qt::MoveAction) dd->clearOrRemove(); diff --git a/src/widgets/itemviews/qlistview_p.h b/src/widgets/itemviews/qlistview_p.h index 62fa45e640..d1ea6fe328 100644 --- a/src/widgets/itemviews/qlistview_p.h +++ b/src/widgets/itemviews/qlistview_p.h @@ -193,7 +193,7 @@ public: class QListModeViewBase : public QCommonListViewBase { public: - QListModeViewBase(QListView *q, QListViewPrivate *d) : QCommonListViewBase(q, d) {} + QListModeViewBase(QListView *q, QListViewPrivate *d); QVector flowPositions; QVector segmentPositions; -- cgit v1.2.3 From 5e68c84ca6d619f51292aab4ee6dc6c6ed69438a Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 6 Mar 2016 01:29:28 +0100 Subject: QPlatformPrintDevice: fix uninit'ed member variable Found by UBSan: src/printsupport/kernel/qplatformprintdevice.cpp:370:10: runtime error: load of value 196, which is not a valid value for type 'bool' Change-Id: I184e5bf5e4917eeb492b54fe87950bcf03421887 Reviewed-by: Lars Knoll --- src/printsupport/kernel/qplatformprintdevice.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/printsupport/kernel/qplatformprintdevice.cpp b/src/printsupport/kernel/qplatformprintdevice.cpp index 6385f58aa1..802a12603a 100644 --- a/src/printsupport/kernel/qplatformprintdevice.cpp +++ b/src/printsupport/kernel/qplatformprintdevice.cpp @@ -53,6 +53,9 @@ QPlatformPrintDevice::QPlatformPrintDevice() m_haveOutputBins(false), m_haveDuplexModes(false), m_haveColorModes(false) +#ifndef QT_NO_MIMETYPES + , m_haveMimeTypes(false) +#endif { } @@ -68,6 +71,9 @@ QPlatformPrintDevice::QPlatformPrintDevice(const QString &id) m_haveOutputBins(false), m_haveDuplexModes(false), m_haveColorModes(false) +#ifndef QT_NO_MIMETYPES + , m_haveMimeTypes(false) +#endif { } -- cgit v1.2.3 From 65ec933f91dd9ac95679c24c830533953e384991 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 5 Mar 2016 11:09:52 +0100 Subject: QCompleter: QMatchData: init all fields in default ctor Found by UBSan: src/widgets/util/qcompleter_p.h:130:8: runtime error: load of value 249, which is not a valid value for type 'bool' Change-Id: I0529e54e17a6f4d6add91786a2d5687f2d043531 Reviewed-by: Milian Wolff --- src/widgets/util/qcompleter_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/widgets/util/qcompleter_p.h b/src/widgets/util/qcompleter_p.h index b100f24f9b..afcdfe7aa2 100644 --- a/src/widgets/util/qcompleter_p.h +++ b/src/widgets/util/qcompleter_p.h @@ -122,7 +122,7 @@ private: }; struct QMatchData { - QMatchData() : exactMatchIndex(-1) { } + QMatchData() : exactMatchIndex(-1), partial(false) { } QMatchData(const QIndexMapper& indices, int em, bool p) : indices(indices), exactMatchIndex(em), partial(p) { } QIndexMapper indices; -- cgit v1.2.3 From bcd88d8e9984bff664740aae3cff708a069dbbdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Tue, 7 Jan 2014 12:54:03 +0100 Subject: Add QWheelEvent::inverted() Some consumers of wheel events need to know if the scrolling direction is inverted in order to provide consistent behavior. For example, the scrolling direction of a horizontal slider should not change when the user toggles the "natural scrolling" setting on OS X. In this case the inverted bit will change state and the slider can compensate. This change adds a bit to QWheelEvent and sets it on OS X. Task-number: QTBUG-35972 Change-Id: I221435dea45d436d570b113bd0e24ee6f6832211 Reviewed-by: Shawn Rutledge --- src/gui/kernel/qevent.cpp | 82 ++++++++++++++++++++++++++++--- src/gui/kernel/qevent.h | 7 ++- src/gui/kernel/qguiapplication.cpp | 3 +- src/gui/kernel/qwindowsysteminterface.cpp | 12 +++-- src/gui/kernel/qwindowsysteminterface.h | 3 +- src/gui/kernel/qwindowsysteminterface_p.h | 5 +- src/plugins/platforms/cocoa/qnsview.mm | 4 +- src/widgets/itemviews/qlistview.cpp | 2 +- src/widgets/kernel/qapplication.cpp | 2 +- src/widgets/kernel/qwidgetwindow.cpp | 2 +- src/widgets/widgets/qabstractslider.cpp | 2 + 11 files changed, 102 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 98499c11ac..78a4dc4f35 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -701,6 +701,31 @@ QHoverEvent::~QHoverEvent() \sa Qt::MouseEventSource */ +/*! + \fn bool QWheelEvent::inverted() const + \since 5.7 + + Returns whether the delta values delivered with the event are inverted. + + Normally, a vertical wheel will produce a QWheelEvent with positive delta + values if the top of the wheel is rotating away from the hand operating it. + Similarly, a horizontal wheel movement will produce a QWheelEvent with + positive delta values if the top of the wheel is moved to the left. + + However, on some platforms this is configurable, so that the same + operations described above will produce negative delta values (but with the + same magnitude). With the inverted property a wheel event consumer can + choose to always follow the direction of the wheel, regardless of the + system settings, but only for specific widgets. (One such use case could be + that the user is rotating the wheel in the same direction as a visual + Tumbler rotates. Another usecase is to make a slider handle follow the + direction of movement of fingers on a touchpad regardless of system + configuration.) + + \note Many platforms provide no such information. On such platforms + \l inverted always returns false. +*/ + /*! \fn Qt::Orientation QWheelEvent::orientation() const \obsolete @@ -734,7 +759,7 @@ QWheelEvent::QWheelEvent(const QPointF &pos, int delta, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::Orientation orient) : QInputEvent(Wheel, modifiers), p(pos), qt4D(delta), qt4O(orient), mouseState(buttons), - ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized) + ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized), invertedScrolling(false) { g = QCursor::pos(); if (orient == Qt::Vertical) @@ -769,7 +794,7 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, int delta Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::Orientation orient) : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), qt4D(delta), qt4O(orient), mouseState(buttons), - ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized) + ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized), invertedScrolling(false) { if (orient == Qt::Vertical) angleD = QPoint(0, delta); @@ -806,7 +831,7 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers) : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), pixelD(pixelDelta), angleD(angleDelta), qt4D(qt4Delta), qt4O(qt4Orientation), mouseState(buttons), ph(Qt::NoScrollPhase), - src(Qt::MouseEventNotSynthesized) + src(Qt::MouseEventNotSynthesized), invertedScrolling(false) {} /*! @@ -837,15 +862,14 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase) : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), pixelD(pixelDelta), angleD(angleDelta), qt4D(qt4Delta), qt4O(qt4Orientation), mouseState(buttons), ph(phase), - src(Qt::MouseEventNotSynthesized) + src(Qt::MouseEventNotSynthesized), invertedScrolling(false) {} /*! Constructs a wheel event object. - The \a pos provides the location of the mouse cursor - within the window. The position in global coordinates is specified - by \a globalPos. + The \a pos provides the location of the mouse cursor within the window. The + position in global coordinates is specified by \a globalPos. \a pixelDelta contains the scrolling distance in pixels on screen, while \a angleDelta contains the wheel rotation distance. \a pixelDelta is @@ -873,7 +897,49 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source) : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), pixelD(pixelDelta), - angleD(angleDelta), qt4D(qt4Delta), qt4O(qt4Orientation), mouseState(buttons), ph(phase), src(source) + angleD(angleDelta), qt4D(qt4Delta), qt4O(qt4Orientation), mouseState(buttons), ph(phase), src(source), + invertedScrolling(false) +{} + +/*! + Constructs a wheel event object. + + The \a pos provides the location of the mouse cursor + within the window. The position in global coordinates is specified + by \a globalPos. + + \a pixelDelta contains the scrolling distance in pixels on screen, while + \a angleDelta contains the wheel rotation distance. \a pixelDelta is + optional and can be null. + + The mouse and keyboard states at the time of the event are specified by + \a buttons and \a modifiers. + + For backwards compatibility, the event can also hold monodirectional wheel + event data: \a qt4Delta specifies the rotation, and \a qt4Orientation the + direction. + + The scrolling phase of the event is specified by \a phase. + + If the wheel event comes from a physical mouse wheel, \a source is set to + Qt::MouseEventNotSynthesized. If it comes from a gesture detected by the + operating system, or from a non-mouse hardware device, such that \a + pixelDelta is directly related to finger movement, \a source is set to + Qt::MouseEventSynthesizedBySystem. If it comes from Qt, source would be set + to Qt::MouseEventSynthesizedByQt. + + If the system is configured to invert the delta values delivered with the + event (such as natural scrolling of the touchpad on OS X), \a inverted + should be \c true. Otherwise, \a inverted is \c false + + \sa posF(), globalPosF(), angleDelta(), pixelDelta(), phase() +*/ +QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, + QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, + Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted) + : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), pixelD(pixelDelta), + angleD(angleDelta), qt4D(qt4Delta), qt4O(qt4Orientation), mouseState(buttons), ph(phase), src(source), + invertedScrolling(inverted) {} #endif // QT_NO_WHEELEVENT diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 5752869cab..0a207667ad 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -187,6 +187,9 @@ public: QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source); + QWheelEvent(const QPointF &pos, const QPointF &globalPos, QPoint pixelDelta, QPoint angleDelta, + int qt4Delta, Qt::Orientation qt4Orientation, Qt::MouseButtons buttons, + Qt::KeyboardModifiers modifiers, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool inverted); ~QWheelEvent(); @@ -210,6 +213,7 @@ public: inline Qt::MouseButtons buttons() const { return mouseState; } inline Qt::ScrollPhase phase() const { return Qt::ScrollPhase(ph); } + inline bool inverted() const { return invertedScrolling; } Qt::MouseEventSource source() const { return Qt::MouseEventSource(src); } @@ -223,7 +227,8 @@ protected: Qt::MouseButtons mouseState; uint ph : 2; uint src: 2; - int reserved : 28; + bool invertedScrolling : 1; + int reserved : 27; friend class QApplication; }; diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 057450374d..3f3ed87944 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -1974,7 +1974,8 @@ void QGuiApplicationPrivate::processWheelEvent(QWindowSystemInterfacePrivate::Wh return; } - QWheelEvent ev(localPoint, globalPoint, e->pixelDelta, e->angleDelta, e->qt4Delta, e->qt4Orientation, buttons, e->modifiers, e->phase, e->source); + QWheelEvent ev(localPoint, globalPoint, e->pixelDelta, e->angleDelta, e->qt4Delta, e->qt4Orientation, + buttons, e->modifiers, e->phase, e->source, e->inverted); ev.setTimestamp(e->timestamp); QGuiApplication::sendSpontaneousEvent(window, &ev); #endif /* ifndef QT_NO_WHEELEVENT */ diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 39bc161a7c..7547e58346 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -315,7 +315,8 @@ void QWindowSystemInterface::handleWheelEvent(QWindow *w, const QPointF & local, handleWheelEvent(w, time, local, global, pixelDelta, angleDelta, mods, phase, source); } -void QWindowSystemInterface::handleWheelEvent(QWindow *tlw, ulong timestamp, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods, Qt::ScrollPhase phase, Qt::MouseEventSource source) +void QWindowSystemInterface::handleWheelEvent(QWindow *tlw, ulong timestamp, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods, Qt::ScrollPhase phase, + Qt::MouseEventSource source, bool invertedScrolling) { // Qt 4 sends two separate wheel events for horizontal and vertical // deltas. For Qt 5 we want to send the deltas in one event, but at the @@ -333,14 +334,15 @@ void QWindowSystemInterface::handleWheelEvent(QWindow *tlw, ulong timestamp, con // Simple case: vertical deltas only: if (angleDelta.y() != 0 && angleDelta.x() == 0) { - e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), pixelDelta, angleDelta, angleDelta.y(), Qt::Vertical, mods, phase, source); + e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), pixelDelta, angleDelta, angleDelta.y(), Qt::Vertical, + mods, phase, source, invertedScrolling); QWindowSystemInterfacePrivate::handleWindowSystemEvent(e); return; } // Simple case: horizontal deltas only: if (angleDelta.y() == 0 && angleDelta.x() != 0) { - e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), pixelDelta, angleDelta, angleDelta.x(), Qt::Horizontal, mods, phase, source); + e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), pixelDelta, angleDelta, angleDelta.x(), Qt::Horizontal, mods, phase, source, invertedScrolling); QWindowSystemInterfacePrivate::handleWindowSystemEvent(e); return; } @@ -348,12 +350,12 @@ void QWindowSystemInterface::handleWheelEvent(QWindow *tlw, ulong timestamp, con // Both horizontal and vertical deltas: Send two wheel events. // The first event contains the Qt 5 pixel and angle delta as points, // and in addition the Qt 4 compatibility vertical angle delta. - e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), pixelDelta, angleDelta, angleDelta.y(), Qt::Vertical, mods, phase, source); + e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), pixelDelta, angleDelta, angleDelta.y(), Qt::Vertical, mods, phase, source, invertedScrolling); QWindowSystemInterfacePrivate::handleWindowSystemEvent(e); // The second event contains null pixel and angle points and the // Qt 4 compatibility horizontal angle delta. - e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), QPoint(), QPoint(), angleDelta.x(), Qt::Horizontal, mods, phase, source); + e = new QWindowSystemInterfacePrivate::WheelEvent(tlw, timestamp, QHighDpi::fromNativeLocalPosition(local, tlw), QHighDpi::fromNativePixels(global, tlw), QPoint(), QPoint(), angleDelta.x(), Qt::Horizontal, mods, phase, source, invertedScrolling); QWindowSystemInterfacePrivate::handleWindowSystemEvent(e); } diff --git a/src/gui/kernel/qwindowsysteminterface.h b/src/gui/kernel/qwindowsysteminterface.h index 66a4afb085..eff3986788 100644 --- a/src/gui/kernel/qwindowsysteminterface.h +++ b/src/gui/kernel/qwindowsysteminterface.h @@ -109,7 +109,8 @@ public: QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods = Qt::NoModifier, Qt::ScrollPhase phase = Qt::NoScrollPhase, - Qt::MouseEventSource source = Qt::MouseEventNotSynthesized); + Qt::MouseEventSource source = Qt::MouseEventNotSynthesized, + bool inverted = false); // Wheel event compatibility functions. Will be removed: do not use. static void handleWheelEvent(QWindow *w, const QPointF & local, const QPointF & global, int d, Qt::Orientation o, Qt::KeyboardModifiers mods = Qt::NoModifier); diff --git a/src/gui/kernel/qwindowsysteminterface_p.h b/src/gui/kernel/qwindowsysteminterface_p.h index 523aa984a9..4bb0e83a97 100644 --- a/src/gui/kernel/qwindowsysteminterface_p.h +++ b/src/gui/kernel/qwindowsysteminterface_p.h @@ -242,8 +242,8 @@ public: class WheelEvent : public InputEvent { public: WheelEvent(QWindow *w, ulong time, const QPointF & local, const QPointF & global, QPoint pixelD, QPoint angleD, int qt4D, Qt::Orientation qt4O, - Qt::KeyboardModifiers mods, Qt::ScrollPhase phase = Qt::NoScrollPhase, Qt::MouseEventSource src = Qt::MouseEventNotSynthesized) - : InputEvent(w, time, Wheel, mods), pixelDelta(pixelD), angleDelta(angleD), qt4Delta(qt4D), qt4Orientation(qt4O), localPos(local), globalPos(global), phase(phase), source(src) { } + Qt::KeyboardModifiers mods, Qt::ScrollPhase phase = Qt::NoScrollPhase, Qt::MouseEventSource src = Qt::MouseEventNotSynthesized, bool inverted = false) + : InputEvent(w, time, Wheel, mods), pixelDelta(pixelD), angleDelta(angleD), qt4Delta(qt4D), qt4Orientation(qt4O), localPos(local), globalPos(global), phase(phase), source(src), inverted(inverted) { } QPoint pixelDelta; QPoint angleDelta; int qt4Delta; @@ -252,6 +252,7 @@ public: QPointF globalPos; Qt::ScrollPhase phase; Qt::MouseEventSource source; + bool inverted; }; class KeyEvent : public InputEvent { diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index fbcaf0b1d0..aaa00014dd 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -1413,8 +1413,10 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent) } else if (phase == NSEventPhaseNone && momentumPhase == NSEventPhaseNone) { ph = Qt::NoScrollPhase; } + // "isInverted": natural OS X scrolling, inverted from the Qt/other platform/Jens perspective. + bool isInverted = [theEvent isDirectionInvertedFromDevice]; - QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_screenPoint, pixelDelta, angleDelta, currentWheelModifiers, ph, source); + QWindowSystemInterface::handleWheelEvent(m_window, qt_timestamp, qt_windowPoint, qt_screenPoint, pixelDelta, angleDelta, currentWheelModifiers, ph, source, isInverted); } #endif //QT_NO_WHEELEVENT diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 646ab58e3d..1f33649668 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -822,7 +822,7 @@ void QListView::wheelEvent(QWheelEvent *e) QPoint pixelDelta(e->pixelDelta().y(), e->pixelDelta().x()); QPoint angleDelta(e->angleDelta().y(), e->angleDelta().x()); QWheelEvent hwe(e->pos(), e->globalPos(), pixelDelta, angleDelta, e->delta(), - Qt::Horizontal, e->buttons(), e->modifiers(), e->phase()); + Qt::Horizontal, e->buttons(), e->modifiers(), e->phase(), e->source(), e->inverted()); if (e->spontaneous()) qt_sendSpontaneousEvent(d->hbar, &hwe); else diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 2d23bb61a2..1d5bdc2db7 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -3331,7 +3331,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e) QApplicationPrivate::giveFocusAccordingToFocusPolicy(w, e, relpos); QWheelEvent we(relpos, wheel->globalPos(), wheel->pixelDelta(), wheel->angleDelta(), wheel->delta(), wheel->orientation(), wheel->buttons(), - wheel->modifiers(), phase, wheel->source()); + wheel->modifiers(), phase, wheel->source(), wheel->inverted()); bool eventAccepted; while (w) { we.spont = spontaneous && w == receiver; diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp index 6a3785ea03..def371c36e 100644 --- a/src/widgets/kernel/qwidgetwindow.cpp +++ b/src/widgets/kernel/qwidgetwindow.cpp @@ -776,7 +776,7 @@ void QWidgetWindow::handleWheelEvent(QWheelEvent *event) QPoint mapped = widget->mapFrom(rootWidget, pos); - QWheelEvent translated(mapped, event->globalPos(), event->pixelDelta(), event->angleDelta(), event->delta(), event->orientation(), event->buttons(), event->modifiers(), event->phase(), event->source()); + QWheelEvent translated(mapped, event->globalPos(), event->pixelDelta(), event->angleDelta(), event->delta(), event->orientation(), event->buttons(), event->modifiers(), event->phase(), event->source(), event->inverted()); QGuiApplication::sendSpontaneousEvent(widget, &translated); } diff --git a/src/widgets/widgets/qabstractslider.cpp b/src/widgets/widgets/qabstractslider.cpp index d7d83c7821..13e7a6e5cf 100644 --- a/src/widgets/widgets/qabstractslider.cpp +++ b/src/widgets/widgets/qabstractslider.cpp @@ -758,6 +758,8 @@ void QAbstractSlider::wheelEvent(QWheelEvent * e) Q_D(QAbstractSlider); e->ignore(); int delta = e->delta(); + if (e->inverted()) + delta = -delta; if (d->scrollByDelta(e->orientation(), e->modifiers(), delta)) e->accept(); } -- cgit v1.2.3 From 393f096ec3bb62a9c7de77288cd9fbe75412ebdd Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Thu, 25 Feb 2016 18:35:21 +0400 Subject: Bundled HarfBuzz: simplify the built-in shapers list configuration Change-Id: If7819b5b6ad23e319bfedeb4c9e1e12054b216a7 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro | 106 ++++++++++++++++--------------- 1 file changed, 56 insertions(+), 50 deletions(-) (limited to 'src') diff --git a/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro index edfc0e7954..163842e8fc 100644 --- a/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro +++ b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro @@ -7,8 +7,12 @@ CONFIG += \ load(qt_helper_lib) +# built-in shapers list configuration: +SHAPERS += opentype # HB's main shaper; enabling it should be enough most of the time +mac: SHAPERS += coretext # native shaper on OSX/iOS; could be used alone to handle both OT and AAT fonts + DEFINES += HAVE_CONFIG_H -DEFINES += HAVE_OT HB_NO_UNICODE_FUNCS HB_DISABLE_DEPRECATED +DEFINES += HB_NO_UNICODE_FUNCS HB_DISABLE_DEPRECATED # platform/compiler specific definitions DEFINES += HAVE_ATEXIT @@ -78,57 +82,59 @@ HEADERS += \ $$PWD/src/hb-unicode.h \ $$PWD/src/hb-version.h -# Open Type -SOURCES += \ - $$PWD/src/hb-ot-font.cc \ - $$PWD/src/hb-ot-layout.cc \ - $$PWD/src/hb-ot-map.cc \ - $$PWD/src/hb-ot-shape.cc \ - $$PWD/src/hb-ot-shape-complex-arabic.cc \ - $$PWD/src/hb-ot-shape-complex-default.cc \ - $$PWD/src/hb-ot-shape-complex-hangul.cc \ - $$PWD/src/hb-ot-shape-complex-hebrew.cc \ - $$PWD/src/hb-ot-shape-complex-indic.cc \ - $$PWD/src/hb-ot-shape-complex-indic-table.cc \ - $$PWD/src/hb-ot-shape-complex-myanmar.cc \ - $$PWD/src/hb-ot-shape-complex-thai.cc \ - $$PWD/src/hb-ot-shape-complex-tibetan.cc \ - $$PWD/src/hb-ot-shape-complex-use.cc \ - $$PWD/src/hb-ot-shape-complex-use-table.cc \ - $$PWD/src/hb-ot-shape-fallback.cc \ - $$PWD/src/hb-ot-shape-normalize.cc +contains(SHAPERS, opentype) { + DEFINES += HAVE_OT -HEADERS += \ - $$PWD/src/hb-ot-layout-common-private.hh \ - $$PWD/src/hb-ot-layout-gdef-table.hh \ - $$PWD/src/hb-ot-layout-gpos-table.hh \ - $$PWD/src/hb-ot-layout-gsubgpos-private.hh \ - $$PWD/src/hb-ot-layout-gsub-table.hh \ - $$PWD/src/hb-ot-layout-jstf-table.hh \ - $$PWD/src/hb-ot-layout-private.hh \ - $$PWD/src/hb-ot-map-private.hh \ - $$PWD/src/hb-ot-shape-complex-arabic-fallback.hh \ - $$PWD/src/hb-ot-shape-complex-arabic-private.hh \ - $$PWD/src/hb-ot-shape-complex-arabic-table.hh \ - $$PWD/src/hb-ot-shape-complex-indic-machine.hh \ - $$PWD/src/hb-ot-shape-complex-indic-private.hh \ - $$PWD/src/hb-ot-shape-complex-myanmar-machine.hh \ - $$PWD/src/hb-ot-shape-complex-private.hh \ - $$PWD/src/hb-ot-shape-complex-use-machine.hh \ - $$PWD/src/hb-ot-shape-complex-use-private.hh \ - $$PWD/src/hb-ot-shape-fallback-private.hh \ - $$PWD/src/hb-ot-shape-normalize-private.hh \ - $$PWD/src/hb-ot-shape-private.hh + SOURCES += \ + $$PWD/src/hb-ot-font.cc \ + $$PWD/src/hb-ot-layout.cc \ + $$PWD/src/hb-ot-map.cc \ + $$PWD/src/hb-ot-shape.cc \ + $$PWD/src/hb-ot-shape-complex-arabic.cc \ + $$PWD/src/hb-ot-shape-complex-default.cc \ + $$PWD/src/hb-ot-shape-complex-hangul.cc \ + $$PWD/src/hb-ot-shape-complex-hebrew.cc \ + $$PWD/src/hb-ot-shape-complex-indic.cc \ + $$PWD/src/hb-ot-shape-complex-indic-table.cc \ + $$PWD/src/hb-ot-shape-complex-myanmar.cc \ + $$PWD/src/hb-ot-shape-complex-thai.cc \ + $$PWD/src/hb-ot-shape-complex-tibetan.cc \ + $$PWD/src/hb-ot-shape-complex-use.cc \ + $$PWD/src/hb-ot-shape-complex-use-table.cc \ + $$PWD/src/hb-ot-shape-fallback.cc \ + $$PWD/src/hb-ot-shape-normalize.cc -HEADERS += \ - $$PWD/src/hb-ot.h \ - $$PWD/src/hb-ot-font.h \ - $$PWD/src/hb-ot-layout.h \ - $$PWD/src/hb-ot-shape.h \ - $$PWD/src/hb-ot-tag.h - -mac { - # Apple Advanced Typography + HEADERS += \ + $$PWD/src/hb-ot-layout-common-private.hh \ + $$PWD/src/hb-ot-layout-gdef-table.hh \ + $$PWD/src/hb-ot-layout-gpos-table.hh \ + $$PWD/src/hb-ot-layout-gsubgpos-private.hh \ + $$PWD/src/hb-ot-layout-gsub-table.hh \ + $$PWD/src/hb-ot-layout-jstf-table.hh \ + $$PWD/src/hb-ot-layout-private.hh \ + $$PWD/src/hb-ot-map-private.hh \ + $$PWD/src/hb-ot-shape-complex-arabic-fallback.hh \ + $$PWD/src/hb-ot-shape-complex-arabic-private.hh \ + $$PWD/src/hb-ot-shape-complex-arabic-table.hh \ + $$PWD/src/hb-ot-shape-complex-indic-machine.hh \ + $$PWD/src/hb-ot-shape-complex-indic-private.hh \ + $$PWD/src/hb-ot-shape-complex-myanmar-machine.hh \ + $$PWD/src/hb-ot-shape-complex-private.hh \ + $$PWD/src/hb-ot-shape-complex-use-machine.hh \ + $$PWD/src/hb-ot-shape-complex-use-private.hh \ + $$PWD/src/hb-ot-shape-fallback-private.hh \ + $$PWD/src/hb-ot-shape-normalize-private.hh \ + $$PWD/src/hb-ot-shape-private.hh + + HEADERS += \ + $$PWD/src/hb-ot.h \ + $$PWD/src/hb-ot-font.h \ + $$PWD/src/hb-ot-layout.h \ + $$PWD/src/hb-ot-shape.h \ + $$PWD/src/hb-ot-tag.h +} + +contains(SHAPERS, coretext) { DEFINES += HAVE_CORETEXT SOURCES += \ -- cgit v1.2.3 From 229c51978511e71781f0afcf5051e625cc18901d Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Sun, 21 Feb 2016 19:37:17 +0400 Subject: Increase chances of finding the ellipsis glyph in elided text The glyph for the ellipsis could be absent in the main font, so we should try to find it in a fallback font; otherwise fall back to "...". Change-Id: Ic53060ed42f3c800aba055d2be2a1c7c3cfeec64 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qtextengine.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index c545240c57..d0c2779a65 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -2747,8 +2747,7 @@ QString QTextEngine::elidedText(Qt::TextElideMode mode, const QFixed &width, int QFixed ellipsisWidth; QString ellipsisText; { - QFontEngine *fe = fnt.d->engineForScript(QChar::Script_Common); - QFontEngine *engine = fe->type() == QFontEngine::Multi ? static_cast(fe)->engine(0) : fe; + QFontEngine *engine = fnt.d->engineForScript(QChar::Script_Common); QChar ellipsisChar(0x2026); -- cgit v1.2.3 From 248488c894e5501c45a8c3bad215b9f9eca7475a Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Mon, 14 Dec 2015 00:51:38 +0400 Subject: QCoreTextFontDatabase: Get rid of local fallbacksForFamily cache The centralized one (in QFontDatabase) does the job. Change-Id: I33def7a7bcddeaa62b904d8812321a7f4648a9d0 Reviewed-by: Lars Knoll Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'src') diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index 0af779097c..e24f4aac8f 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -518,9 +518,6 @@ QStringList QCoreTextFontDatabase::fallbacksForFamily(const QString &family, QFo if (&CTFontCopyDefaultCascadeListForLanguages) #endif { - if (fallbackLists.contains(family)) - return fallbackLists.value(family); - QCFType attributes = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); CFDictionaryAddValue(attributes, kCTFontFamilyNameAttribute, QCFString(family)); if (QCFType fontDescriptor = CTFontDescriptorCreateWithAttributes(attributes)) { @@ -548,12 +545,9 @@ QStringList QCoreTextFontDatabase::fallbacksForFamily(const QString &family, QFo fallbackList.append(QStringLiteral("Arial Unicode MS")); #endif - fallbackLists[family] = fallbackList; + return fallbackList; } } - - if (fallbackLists.contains(family)) - return fallbackLists.value(family); } } #endif -- cgit v1.2.3 From 27c87e31dd07611e9505033d00547002d61ee7c3 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 2 Mar 2016 18:36:09 +0100 Subject: Revert "Don't add qmutex_xxx.cpp to SOURCES, as qmutex.cpp #include's them" This reverts commit 40cbf1927bdd2fa9f531a047d1ba66f68c35d170 - the qmake parser bug this worked around has been fixed. As a side effect, the platform conditionals were simplified. Change-Id: Ibfc1253e3c2252ab954c725a9effd6e719cb691c Reviewed-by: Edward Welbourne Reviewed-by: Joerg Bornemann --- src/corelib/thread/thread.pri | 34 +++++++++++++++------------------- 1 file changed, 15 insertions(+), 19 deletions(-) (limited to 'src') diff --git a/src/corelib/thread/thread.pri b/src/corelib/thread/thread.pri index 2cb00a6cf4..0a989cfcaf 100644 --- a/src/corelib/thread/thread.pri +++ b/src/corelib/thread/thread.pri @@ -43,24 +43,20 @@ SOURCES += thread/qatomic.cpp \ thread/qthreadpool.cpp \ thread/qthreadstorage.cpp -unix:SOURCES += thread/qthread_unix.cpp \ - thread/qwaitcondition_unix.cpp - -win32:SOURCES += thread/qthread_win.cpp \ - thread/qwaitcondition_win.cpp - -integrity:SOURCES += thread/qthread_unix.cpp \ - thread/qwaitcondition_unix.cpp - -false { - # files #included by others, but listed here so IDEs parsing this file know - # they are part of QtCore. Usually, qmake can find out that certain files - # are #included by others and thus remove from SOURCES, but it gets lost - # with qmutex.cpp. +win32 { SOURCES += \ - thread/qmutex_linux.cpp \ - thread/qmutex_mac.cpp \ - thread/qmutex_unix.cpp \ - thread/qmutex_win.cpp + thread/qmutex_win.cpp \ + thread/qthread_win.cpp \ + thread/qwaitcondition_win.cpp +} else { + darwin { + SOURCES += thread/qmutex_mac.cpp + } else: linux { + SOURCES += thread/qmutex_linux.cpp + } else { + SOURCES += thread/qmutex_unix.cpp + } + SOURCES += \ + thread/qthread_unix.cpp \ + thread/qwaitcondition_unix.cpp } - -- cgit v1.2.3 From a28364bc1c7144b9c5c383cc5d18d62a68076a38 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 12 Feb 2016 16:03:42 +0100 Subject: consistently put {qt,qml}_{module,plugin} at the end of project files this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: Icbce502dcbcb4d4b4d922c42679f44e2cc930bf3 Reviewed-by: Joerg Bornemann --- src/concurrent/concurrent.pro | 4 ++-- src/corelib/corelib.pro | 9 ++++++--- src/dbus/dbus.pro | 4 ++-- src/gui/gui.pro | 3 +-- src/network/network.pro | 9 ++++----- src/opengl/opengl.pro | 4 ++-- src/openglextensions/openglextensions.pro | 4 ++-- src/plugins/bearer/android/src/src.pro | 8 ++++---- src/plugins/bearer/blackberry/blackberry.pro | 8 ++++---- src/plugins/bearer/connman/connman.pro | 7 +++---- src/plugins/bearer/corewlan/corewlan.pro | 8 ++++---- src/plugins/bearer/generic/generic.pro | 8 ++++---- src/plugins/bearer/nativewifi/nativewifi.pro | 8 ++++---- src/plugins/bearer/networkmanager/networkmanager.pro | 8 ++++---- src/plugins/bearer/nla/nla.pro | 8 ++++---- src/plugins/generic/evdevkeyboard/evdevkeyboard.pro | 9 ++++----- src/plugins/generic/evdevmouse/evdevmouse.pro | 9 ++++----- src/plugins/generic/evdevtablet/evdevtablet.pro | 10 +++++----- src/plugins/generic/evdevtouch/evdevtouch.pro | 9 ++++----- src/plugins/generic/libinput/libinput.pro | 10 +++++----- src/plugins/generic/tslib/tslib.pro | 10 +++++----- src/plugins/generic/tuiotouch/tuiotouch.pro | 10 +++++----- src/plugins/imageformats/gif/gif.pro | 8 ++++---- src/plugins/imageformats/ico/ico.pro | 8 ++++---- src/plugins/imageformats/jpeg/jpeg.pro | 8 ++++---- src/plugins/platforminputcontexts/compose/compose.pro | 10 +++++----- src/plugins/platforminputcontexts/ibus/ibus.pro | 10 +++++----- src/plugins/platforms/android/android.pro | 7 +++---- src/plugins/platforms/cocoa/cocoa.pro | 10 +++++----- src/plugins/platforms/direct2d/direct2d.pro | 10 +++++----- src/plugins/platforms/directfb/directfb.pro | 10 +++++----- .../eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro | 8 ++++---- .../platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro | 8 ++++---- .../eglfs_kms_egldevice/eglfs_kms_egldevice.pro | 8 ++++---- .../eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro | 8 ++++---- .../platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro | 8 ++++---- .../eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro | 8 ++++---- .../platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro | 8 ++++---- src/plugins/platforms/eglfs/eglfs-plugin.pro | 10 +++++----- src/plugins/platforms/eglfs/eglfs_device_lib.pro | 4 ++-- src/plugins/platforms/haiku/haiku.pro | 7 ++++--- src/plugins/platforms/ios/ios.pro | 10 +++++----- src/plugins/platforms/linuxfb/linuxfb.pro | 10 +++++----- src/plugins/platforms/minimal/minimal.pro | 10 +++++----- src/plugins/platforms/minimalegl/minimalegl.pro | 10 +++++----- src/plugins/platforms/mirclient/mirclient.pro | 10 +++++----- src/plugins/platforms/offscreen/offscreen.pro | 10 +++++----- src/plugins/platforms/openwfd/openwf.pro | 9 ++++----- src/plugins/platforms/windows/windows.pro | 10 +++++----- src/plugins/platforms/winrt/winrt.pro | 11 ++++++----- src/plugins/platforms/xcb/gl_integrations/xcb_egl/xcb_egl.pro | 9 ++++----- src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro | 9 ++++----- src/plugins/platforms/xcb/xcb-plugin.pro | 9 ++++----- src/plugins/platforms/xcb/xcb_qpa_lib.pro | 3 +-- src/plugins/platformthemes/gtk2/gtk2.pro | 10 +++++----- src/plugins/printsupport/cocoa/cocoa.pro | 7 ++++--- src/plugins/printsupport/cups/cups.pro | 7 ++++--- src/plugins/printsupport/windows/windows.pro | 7 ++++--- src/plugins/styles/bb10style/bb10style.pro | 7 +++---- src/printsupport/printsupport.pro | 9 ++++----- src/sql/sql.pro | 9 ++++----- src/tools/bootstrap-dbus/bootstrap-dbus.pro | 4 ++-- src/tools/bootstrap/bootstrap.pro | 10 +++++----- src/widgets/accessible/widgets.pro | 10 ++++------ src/widgets/widgets.pro | 9 ++++----- src/xml/xml.pro | 4 ++-- 66 files changed, 264 insertions(+), 274 deletions(-) (limited to 'src') diff --git a/src/concurrent/concurrent.pro b/src/concurrent/concurrent.pro index 2b8fef2d6a..2a519314f3 100644 --- a/src/concurrent/concurrent.pro +++ b/src/concurrent/concurrent.pro @@ -7,8 +7,6 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x66000000 QMAKE_DOCS = $$PWD/doc/qtconcurrent.qdocconf -load(qt_module) - PRECOMPILED_HEADER = ../corelib/global/qt_pch.h SOURCES += \ @@ -41,3 +39,5 @@ HEADERS += \ contains(QT_CONFIG, clock-gettime) { linux-*|hpux-*|solaris-*: LIBS_PRIVATE *= -lrt } + +load(qt_module) diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro index ab3f29e2c7..37f33253e0 100644 --- a/src/corelib/corelib.pro +++ b/src/corelib/corelib.pro @@ -7,6 +7,7 @@ MODULE_CONFIG = moc resources !isEmpty(QT_NAMESPACE): MODULE_DEFINES = QT_NAMESPACE=$$QT_NAMESPACE CONFIG += $$MODULE_CONFIG +DEFINES += $$MODULE_DEFINES DEFINES += QT_NO_USING_NAMESPACE win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x67000000 irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused @@ -31,7 +32,6 @@ ANDROID_PERMISSIONS = \ # variable and on FreeBSD, this variable is in the final executable itself freebsd: QMAKE_LFLAGS_NOUNDEF = -load(qt_module) load(qfeatures) include(animation/animation.pri) @@ -60,8 +60,6 @@ mac|darwin { LIBS_PRIVATE += -framework CoreFoundation LIBS_PRIVATE += -framework Foundation } -win32:DEFINES-=QT_NO_CAST_TO_ASCII -DEFINES += $$MODULE_DEFINES QMAKE_LIBS += $$QMAKE_LIBS_CORE @@ -78,6 +76,11 @@ qt_conf.variable = QT_CONFIG QMAKE_PKGCONFIG_VARIABLES += host_bins qt_conf +load(qt_module) + +# Override qt_module, so the symbols are actually included into the library. +win32: DEFINES -= QT_NO_CAST_TO_ASCII + ctest_macros_file.input = $$PWD/Qt5CTestMacros.cmake ctest_macros_file.output = $$DESTDIR/cmake/Qt5Core/Qt5CTestMacros.cmake ctest_macros_file.CONFIG = verbatim diff --git a/src/dbus/dbus.pro b/src/dbus/dbus.pro index ebeab5c1b0..4c1aec7bb3 100644 --- a/src/dbus/dbus.pro +++ b/src/dbus/dbus.pro @@ -25,8 +25,6 @@ win32 { QMAKE_DOCS = $$PWD/doc/qtdbus.qdocconf -load(qt_module) - PUB_HEADERS = qdbusargument.h \ qdbusconnectioninterface.h \ qdbusmacros.h \ @@ -91,3 +89,5 @@ SOURCES += qdbusconnection.cpp \ qdbusservicewatcher.cpp \ qdbusunixfiledescriptor.cpp \ qdbusvirtualobject.cpp + +load(qt_module) diff --git a/src/gui/gui.pro b/src/gui/gui.pro index aa05d72a3d..69434e801f 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -23,8 +23,6 @@ win32:contains(QT_CONFIG, angle)|contains(QT_CONFIG, dynamicgl) { \$\$QT_MODULE_INCLUDE_BASE/QtANGLE } -load(qt_module) - # Code coverage with TestCocoon # The following is required as extra compilers use $$QMAKE_CXX instead of $(CXX). # Without this, testcocoon.prf is read only after $$QMAKE_CXX is used by the @@ -50,6 +48,7 @@ include(itemmodels/itemmodels.pri) QMAKE_LIBS += $$QMAKE_LIBS_GUI +load(qt_module) load(cmake_functions) win32: CMAKE_WINDOWS_BUILD = True diff --git a/src/network/network.pro b/src/network/network.pro index 4cced923f7..cdea190222 100644 --- a/src/network/network.pro +++ b/src/network/network.pro @@ -11,13 +11,8 @@ DEFINES += QT_NO_USING_NAMESPACE #DEFINES += QUDPSOCKET_DEBUG QUDPSERVER_DEBUG win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x64000000 -MODULE_PLUGIN_TYPES = \ - bearer - QMAKE_DOCS = $$PWD/doc/qtnetwork.qdocconf -load(qt_module) - include(access/access.pri) include(bearer/bearer.pri) include(kernel/kernel.pri) @@ -36,3 +31,7 @@ MODULE_PLUGIN_TYPES = \ bearer ANDROID_PERMISSIONS += \ android.permission.ACCESS_NETWORK_STATE + +MODULE_PLUGIN_TYPES = \ + bearer +load(qt_module) diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index 9c62d41d3e..007f73c45f 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -8,8 +8,6 @@ irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused QMAKE_DOCS = $$PWD/doc/qtopengl.qdocconf -load(qt_module) - contains(QT_CONFIG, opengl):CONFIG += opengl contains(QT_CONFIG, opengles2):CONFIG += opengles2 @@ -53,3 +51,5 @@ SOURCES += qglshaderprogram.cpp \ gl2paintengineex/qpaintengineex_opengl2.cpp \ gl2paintengineex/qglcustomshaderstage.cpp \ gl2paintengineex/qtextureglyphcache_gl.cpp + +load(qt_module) diff --git a/src/openglextensions/openglextensions.pro b/src/openglextensions/openglextensions.pro index 948465165e..18eec27e1c 100644 --- a/src/openglextensions/openglextensions.pro +++ b/src/openglextensions/openglextensions.pro @@ -4,11 +4,11 @@ CONFIG += static contains(QT_CONFIG, opengl):CONFIG += opengl contains(QT_CONFIG, opengles2):CONFIG += opengles2 -load(qt_module) - DEFINES += QT_NO_CAST_FROM_ASCII PRECOMPILED_HEADER = HEADERS = qopenglextensions.h SOURCES = qopenglextensions.cpp + +load(qt_module) diff --git a/src/plugins/bearer/android/src/src.pro b/src/plugins/bearer/android/src/src.pro index 1050601896..77c95a0b38 100644 --- a/src/plugins/bearer/android/src/src.pro +++ b/src/plugins/bearer/android/src/src.pro @@ -2,10 +2,6 @@ include(wrappers/wrappers.pri) TARGET = qandroidbearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QAndroidBearerEnginePlugin -load(qt_plugin) - QT = core-private network-private HEADERS += qandroidbearerengine.h \ @@ -15,3 +11,7 @@ HEADERS += qandroidbearerengine.h \ SOURCES += main.cpp \ qandroidbearerengine.cpp \ ../../qnetworksession_impl.cpp + +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QAndroidBearerEnginePlugin +load(qt_plugin) diff --git a/src/plugins/bearer/blackberry/blackberry.pro b/src/plugins/bearer/blackberry/blackberry.pro index c75de3aaad..031b598482 100644 --- a/src/plugins/bearer/blackberry/blackberry.pro +++ b/src/plugins/bearer/blackberry/blackberry.pro @@ -1,9 +1,5 @@ TARGET = qbbbearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QBBEnginePlugin -load(qt_plugin) - QT = core-private network-private # Uncomment this to enable debugging output for the plugin @@ -18,3 +14,7 @@ SOURCES += qbbengine.cpp \ main.cpp OTHER_FILES += blackberry.json + +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QBBEnginePlugin +load(qt_plugin) diff --git a/src/plugins/bearer/connman/connman.pro b/src/plugins/bearer/connman/connman.pro index efa13a6ebd..9f3fff304b 100644 --- a/src/plugins/bearer/connman/connman.pro +++ b/src/plugins/bearer/connman/connman.pro @@ -1,9 +1,5 @@ TARGET = qconnmanbearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QConnmanEnginePlugin -load(qt_plugin) - QT = core network-private dbus CONFIG += link_pkgconfig @@ -21,3 +17,6 @@ SOURCES += main.cpp \ OTHER_FILES += connman.json +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QConnmanEnginePlugin +load(qt_plugin) diff --git a/src/plugins/bearer/corewlan/corewlan.pro b/src/plugins/bearer/corewlan/corewlan.pro index 674af0cbbe..ab0257aecd 100644 --- a/src/plugins/bearer/corewlan/corewlan.pro +++ b/src/plugins/bearer/corewlan/corewlan.pro @@ -1,9 +1,5 @@ TARGET = qcorewlanbearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QCoreWlanEnginePlugin -load(qt_plugin) - QT = core-private network-private LIBS += -framework Foundation -framework SystemConfiguration @@ -21,3 +17,7 @@ SOURCES += main.cpp \ OBJECTIVE_SOURCES += qcorewlanengine.mm OTHER_FILES += corewlan.json + +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QCoreWlanEnginePlugin +load(qt_plugin) diff --git a/src/plugins/bearer/generic/generic.pro b/src/plugins/bearer/generic/generic.pro index d0e17380e3..f71a901341 100644 --- a/src/plugins/bearer/generic/generic.pro +++ b/src/plugins/bearer/generic/generic.pro @@ -1,9 +1,5 @@ TARGET = qgenericbearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QGenericEnginePlugin -load(qt_plugin) - QT = core-private network-private HEADERS += qgenericengine.h \ @@ -15,3 +11,7 @@ SOURCES += qgenericengine.cpp \ main.cpp OTHER_FILES += generic.json + +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QGenericEnginePlugin +load(qt_plugin) diff --git a/src/plugins/bearer/nativewifi/nativewifi.pro b/src/plugins/bearer/nativewifi/nativewifi.pro index e372c8ca05..da7f2da353 100644 --- a/src/plugins/bearer/nativewifi/nativewifi.pro +++ b/src/plugins/bearer/nativewifi/nativewifi.pro @@ -1,9 +1,5 @@ TARGET = qnativewifibearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QNativeWifiEnginePlugin -load(qt_plugin) - QT = core-private network-private HEADERS += qnativewifiengine.h \ @@ -16,3 +12,7 @@ SOURCES += main.cpp \ ../qnetworksession_impl.cpp OTHER_FILES += nativewifi.json + +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QNativeWifiEnginePlugin +load(qt_plugin) diff --git a/src/plugins/bearer/networkmanager/networkmanager.pro b/src/plugins/bearer/networkmanager/networkmanager.pro index b3a270615c..e71c93f66f 100644 --- a/src/plugins/bearer/networkmanager/networkmanager.pro +++ b/src/plugins/bearer/networkmanager/networkmanager.pro @@ -1,9 +1,5 @@ TARGET = qnmbearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QNetworkManagerEnginePlugin -load(qt_plugin) - QT = core network-private dbus HEADERS += qnetworkmanagerservice.h \ @@ -19,3 +15,7 @@ SOURCES += main.cpp \ ../qnetworksession_impl.cpp OTHER_FILES += networkmanager.json + +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QNetworkManagerEnginePlugin +load(qt_plugin) diff --git a/src/plugins/bearer/nla/nla.pro b/src/plugins/bearer/nla/nla.pro index bac7608477..32ff5446e5 100644 --- a/src/plugins/bearer/nla/nla.pro +++ b/src/plugins/bearer/nla/nla.pro @@ -1,9 +1,5 @@ TARGET = qnlabearer -PLUGIN_TYPE = bearer -PLUGIN_CLASS_NAME = QNlaEnginePlugin -load(qt_plugin) - QT = core core-private network network-private !wince* { @@ -22,3 +18,7 @@ SOURCES += main.cpp \ ../qnetworksession_impl.cpp OTHER_FILES += nla.json + +PLUGIN_TYPE = bearer +PLUGIN_CLASS_NAME = QNlaEnginePlugin +load(qt_plugin) diff --git a/src/plugins/generic/evdevkeyboard/evdevkeyboard.pro b/src/plugins/generic/evdevkeyboard/evdevkeyboard.pro index 101ea30bcc..d23ad3bad0 100644 --- a/src/plugins/generic/evdevkeyboard/evdevkeyboard.pro +++ b/src/plugins/generic/evdevkeyboard/evdevkeyboard.pro @@ -1,10 +1,5 @@ TARGET = qevdevkeyboardplugin -PLUGIN_TYPE = generic -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QEvdevKeyboardPlugin -load(qt_plugin) - QT += core-private platformsupport-private gui-private SOURCES = main.cpp @@ -12,3 +7,7 @@ SOURCES = main.cpp OTHER_FILES += \ evdevkeyboard.json +PLUGIN_TYPE = generic +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QEvdevKeyboardPlugin +load(qt_plugin) diff --git a/src/plugins/generic/evdevmouse/evdevmouse.pro b/src/plugins/generic/evdevmouse/evdevmouse.pro index 57a67ead8d..1a0bc08853 100644 --- a/src/plugins/generic/evdevmouse/evdevmouse.pro +++ b/src/plugins/generic/evdevmouse/evdevmouse.pro @@ -1,10 +1,5 @@ TARGET = qevdevmouseplugin -PLUGIN_TYPE = generic -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QEvdevMousePlugin -load(qt_plugin) - QT += core-private platformsupport-private gui-private SOURCES = main.cpp @@ -12,3 +7,7 @@ SOURCES = main.cpp OTHER_FILES += \ evdevmouse.json +PLUGIN_TYPE = generic +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QEvdevMousePlugin +load(qt_plugin) diff --git a/src/plugins/generic/evdevtablet/evdevtablet.pro b/src/plugins/generic/evdevtablet/evdevtablet.pro index 8ffc0db84d..aaf0ef4c67 100644 --- a/src/plugins/generic/evdevtablet/evdevtablet.pro +++ b/src/plugins/generic/evdevtablet/evdevtablet.pro @@ -1,13 +1,13 @@ TARGET = qevdevtabletplugin -PLUGIN_TYPE = generic -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QEvdevTabletPlugin -load(qt_plugin) - SOURCES = main.cpp QT += core-private platformsupport-private gui-private OTHER_FILES += \ evdevtablet.json + +PLUGIN_TYPE = generic +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QEvdevTabletPlugin +load(qt_plugin) diff --git a/src/plugins/generic/evdevtouch/evdevtouch.pro b/src/plugins/generic/evdevtouch/evdevtouch.pro index 1f4d1b7e93..4d61db4eb0 100644 --- a/src/plugins/generic/evdevtouch/evdevtouch.pro +++ b/src/plugins/generic/evdevtouch/evdevtouch.pro @@ -1,10 +1,5 @@ TARGET = qevdevtouchplugin -PLUGIN_TYPE = generic -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QEvdevTouchScreenPlugin -load(qt_plugin) - SOURCES = main.cpp QT += core-private platformsupport-private gui-private @@ -12,3 +7,7 @@ QT += core-private platformsupport-private gui-private OTHER_FILES += \ evdevtouch.json +PLUGIN_TYPE = generic +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QEvdevTouchScreenPlugin +load(qt_plugin) diff --git a/src/plugins/generic/libinput/libinput.pro b/src/plugins/generic/libinput/libinput.pro index 17dbb23ef0..335605d354 100644 --- a/src/plugins/generic/libinput/libinput.pro +++ b/src/plugins/generic/libinput/libinput.pro @@ -1,12 +1,12 @@ TARGET = qlibinputplugin -PLUGIN_TYPE = generic -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QLibInputPlugin -load(qt_plugin) - QT += core-private platformsupport-private gui-private SOURCES = main.cpp OTHER_FILES = libinput.json + +PLUGIN_TYPE = generic +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QLibInputPlugin +load(qt_plugin) diff --git a/src/plugins/generic/tslib/tslib.pro b/src/plugins/generic/tslib/tslib.pro index be6fc4fbea..200d231cc8 100644 --- a/src/plugins/generic/tslib/tslib.pro +++ b/src/plugins/generic/tslib/tslib.pro @@ -1,10 +1,5 @@ TARGET = qtslibplugin -PLUGIN_TYPE = generic -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QTsLibPlugin -load(qt_plugin) - SOURCES = main.cpp QT += gui-private platformsupport-private @@ -12,3 +7,8 @@ QT += gui-private platformsupport-private LIBS += -lts OTHER_FILES += tslib.json + +PLUGIN_TYPE = generic +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QTsLibPlugin +load(qt_plugin) diff --git a/src/plugins/generic/tuiotouch/tuiotouch.pro b/src/plugins/generic/tuiotouch/tuiotouch.pro index 5e53403f5b..ae2ccde058 100644 --- a/src/plugins/generic/tuiotouch/tuiotouch.pro +++ b/src/plugins/generic/tuiotouch/tuiotouch.pro @@ -1,10 +1,5 @@ TARGET = qtuiotouchplugin -PLUGIN_TYPE = generic -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QTuioTouchPlugin -load(qt_plugin) - QT += \ core-private \ gui-private \ @@ -24,3 +19,8 @@ HEADERS += \ OTHER_FILES += \ tuiotouch.json + +PLUGIN_TYPE = generic +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QTuioTouchPlugin +load(qt_plugin) diff --git a/src/plugins/imageformats/gif/gif.pro b/src/plugins/imageformats/gif/gif.pro index 2a5048bb1c..a361bc2532 100644 --- a/src/plugins/imageformats/gif/gif.pro +++ b/src/plugins/imageformats/gif/gif.pro @@ -1,11 +1,11 @@ TARGET = qgif -PLUGIN_TYPE = imageformats -PLUGIN_CLASS_NAME = QGifPlugin -load(qt_plugin) - include(../../../gui/image/qgifhandler.pri) INCLUDEPATH += ../../../gui/image SOURCES += $$PWD/main.cpp HEADERS += $$PWD/main.h OTHER_FILES += gif.json + +PLUGIN_TYPE = imageformats +PLUGIN_CLASS_NAME = QGifPlugin +load(qt_plugin) diff --git a/src/plugins/imageformats/ico/ico.pro b/src/plugins/imageformats/ico/ico.pro index 4250fcb4bc..60afdaed70 100644 --- a/src/plugins/imageformats/ico/ico.pro +++ b/src/plugins/imageformats/ico/ico.pro @@ -1,12 +1,12 @@ TARGET = qico -PLUGIN_TYPE = imageformats -PLUGIN_CLASS_NAME = QICOPlugin -load(qt_plugin) - QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-ico)" HEADERS += qicohandler.h main.h SOURCES += main.cpp \ qicohandler.cpp OTHER_FILES += ico.json + +PLUGIN_TYPE = imageformats +PLUGIN_CLASS_NAME = QICOPlugin +load(qt_plugin) diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro index e33fde1cdb..526556179c 100644 --- a/src/plugins/imageformats/jpeg/jpeg.pro +++ b/src/plugins/imageformats/jpeg/jpeg.pro @@ -1,9 +1,5 @@ TARGET = qjpeg -PLUGIN_TYPE = imageformats -PLUGIN_CLASS_NAME = QJpegPlugin -load(qt_plugin) - QT += core-private QTDIR_build:REQUIRES = "!contains(QT_CONFIG, no-jpeg)" @@ -13,3 +9,7 @@ INCLUDEPATH += ../../../gui/image SOURCES += main.cpp HEADERS += main.h OTHER_FILES += jpeg.json + +PLUGIN_TYPE = imageformats +PLUGIN_CLASS_NAME = QJpegPlugin +load(qt_plugin) diff --git a/src/plugins/platforminputcontexts/compose/compose.pro b/src/plugins/platforminputcontexts/compose/compose.pro index a4b5280e64..86bdd4729b 100644 --- a/src/plugins/platforminputcontexts/compose/compose.pro +++ b/src/plugins/platforminputcontexts/compose/compose.pro @@ -1,10 +1,5 @@ TARGET = composeplatforminputcontextplugin -PLUGIN_TYPE = platforminputcontexts -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QComposePlatformInputContextPlugin -load(qt_plugin) - QT += core-private gui-private DEFINES += X11_PREFIX='\\"$$QMAKE_X11_PREFIX\\"' @@ -27,3 +22,8 @@ contains(QT_CONFIG, xkbcommon-qt): { } OTHER_FILES += $$PWD/compose.json + +PLUGIN_TYPE = platforminputcontexts +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QComposePlatformInputContextPlugin +load(qt_plugin) diff --git a/src/plugins/platforminputcontexts/ibus/ibus.pro b/src/plugins/platforminputcontexts/ibus/ibus.pro index 401be6d42f..9f6c848e6a 100644 --- a/src/plugins/platforminputcontexts/ibus/ibus.pro +++ b/src/plugins/platforminputcontexts/ibus/ibus.pro @@ -1,10 +1,5 @@ TARGET = ibusplatforminputcontextplugin -PLUGIN_TYPE = platforminputcontexts -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QIbusPlatformInputContextPlugin -load(qt_plugin) - QT += dbus gui-private SOURCES += $$PWD/qibusplatforminputcontext.cpp \ $$PWD/qibusproxy.cpp \ @@ -18,3 +13,8 @@ HEADERS += $$PWD/qibusplatforminputcontext.h \ $$PWD/qibustypes.h OTHER_FILES += $$PWD/ibus.json + +PLUGIN_TYPE = platforminputcontexts +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QIbusPlatformInputContextPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/android/android.pro b/src/plugins/platforms/android/android.pro index 3ba817bf5b..045e55ec65 100644 --- a/src/plugins/platforms/android/android.pro +++ b/src/plugins/platforms/android/android.pro @@ -1,13 +1,9 @@ TARGET = qtforandroid -PLUGIN_TYPE = platforms - # STATICPLUGIN needed because there's a Q_IMPORT_PLUGIN in androidjnimain.cpp # Yes, the plugin imports itself statically DEFINES += QT_STATICPLUGIN -load(qt_plugin) - LIBS += -ljnigraphics -landroid QT += core-private gui-private platformsupport-private @@ -79,6 +75,9 @@ HEADERS += $$PWD/qandroidplatformintegration.h \ android-style-assets: SOURCES += $$PWD/extract.cpp else: SOURCES += $$PWD/extract-dummy.cpp +PLUGIN_TYPE = platforms +load(qt_plugin) + #Non-standard install directory, QTBUG-29859 DESTDIR = $$DESTDIR/android target.path = $${target.path}/android diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro index ba0e6b001a..05d0bb4094 100644 --- a/src/plugins/platforms/cocoa/cocoa.pro +++ b/src/plugins/platforms/cocoa/cocoa.pro @@ -1,10 +1,5 @@ TARGET = qcocoa -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QCocoaIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - OBJECTIVE_SOURCES += main.mm \ qcocoaintegration.mm \ qcocoatheme.mm \ @@ -112,3 +107,8 @@ OTHER_FILES += cocoa.json # Window debug support #DEFINES += QT_COCOA_ENABLE_WINDOW_DEBUG + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QCocoaIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/direct2d/direct2d.pro b/src/plugins/platforms/direct2d/direct2d.pro index 8f2ccc3aa6..005a4da6db 100644 --- a/src/plugins/platforms/direct2d/direct2d.pro +++ b/src/plugins/platforms/direct2d/direct2d.pro @@ -1,10 +1,5 @@ TARGET = qdirect2d -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QWindowsDirect2DIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT *= core-private QT *= gui-private QT *= platformsupport-private @@ -40,3 +35,8 @@ HEADERS += \ qwindowsdirect2dwindow.h OTHER_FILES += direct2d.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QWindowsDirect2DIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/directfb/directfb.pro b/src/plugins/platforms/directfb/directfb.pro index 89d8d42cea..5c81e0283a 100644 --- a/src/plugins/platforms/directfb/directfb.pro +++ b/src/plugins/platforms/directfb/directfb.pro @@ -1,10 +1,5 @@ TARGET = qdirectfb -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QDirectFbIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private LIBS += $$QMAKE_LIBS_DIRECTFB @@ -51,3 +46,8 @@ contains(QT_CONFIG, directfb_egl) { CONFIG += qpa/genericunixfontdatabase OTHER_FILES += directfb.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QDirectFbIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro index 2026b6a6c6..e2ebf9f7ee 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro @@ -1,9 +1,5 @@ TARGET = qeglfs-brcm-integration -PLUGIN_TYPE = egldeviceintegrations -PLUGIN_CLASS_NAME = QEglFSBrcmIntegrationPlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private eglfs_device_lib-private INCLUDEPATH += $$PWD/../.. @@ -21,3 +17,7 @@ SOURCES += $$PWD/qeglfsbrcmmain.cpp \ HEADERS += $$PWD/qeglfsbrcmintegration.h OTHER_FILES += $$PWD/eglfs_brcm.json + +PLUGIN_TYPE = egldeviceintegrations +PLUGIN_CLASS_NAME = QEglFSBrcmIntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro index e53793ce54..12ae0a13b1 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro @@ -1,9 +1,5 @@ TARGET = qeglfs-kms-integration -PLUGIN_TYPE = egldeviceintegrations -PLUGIN_CLASS_NAME = QEglFSKmsIntegrationPlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private eglfs_device_lib-private INCLUDEPATH += $$PWD/../.. @@ -29,3 +25,7 @@ HEADERS += $$PWD/qeglfskmsintegration.h \ $$PWD/qeglfskmscursor.h OTHER_FILES += $$PWD/eglfs_kms.json + +PLUGIN_TYPE = egldeviceintegrations +PLUGIN_CLASS_NAME = QEglFSKmsIntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro index 393ddd14a5..1932f861b9 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro @@ -1,9 +1,5 @@ TARGET = qeglfs-kms-egldevice-integration -PLUGIN_TYPE = egldeviceintegrations -PLUGIN_CLASS_NAME = QEglFSKmsEglDeviceIntegrationPlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private eglfs_device_lib-private INCLUDEPATH += $$PWD/../.. @@ -21,3 +17,7 @@ HEADERS += $$PWD/qeglfskmsegldeviceintegration.h OTHER_FILES += $$PWD/eglfs_kms_egldevice.json LIBS += -ldrm + +PLUGIN_TYPE = egldeviceintegrations +PLUGIN_CLASS_NAME = QEglFSKmsEglDeviceIntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro index 33f219db96..7fc4568ae3 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro @@ -1,9 +1,5 @@ TARGET = qeglfs-mali-integration -PLUGIN_TYPE = egldeviceintegrations -PLUGIN_CLASS_NAME = QEglFSMaliIntegrationPlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private eglfs_device_lib-private # Avoid X11 header collision @@ -19,3 +15,7 @@ SOURCES += $$PWD/qeglfsmalimain.cpp \ HEADERS += $$PWD/qeglfsmaliintegration.h OTHER_FILES += $$PWD/eglfs_mali.json + +PLUGIN_TYPE = egldeviceintegrations +PLUGIN_CLASS_NAME = QEglFSMaliIntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro index fc0533127c..6fac2f529a 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro @@ -1,9 +1,5 @@ TARGET = qeglfs-viv-integration -PLUGIN_TYPE = egldeviceintegrations -PLUGIN_CLASS_NAME = QEglFSVivIntegrationPlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private eglfs_device_lib-private INCLUDEPATH += $$PWD/../.. @@ -18,3 +14,7 @@ SOURCES += $$PWD/qeglfsvivmain.cpp \ HEADERS += $$PWD/qeglfsvivintegration.h OTHER_FILES += $$PWD/eglfs_viv.json + +PLUGIN_TYPE = egldeviceintegrations +PLUGIN_CLASS_NAME = QEglFSVivIntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro index 26b6a2e9ea..44f75c40e0 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro @@ -1,9 +1,5 @@ TARGET = qeglfs-viv-wl-integration -PLUGIN_TYPE = egldeviceintegrations -PLUGIN_CLASS_NAME = QEglFSVivWaylandIntegrationPlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private eglfs_device_lib-private INCLUDEPATH += $$PWD/../.. @@ -21,3 +17,7 @@ OTHER_FILES += $$PWD/eglfs_viv_wl.json CONFIG += link_pkgconfig PKGCONFIG_PRIVATE += wayland-server + +PLUGIN_TYPE = egldeviceintegrations +PLUGIN_CLASS_NAME = QEglFSVivWaylandIntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro index 86fefac8aa..83f0c74910 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro @@ -1,9 +1,5 @@ TARGET = qeglfs-x11-integration -PLUGIN_TYPE = egldeviceintegrations -PLUGIN_CLASS_NAME = QEglFSX11IntegrationPlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private eglfs_device_lib-private # Avoid X11 header collision @@ -21,3 +17,7 @@ SOURCES += $$PWD/qeglfsx11main.cpp \ HEADERS += $$PWD/qeglfsx11integration.h OTHER_FILES += $$PWD/eglfs_x11.json + +PLUGIN_TYPE = egldeviceintegrations +PLUGIN_CLASS_NAME = QEglFSX11IntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/eglfs-plugin.pro b/src/plugins/platforms/eglfs/eglfs-plugin.pro index 0f493fdc01..a628cdccd9 100644 --- a/src/plugins/platforms/eglfs/eglfs-plugin.pro +++ b/src/plugins/platforms/eglfs/eglfs-plugin.pro @@ -1,12 +1,12 @@ TARGET = qeglfs -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QEglFSIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += platformsupport-private eglfs_device_lib-private SOURCES += $$PWD/qeglfsmain.cpp OTHER_FILES += $$PWD/eglfs.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QEglFSIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/eglfs/eglfs_device_lib.pro b/src/plugins/platforms/eglfs/eglfs_device_lib.pro index 4fe2ce4897..f784020fb6 100644 --- a/src/plugins/platforms/eglfs/eglfs_device_lib.pro +++ b/src/plugins/platforms/eglfs/eglfs_device_lib.pro @@ -6,8 +6,6 @@ TARGET = QtEglDeviceIntegration CONFIG += no_module_headers internal_module -load(qt_module) - QT += core-private gui-private platformsupport-private LIBS += $$QMAKE_LIBS_DYNLOAD @@ -52,3 +50,5 @@ INCLUDEPATH += $$PWD CONFIG += egl qpa/genericunixfontdatabase !contains(DEFINES, QT_NO_CURSOR): RESOURCES += $$PWD/cursor.qrc + +load(qt_module) diff --git a/src/plugins/platforms/haiku/haiku.pro b/src/plugins/platforms/haiku/haiku.pro index 87f31997a3..ea5bb632db 100644 --- a/src/plugins/platforms/haiku/haiku.pro +++ b/src/plugins/platforms/haiku/haiku.pro @@ -1,7 +1,4 @@ TARGET = qhaiku -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QHaikuIntegrationPlugin -load(qt_plugin) QT += platformsupport-private core-private gui-private @@ -40,3 +37,7 @@ LIBS += -lbe OTHER_FILES += haiku.json include (../../../platformsupport/fontdatabases/fontdatabases.pri) + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QHaikuIntegrationPlugin +load(qt_plugin) diff --git a/src/plugins/platforms/ios/ios.pro b/src/plugins/platforms/ios/ios.pro index bf7849b740..545db8c093 100644 --- a/src/plugins/platforms/ios/ios.pro +++ b/src/plugins/platforms/ios/ios.pro @@ -1,10 +1,5 @@ TARGET = qios -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QIOSIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private LIBS += -framework Foundation -framework UIKit -framework QuartzCore -framework AssetsLibrary @@ -59,3 +54,8 @@ HEADERS = \ OTHER_FILES = \ quiview_textinput.mm \ quiview_accessibility.mm + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QIOSIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/linuxfb/linuxfb.pro b/src/plugins/platforms/linuxfb/linuxfb.pro index 389d45c29c..b5de192346 100644 --- a/src/plugins/platforms/linuxfb/linuxfb.pro +++ b/src/plugins/platforms/linuxfb/linuxfb.pro @@ -1,10 +1,5 @@ TARGET = qlinuxfb -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QLinuxFbIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private SOURCES = main.cpp qlinuxfbintegration.cpp qlinuxfbscreen.cpp @@ -13,3 +8,8 @@ HEADERS = qlinuxfbintegration.h qlinuxfbscreen.h CONFIG += qpa/genericunixfontdatabase OTHER_FILES += linuxfb.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QLinuxFbIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/minimal/minimal.pro b/src/plugins/platforms/minimal/minimal.pro index 3ed4d2cdde..d6914026ae 100644 --- a/src/plugins/platforms/minimal/minimal.pro +++ b/src/plugins/platforms/minimal/minimal.pro @@ -1,10 +1,5 @@ TARGET = qminimal -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QMinimalIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private SOURCES = main.cpp \ @@ -14,3 +9,8 @@ HEADERS = qminimalintegration.h \ qminimalbackingstore.h OTHER_FILES += minimal.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QMinimalIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/minimalegl/minimalegl.pro b/src/plugins/platforms/minimalegl/minimalegl.pro index e78dcb8bc5..ac67249591 100644 --- a/src/plugins/platforms/minimalegl/minimalegl.pro +++ b/src/plugins/platforms/minimalegl/minimalegl.pro @@ -1,10 +1,5 @@ TARGET = qminimalegl -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QMinimalEglIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private #DEFINES += QEGL_EXTRA_DEBUG @@ -29,3 +24,8 @@ CONFIG += egl qpa/genericunixfontdatabase OTHER_FILES += \ minimalegl.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QMinimalEglIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/mirclient/mirclient.pro b/src/plugins/platforms/mirclient/mirclient.pro index 0851e8d719..4ea5593478 100644 --- a/src/plugins/platforms/mirclient/mirclient.pro +++ b/src/plugins/platforms/mirclient/mirclient.pro @@ -1,11 +1,6 @@ TARGET = mirclient TEMPLATE = lib -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = MirServerIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private dbus CONFIG += qpa/genericunixfontdatabase @@ -47,3 +42,8 @@ HEADERS = \ qmirclientscreen.h \ qmirclienttheme.h \ qmirclientwindow.h + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = MirServerIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/offscreen/offscreen.pro b/src/plugins/platforms/offscreen/offscreen.pro index 94eeac6acc..999550a7e1 100644 --- a/src/plugins/platforms/offscreen/offscreen.pro +++ b/src/plugins/platforms/offscreen/offscreen.pro @@ -1,10 +1,5 @@ TARGET = qoffscreen -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QOffscreenIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private SOURCES = main.cpp \ @@ -25,3 +20,8 @@ contains(QT_CONFIG, xlib):contains(QT_CONFIG, opengl):!contains(QT_CONFIG, openg } else { SOURCES += qoffscreenintegration_dummy.cpp } + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QOffscreenIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/openwfd/openwf.pro b/src/plugins/platforms/openwfd/openwf.pro index 38bac057bd..152e4f57d7 100644 --- a/src/plugins/platforms/openwfd/openwf.pro +++ b/src/plugins/platforms/openwfd/openwf.pro @@ -1,10 +1,5 @@ TARGET = qopenwf -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QOpenWFDIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private CONFIG += qpa/genericunixfontdatabase @@ -38,3 +33,7 @@ SOURCES += \ LIBS += -lWFD -lgbm -lGLESv2 -lEGL +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QOpenWFDIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/windows/windows.pro b/src/plugins/platforms/windows/windows.pro index cc0373c077..2e0f723693 100644 --- a/src/plugins/platforms/windows/windows.pro +++ b/src/plugins/platforms/windows/windows.pro @@ -1,10 +1,5 @@ TARGET = qwindows -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QWindowsIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT *= core-private QT *= gui-private QT *= platformsupport-private @@ -25,3 +20,8 @@ HEADERS += \ qwindowsgdinativeinterface.h OTHER_FILES += windows.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QWindowsIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/winrt/winrt.pro b/src/plugins/platforms/winrt/winrt.pro index 991ec1789b..261295ef0b 100644 --- a/src/plugins/platforms/winrt/winrt.pro +++ b/src/plugins/platforms/winrt/winrt.pro @@ -1,10 +1,6 @@ TARGET = qwinrt -CONFIG -= precompile_header -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QWinRTIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) +CONFIG -= precompile_header QT += core-private gui-private platformsupport-private @@ -50,3 +46,8 @@ HEADERS = \ qwinrtwindow.h OTHER_FILES += winrt.json + +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QWinRTIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_egl/xcb_egl.pro b/src/plugins/platforms/xcb/gl_integrations/xcb_egl/xcb_egl.pro index 28a572a2c9..6d52332bad 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_egl/xcb_egl.pro +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_egl/xcb_egl.pro @@ -1,10 +1,5 @@ TARGET = qxcb-egl-integration -PLUGIN_CLASS_NAME = QXcbEglIntegrationPlugin -PLUGIN_TYPE = xcbglintegrations - -load(qt_plugin) - include(../gl_integrations_plugin_base.pri) CONFIG += egl @@ -22,3 +17,7 @@ SOURCES += \ qxcbeglwindow.cpp \ qxcbeglmain.cpp \ qxcbeglnativeinterfacehandler.cpp + +PLUGIN_CLASS_NAME = QXcbEglIntegrationPlugin +PLUGIN_TYPE = xcbglintegrations +load(qt_plugin) diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro index 1c577e5dc9..67fd68765a 100644 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/xcb_glx.pro @@ -1,10 +1,5 @@ TARGET = qxcb-glx-integration -PLUGIN_CLASS_NAME = QXcbGlxIntegrationPlugin -PLUGIN_TYPE = xcbglintegrations - -load(qt_plugin) - include(../gl_integrations_plugin_base.pri) #should be removed from the sources @@ -31,3 +26,7 @@ SOURCES += \ qxcbglxwindow.cpp \ qglxintegration.cpp \ qxcbglxnativeinterfacehandler.cpp + +PLUGIN_CLASS_NAME = QXcbGlxIntegrationPlugin +PLUGIN_TYPE = xcbglintegrations +load(qt_plugin) diff --git a/src/plugins/platforms/xcb/xcb-plugin.pro b/src/plugins/platforms/xcb/xcb-plugin.pro index 09ab1ad77a..75684a769b 100644 --- a/src/plugins/platforms/xcb/xcb-plugin.pro +++ b/src/plugins/platforms/xcb/xcb-plugin.pro @@ -1,13 +1,12 @@ TARGET = qxcb -PLUGIN_TYPE = platforms -PLUGIN_CLASS_NAME = QXcbIntegrationPlugin -!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - -load(qt_plugin) - QT += core-private gui-private platformsupport-private xcb_qpa_lib-private SOURCES = \ qxcbmain.cpp OTHER_FILES += xcb.json README +PLUGIN_TYPE = platforms +PLUGIN_CLASS_NAME = QXcbIntegrationPlugin +!equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - +load(qt_plugin) diff --git a/src/plugins/platforms/xcb/xcb_qpa_lib.pro b/src/plugins/platforms/xcb/xcb_qpa_lib.pro index 302d87e007..f4a4e5a78a 100644 --- a/src/plugins/platforms/xcb/xcb_qpa_lib.pro +++ b/src/plugins/platforms/xcb/xcb_qpa_lib.pro @@ -1,8 +1,6 @@ TARGET = QtXcbQpa CONFIG += no_module_headers internal_module -load(qt_module) - QT += core-private gui-private platformsupport-private SOURCES = \ @@ -105,3 +103,4 @@ contains(QT_CONFIG, xkbcommon-qt) { QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XKBCOMMON } +load(qt_module) diff --git a/src/plugins/platformthemes/gtk2/gtk2.pro b/src/plugins/platformthemes/gtk2/gtk2.pro index 73c156f82b..1c434e1d4d 100644 --- a/src/plugins/platformthemes/gtk2/gtk2.pro +++ b/src/plugins/platformthemes/gtk2/gtk2.pro @@ -1,10 +1,5 @@ TARGET = qgtk2 -PLUGIN_TYPE = platformthemes -PLUGIN_EXTENDS = - -PLUGIN_CLASS_NAME = QGtk2ThemePlugin -load(qt_plugin) - QT += core-private gui-private platformsupport-private CONFIG += X11 @@ -19,3 +14,8 @@ SOURCES += \ main.cpp \ qgtk2dialoghelpers.cpp \ qgtk2theme.cpp \ + +PLUGIN_TYPE = platformthemes +PLUGIN_EXTENDS = - +PLUGIN_CLASS_NAME = QGtk2ThemePlugin +load(qt_plugin) diff --git a/src/plugins/printsupport/cocoa/cocoa.pro b/src/plugins/printsupport/cocoa/cocoa.pro index a3b9e2dfcf..feed33a231 100644 --- a/src/plugins/printsupport/cocoa/cocoa.pro +++ b/src/plugins/printsupport/cocoa/cocoa.pro @@ -1,8 +1,5 @@ TARGET = cocoaprintersupport MODULE = cocoaprintersupport -PLUGIN_TYPE = printsupport -PLUGIN_CLASS_NAME = QCocoaPrinterSupportPlugin -load(qt_plugin) QT += gui-private printsupport-private LIBS += -framework Cocoa @@ -10,3 +7,7 @@ LIBS += -framework Cocoa SOURCES += main.cpp OTHER_FILES += cocoa.json + +PLUGIN_TYPE = printsupport +PLUGIN_CLASS_NAME = QCocoaPrinterSupportPlugin +load(qt_plugin) diff --git a/src/plugins/printsupport/cups/cups.pro b/src/plugins/printsupport/cups/cups.pro index cdbb08b10a..757408e7f7 100644 --- a/src/plugins/printsupport/cups/cups.pro +++ b/src/plugins/printsupport/cups/cups.pro @@ -1,8 +1,5 @@ TARGET = cupsprintersupport MODULE = cupsprintersupport -PLUGIN_TYPE = printsupport -PLUGIN_CLASS_NAME = QCupsPrinterSupportPlugin -load(qt_plugin) QT += core-private gui-private printsupport printsupport-private @@ -20,3 +17,7 @@ HEADERS += qcupsprintersupport_p.h \ qcupsprintengine_p.h OTHER_FILES += cups.json + +PLUGIN_TYPE = printsupport +PLUGIN_CLASS_NAME = QCupsPrinterSupportPlugin +load(qt_plugin) diff --git a/src/plugins/printsupport/windows/windows.pro b/src/plugins/printsupport/windows/windows.pro index 3366262ef0..06694fb7fe 100644 --- a/src/plugins/printsupport/windows/windows.pro +++ b/src/plugins/printsupport/windows/windows.pro @@ -1,8 +1,5 @@ TARGET = windowsprintersupport MODULE = windowsprintersupport -PLUGIN_TYPE = printsupport -PLUGIN_CLASS_NAME = QWindowsPrinterSupportPlugin -load(qt_plugin) QT *= core-private QT *= gui-private @@ -22,3 +19,7 @@ HEADERS += \ OTHER_FILES += windows.json LIBS += -lwinspool -lcomdlg32 -lgdi32 -luser32 + +PLUGIN_TYPE = printsupport +PLUGIN_CLASS_NAME = QWindowsPrinterSupportPlugin +load(qt_plugin) diff --git a/src/plugins/styles/bb10style/bb10style.pro b/src/plugins/styles/bb10style/bb10style.pro index ad35df6de7..543f67f169 100644 --- a/src/plugins/styles/bb10style/bb10style.pro +++ b/src/plugins/styles/bb10style/bb10style.pro @@ -1,9 +1,5 @@ TARGET = bb10styleplugin -PLUGIN_TYPE = styles -PLUGIN_CLASS_NAME = BlackBerry10StylePlugin -load(qt_plugin) - INCLUDEPATH += $$PWD QT += widgets @@ -26,3 +22,6 @@ RESOURCES += \ OTHER_FILES += qbb10styleplugin.json +PLUGIN_TYPE = styles +PLUGIN_CLASS_NAME = BlackBerry10StylePlugin +load(qt_plugin) diff --git a/src/printsupport/printsupport.pro b/src/printsupport/printsupport.pro index 6dd3eaab3c..52eab672d3 100644 --- a/src/printsupport/printsupport.pro +++ b/src/printsupport/printsupport.pro @@ -3,15 +3,14 @@ QT = core-private gui-private widgets-private DEFINES += QT_NO_USING_NAMESPACE -MODULE_PLUGIN_TYPES = \ - printsupport - QMAKE_DOCS = $$PWD/doc/qtprintsupport.qdocconf -load(qt_module) - QMAKE_LIBS += $$QMAKE_LIBS_PRINTSUPPORT include(kernel/kernel.pri) include(widgets/widgets.pri) include(dialogs/dialogs.pri) + +MODULE_PLUGIN_TYPES = \ + printsupport +load(qt_module) diff --git a/src/sql/sql.pro b/src/sql/sql.pro index 10004cb445..218671d7e7 100644 --- a/src/sql/sql.pro +++ b/src/sql/sql.pro @@ -4,13 +4,8 @@ QT = core-private DEFINES += QT_NO_USING_NAMESPACE win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x62000000 -MODULE_PLUGIN_TYPES = \ - sqldrivers - QMAKE_DOCS = $$PWD/doc/qtsql.qdocconf -load(qt_module) - DEFINES += QT_NO_CAST_FROM_ASCII PRECOMPILED_HEADER = ../corelib/global/qt_pch.h SQL_P = sql @@ -18,3 +13,7 @@ SQL_P = sql include(kernel/kernel.pri) include(drivers/drivers.pri) include(models/models.pri) + +MODULE_PLUGIN_TYPES = \ + sqldrivers +load(qt_module) diff --git a/src/tools/bootstrap-dbus/bootstrap-dbus.pro b/src/tools/bootstrap-dbus/bootstrap-dbus.pro index 4c466ba0e9..3b28c23311 100644 --- a/src/tools/bootstrap-dbus/bootstrap-dbus.pro +++ b/src/tools/bootstrap-dbus/bootstrap-dbus.pro @@ -9,8 +9,6 @@ DEFINES += \ MODULE_INCNAME = QtDBus -load(qt_module) - QMAKE_CXXFLAGS += $$QT_HOST_CFLAGS_DBUS SOURCES = \ @@ -25,5 +23,7 @@ SOURCES = \ ../../dbus/qdbus_symbols.cpp \ ../../dbus/qdbusunixfiledescriptor.cpp +load(qt_module) + lib.CONFIG = dummy_install INSTALLS = lib diff --git a/src/tools/bootstrap/bootstrap.pro b/src/tools/bootstrap/bootstrap.pro index 4f2456cf79..b3df192110 100644 --- a/src/tools/bootstrap/bootstrap.pro +++ b/src/tools/bootstrap/bootstrap.pro @@ -27,11 +27,6 @@ DEFINES += \ DEFINES -= QT_EVAL -load(qt_module) - -# otherwise mingw headers do not declare common functions like putenv -mingw: CONFIG -= strict_c++ - SOURCES += \ ../../corelib/codecs/qlatincodec.cpp \ ../../corelib/codecs/qtextcodec.cpp \ @@ -142,5 +137,10 @@ else:include(../../3rdparty/zlib_dependency.pri) win32:LIBS += -luser32 -lole32 -ladvapi32 -lshell32 +load(qt_module) + +# otherwise mingw headers do not declare common functions like putenv +mingw: CONFIG -= strict_c++ + lib.CONFIG = dummy_install INSTALLS += lib diff --git a/src/widgets/accessible/widgets.pro b/src/widgets/accessible/widgets.pro index c6af6d3f71..da8607c637 100644 --- a/src/widgets/accessible/widgets.pro +++ b/src/widgets/accessible/widgets.pro @@ -1,10 +1,5 @@ TARGET = qtaccessiblewidgets -PLUGIN_TYPE = accessible -PLUGIN_EXTENDS = widgets -PLUGIN_CLASS_NAME = AccessibleFactory -load(qt_plugin) - QT += core-private gui-private widgets-private QTDIR_build:REQUIRES += "contains(QT_CONFIG, accessibility)" @@ -24,4 +19,7 @@ HEADERS += qaccessiblewidgets.h \ qaccessiblemenu.h \ itemviews.h - +PLUGIN_TYPE = accessible +PLUGIN_EXTENDS = widgets +PLUGIN_CLASS_NAME = AccessibleFactory +load(qt_plugin) diff --git a/src/widgets/widgets.pro b/src/widgets/widgets.pro index ceb6f96f7c..b609e4c434 100644 --- a/src/widgets/widgets.pro +++ b/src/widgets/widgets.pro @@ -8,13 +8,8 @@ DEFINES += QT_NO_USING_NAMESPACE win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x65000000 irix-cc*:QMAKE_CXXFLAGS += -no_prelink -ptused -MODULE_PLUGIN_TYPES += \ - styles - QMAKE_DOCS = $$PWD/doc/qtwidgets.qdocconf -load(qt_module) - #platforms mac:include(kernel/mac.pri) win32:include(kernel/win.pri) @@ -45,3 +40,7 @@ QMAKE_DYNAMIC_LIST_FILE = $$PWD/QtWidgets.dynlist testcocoon { load(testcocoon) } + +MODULE_PLUGIN_TYPES += \ + styles +load(qt_module) diff --git a/src/xml/xml.pro b/src/xml/xml.pro index 57bf11e5aa..f281e35444 100644 --- a/src/xml/xml.pro +++ b/src/xml/xml.pro @@ -6,11 +6,11 @@ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x61000000 QMAKE_DOCS = $$PWD/doc/qtxml.qdocconf -load(qt_module) - HEADERS += qtxmlglobal.h PRECOMPILED_HEADER = include(dom/dom.pri) include(sax/sax.pri) + +load(qt_module) -- cgit v1.2.3 From fab4ac60c95ff3dc72339554c289a58f931f6649 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 12 Feb 2016 16:04:28 +0100 Subject: remove redundant TEMPLATE assignment qt_plugin.prf does that already. Change-Id: Ia0329c3b508c86c2b71782a4e9744cfda528559a Reviewed-by: Simon Hausmann --- src/plugins/platforms/mirclient/mirclient.pro | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/mirclient/mirclient.pro b/src/plugins/platforms/mirclient/mirclient.pro index 4ea5593478..8c1ac02703 100644 --- a/src/plugins/platforms/mirclient/mirclient.pro +++ b/src/plugins/platforms/mirclient/mirclient.pro @@ -1,5 +1,4 @@ TARGET = mirclient -TEMPLATE = lib QT += core-private gui-private platformsupport-private dbus -- cgit v1.2.3 From cadfae0f9da2c458186b453138cf493b6efbb856 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 12 Feb 2016 16:05:09 +0100 Subject: fix mir platform plugin name all platform plugins are supposed to start with a q. Change-Id: I4871cc553995aa68a09f8f045bdd378f5022cd87 Reviewed-by: Simon Hausmann Reviewed-by: aavit --- src/plugins/platforms/mirclient/mirclient.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/mirclient/mirclient.pro b/src/plugins/platforms/mirclient/mirclient.pro index 8c1ac02703..d5d35f1632 100644 --- a/src/plugins/platforms/mirclient/mirclient.pro +++ b/src/plugins/platforms/mirclient/mirclient.pro @@ -1,4 +1,4 @@ -TARGET = mirclient +TARGET = qmirclient QT += core-private gui-private platformsupport-private dbus -- cgit v1.2.3 From 7c200b6dabdc10131d4f839052f8bba1a9d42ea1 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 12 Feb 2016 16:05:32 +0100 Subject: standardize statement order in project file a bit Change-Id: I9fa42d9afa726f52390a2b01637e6f4e9b2fb537 Reviewed-by: Simon Hausmann --- src/plugins/bearer/android/src/src.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/bearer/android/src/src.pro b/src/plugins/bearer/android/src/src.pro index 77c95a0b38..eb0738386c 100644 --- a/src/plugins/bearer/android/src/src.pro +++ b/src/plugins/bearer/android/src/src.pro @@ -1,5 +1,3 @@ -include(wrappers/wrappers.pri) - TARGET = qandroidbearer QT = core-private network-private @@ -12,6 +10,8 @@ SOURCES += main.cpp \ qandroidbearerengine.cpp \ ../../qnetworksession_impl.cpp +include(wrappers/wrappers.pri) + PLUGIN_TYPE = bearer PLUGIN_CLASS_NAME = QAndroidBearerEnginePlugin load(qt_plugin) -- cgit v1.2.3 From 5e800fb4147d9e5a30600bb73356872bcfa5b7b7 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 1 Mar 2016 16:01:10 +0100 Subject: QNX: Fix logging of QtDebugMsg in slog2 backend With the introduction of QtInfoMsg in commit ef6279fd we also changed the mapping of Qt to slog2 levels: QtInfoMsg now ends up as SLOG2_DEBUG1, instead of SLOG2_INFO. Anyhow, we didn't change the default buffer verbosity level accordingly. Task-number: QTBUG-51378 Change-Id: Ia464f9e5a31e19413902e877d4f2be0ba6d340db Reviewed-by: Dan Cape Reviewed-by: Janne Koskinen Reviewed-by: Rafael Roquetto --- src/corelib/global/qlogging.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp index e629e16e8d..ca38d672c3 100644 --- a/src/corelib/global/qlogging.cpp +++ b/src/corelib/global/qlogging.cpp @@ -1189,7 +1189,7 @@ static void slog2_default_handler(QtMsgType msgType, const char *message) buffer_config.buffer_set_name = __progname; buffer_config.num_buffers = 1; - buffer_config.verbosity_level = SLOG2_INFO; + buffer_config.verbosity_level = SLOG2_DEBUG1; buffer_config.buffer_config[0].buffer_name = "default"; buffer_config.buffer_config[0].num_pages = 8; -- cgit v1.2.3 From bc087db590ddaa68c6d3845bf4e6bd97abf83104 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 5 Mar 2016 11:31:27 +0100 Subject: QtTest: fix UB in QSpontaneKeyEvent::setSpontaneous() Found by UBSan: src/testlib/qtestspontaneevent.h:95:38: runtime error: member call on address 0x7ffc33019650 which does not point to an object of type 'QSpontaneKeyEvent' 0x7ffc33019650: note: object is of type 'QMouseEvent' 83 2b 00 00 98 e8 fa 8e 83 2b 00 00 00 00 00 00 00 00 00 00 02 00 04 00 00 00 00 00 00 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QMouseEvent' src/testlib/qtestspontaneevent.h:95:38: runtime error: member call on address 0x7ffc330196e0 which does not point to an object of type 'QSpontaneKeyEvent' 0x7ffc330196e0: note: object is of type 'QKeyEvent' 00 00 00 00 f8 e8 fa 8e 83 2b 00 00 00 00 00 00 00 00 00 00 07 00 04 00 00 00 00 00 00 00 00 00 ^~~~~~~~~~~~~~~~~~~~~~~ vptr for 'QKeyEvent' Fix by providing setSpontaneous() on QEvent as a private function and befriending QSpontaneKeyEvent. Make setSpontaneous() always-inline to avoid BiC between 5.6.0 and 5.6.1. Change-Id: Ic60d82ed6a858f4f13f41fa3d2d1db6e808896b7 Reviewed-by: Lars Knoll --- src/corelib/kernel/qcoreevent.h | 5 +++++ src/testlib/qtestspontaneevent.h | 11 ++--------- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h index 53da4a849b..9aa3a2d290 100644 --- a/src/corelib/kernel/qcoreevent.h +++ b/src/corelib/kernel/qcoreevent.h @@ -317,6 +317,11 @@ private: friend class QGraphicsView; friend class QGraphicsScene; friend class QGraphicsScenePrivate; + // from QtTest: + friend class QSpontaneKeyEvent; + // needs this: + Q_ALWAYS_INLINE + void setSpontaneous() { spont = true; } }; class Q_CORE_EXPORT QTimerEvent : public QEvent diff --git a/src/testlib/qtestspontaneevent.h b/src/testlib/qtestspontaneevent.h index 18c4221f72..bc775aa803 100644 --- a/src/testlib/qtestspontaneevent.h +++ b/src/testlib/qtestspontaneevent.h @@ -76,17 +76,10 @@ public: } #endif + // ### Qt 6: remove everything except this function: static inline void setSpontaneous(QEvent *ev) { - // use a union instead of a reinterpret_cast to prevent alignment warnings - union - { - QSpontaneKeyEvent *skePtr; - QEvent *evPtr; - } helper; - - helper.evPtr = ev; - helper.skePtr->setSpontaneous(); + ev->setSpontaneous(); } protected: -- cgit v1.2.3 From f2bd0d119200d5b66069725563f7f12952e66da8 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 3 Mar 2016 15:17:01 +0100 Subject: Clean up WINVER, _WIN32_WINNT macros for MinGW. Define WINVER, _WIN32_WINNT as 0x501 (Windows XP) in qt_windows.h. Remove definitions of the same/lower versions and unneeded definitions in other places. Remove definition for Borland compiler. Task-number: QTBUG-51673 Change-Id: I2a344a7f7cf78b2afbf45dcdf8bf2a19b93f0a07 Reviewed-by: Joerg Bornemann Reviewed-by: Oswald Buddenhagen --- src/corelib/global/qt_windows.h | 20 ++++++-------------- src/corelib/io/qfilesystemiterator_win.cpp | 7 ------- src/corelib/thread/qthread_win.cpp | 6 ------ src/plugins/platforms/windows/qwindowsfontengine.cpp | 5 ----- .../windows/qwindowsfontenginedirectwrite.cpp | 9 --------- src/widgets/dialogs/qwizard_win.cpp | 12 ------------ src/widgets/styles/qwindowsxpstyle_p_p.h | 12 ------------ src/widgets/util/qsystemtrayicon_win.cpp | 7 ------- 8 files changed, 6 insertions(+), 72 deletions(-) (limited to 'src') diff --git a/src/corelib/global/qt_windows.h b/src/corelib/global/qt_windows.h index 92ed1966d0..fcb8d27cd6 100644 --- a/src/corelib/global/qt_windows.h +++ b/src/corelib/global/qt_windows.h @@ -39,22 +39,14 @@ #pragma qt_sync_stop_processing #endif -#if defined(Q_CC_BOR) -// Borland's windows.h does not set these correctly, resulting in -// unusable WinSDK standard dialogs -#ifndef WINVER -# define WINVER 0x0501 -#endif -#ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0501 -#endif -#endif - #if defined(Q_CC_MINGW) // mingw's windows.h does not set _WIN32_WINNT, resulting breaking compilation -#ifndef WINVER -# define WINVER 0x501 -#endif +# ifndef WINVER +# define WINVER 0x501 +# endif +# ifndef _WIN32_WINNT +# define _WIN32_WINNT 0x0501 +# endif #endif #ifndef NOMINMAX diff --git a/src/corelib/io/qfilesystemiterator_win.cpp b/src/corelib/io/qfilesystemiterator_win.cpp index d7fed87222..b00a56785e 100644 --- a/src/corelib/io/qfilesystemiterator_win.cpp +++ b/src/corelib/io/qfilesystemiterator_win.cpp @@ -31,13 +31,6 @@ ** ****************************************************************************/ -#if !defined(WINAPI_FAMILY) -# if _WIN32_WINNT < 0x0500 -# undef _WIN32_WINNT -# define _WIN32_WINNT 0x0500 -# endif // _WIN32_WINNT < 0x500 -#endif // !WINAPI_FAMILY - #include "qfilesystemiterator_p.h" #include "qfilesystemengine_p.h" #include "qplatformdefs.h" diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp index 32e8a52a28..6df85d8b8f 100644 --- a/src/corelib/thread/qthread_win.cpp +++ b/src/corelib/thread/qthread_win.cpp @@ -31,12 +31,6 @@ ** ****************************************************************************/ -//#define WINVER 0x0500 -#if !defined(WINAPI_FAMILY) && (_WIN32_WINNT < 0x0400) -#define _WIN32_WINNT 0x0400 -#endif - - #include "qthread.h" #include "qthread_p.h" #include "qthreadstorage.h" diff --git a/src/plugins/platforms/windows/qwindowsfontengine.cpp b/src/plugins/platforms/windows/qwindowsfontengine.cpp index cda8386ca0..a97062273f 100644 --- a/src/plugins/platforms/windows/qwindowsfontengine.cpp +++ b/src/plugins/platforms/windows/qwindowsfontengine.cpp @@ -31,11 +31,6 @@ ** ****************************************************************************/ -#if _WIN32_WINNT < 0x0500 -#undef _WIN32_WINNT -#define _WIN32_WINNT 0x0500 -#endif - #include "qwindowsintegration.h" #include "qwindowsfontengine.h" #include "qwindowsnativeimage.h" diff --git a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp index 16c16fefbe..5b2e220fd6 100644 --- a/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp +++ b/src/plugins/platforms/windows/qwindowsfontenginedirectwrite.cpp @@ -33,15 +33,6 @@ #ifndef QT_NO_DIRECTWRITE -#if WINVER < 0x0600 -# undef WINVER -# define WINVER 0x0600 -#endif -#if _WIN32_WINNT < 0x0600 -#undef _WIN32_WINNT -#define _WIN32_WINNT 0x0600 -#endif - #include "qwindowsfontenginedirectwrite.h" #include "qwindowsfontdatabase.h" #include "qwindowscontext.h" diff --git a/src/widgets/dialogs/qwizard_win.cpp b/src/widgets/dialogs/qwizard_win.cpp index a4b37f360b..b210cb904d 100644 --- a/src/widgets/dialogs/qwizard_win.cpp +++ b/src/widgets/dialogs/qwizard_win.cpp @@ -47,18 +47,6 @@ #include #include -// Note, these tests are duplicates in qwindowsxpstyle_p.h. -#ifdef Q_CC_GNU -# include -# if (__W32API_MAJOR_VERSION >= 3 || (__W32API_MAJOR_VERSION == 2 && __W32API_MINOR_VERSION >= 5)) -# ifdef _WIN32_WINNT -# undef _WIN32_WINNT -# endif -# define _WIN32_WINNT 0x0501 -# include -# endif -#endif - #include Q_DECLARE_METATYPE(QMargins) diff --git a/src/widgets/styles/qwindowsxpstyle_p_p.h b/src/widgets/styles/qwindowsxpstyle_p_p.h index 5a0abc1d78..e1e1369850 100644 --- a/src/widgets/styles/qwindowsxpstyle_p_p.h +++ b/src/widgets/styles/qwindowsxpstyle_p_p.h @@ -50,18 +50,6 @@ #include #include -// Note, these tests are duplicated in qwizard_win.cpp. -#ifdef Q_CC_GNU -# include -# if (__W32API_MAJOR_VERSION >= 3 || (__W32API_MAJOR_VERSION == 2 && __W32API_MINOR_VERSION >= 5)) -# ifdef _WIN32_WINNT -# undef _WIN32_WINNT -# endif -# define _WIN32_WINNT 0x0501 -# include -# endif -#endif - #include #if WINVER >= 0x0600 diff --git a/src/widgets/util/qsystemtrayicon_win.cpp b/src/widgets/util/qsystemtrayicon_win.cpp index f1b86ba2df..7e0212a233 100644 --- a/src/widgets/util/qsystemtrayicon_win.cpp +++ b/src/widgets/util/qsystemtrayicon_win.cpp @@ -34,13 +34,6 @@ #include "qsystemtrayicon_p.h" #ifndef QT_NO_SYSTEMTRAYICON -#if defined(_WIN32_WINNT) && _WIN32_WINNT < 0x0600 -# undef _WIN32_WINNT -#endif -#if !defined(_WIN32_WINNT) -# define _WIN32_WINNT 0x0600 -#endif - #if defined(_WIN32_IE) && _WIN32_IE < 0x0600 # undef _WIN32_IE #endif -- cgit v1.2.3 From d0b54cede8d8ea0b8431c64abb51d0cd1a71327b Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 27 Nov 2015 13:28:45 +0100 Subject: Ensure QTextStream doesn't modify the Text flag on the underlying iodevice An empty read or a failed write on the underlying QIODevice of the text stream would lead to an early return where we wouldn't correctly restore the QIODevice::Text flag of the io device. Change-Id: I5b632f45dea6ede3f408113556c3dad1b96574e2 Task-number: QTBUG-47176 Reviewed-by: Marc Mutz Reviewed-by: Simon Hausmann --- src/corelib/io/qtextstream.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp index a8fd2dd7ab..78dcbfe0e7 100644 --- a/src/corelib/io/qtextstream.cpp +++ b/src/corelib/io/qtextstream.cpp @@ -449,6 +449,10 @@ bool QTextStreamPrivate::fillReadBuffer(qint64 maxBytes) bytesRead = device->read(buf, sizeof(buf)); } + // reset the Text flag. + if (textModeEnabled) + device->setTextModeEnabled(true); + if (bytesRead <= 0) return false; @@ -484,10 +488,6 @@ bool QTextStreamPrivate::fillReadBuffer(qint64 maxBytes) readBuffer += QString::fromLatin1(buf, bytesRead); #endif - // reset the Text flag. - if (textModeEnabled) - device->setTextModeEnabled(true); - // remove all '\r\n' in the string. if (readBuffer.size() > oldReadBufferSize && textModeEnabled) { QChar CR = QLatin1Char('\r'); @@ -586,17 +586,18 @@ void QTextStreamPrivate::flushWriteBuffer() qDebug("QTextStreamPrivate::flushWriteBuffer(), device->write(\"%s\") == %d", qt_prettyDebug(data.constData(), qMin(data.size(),32), data.size()).constData(), int(bytesWritten)); #endif - if (bytesWritten <= 0) { - status = QTextStream::WriteFailed; - return; - } #if defined (Q_OS_WIN) - // replace the text flag + // reset the text flag if (textModeEnabled) device->setTextModeEnabled(true); #endif + if (bytesWritten <= 0) { + status = QTextStream::WriteFailed; + return; + } + // flush the file #ifndef QT_NO_QOBJECT QFileDevice *file = qobject_cast(device); -- cgit v1.2.3 From 2027c0b926d1fc41c929616e209e31fa11b5dc4d Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 8 Mar 2016 13:18:39 +0100 Subject: Duplicate trivial code for clarity on early return. Having a variable in which to store a function's return in two branches of a switch in order to return if either was true saved little relative to just testing the function in each case and returning in situ, which reads more clearly. Change-Id: Ibd95a95721eaa6fc4861b10e723038b96caf269a Reviewed-by: Timur Pocheptsov --- src/network/access/qnetworkreplyhttpimpl.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index 04d391a14c..afb7a204e2 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -676,18 +676,19 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq if (newHttpRequest.attribute(QNetworkRequest::FollowRedirectsAttribute).toBool()) httpRequest.setFollowRedirects(true); - bool loadedFromCache = false; httpRequest.setPriority(convert(newHttpRequest.priority())); switch (operation) { case QNetworkAccessManager::GetOperation: httpRequest.setOperation(QHttpNetworkRequest::Get); - loadedFromCache = loadFromCacheIfAllowed(httpRequest); + if (loadFromCacheIfAllowed(httpRequest)) + return; // no need to send the request! :) break; case QNetworkAccessManager::HeadOperation: httpRequest.setOperation(QHttpNetworkRequest::Head); - loadedFromCache = loadFromCacheIfAllowed(httpRequest); + if (loadFromCacheIfAllowed(httpRequest)) + return; // no need to send the request! :) break; case QNetworkAccessManager::PostOperation: @@ -719,10 +720,6 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq break; // can't happen } - if (loadedFromCache) { - return; // no need to send the request! :) - } - QList headers = newHttpRequest.rawHeaderList(); if (resumeOffset != 0) { if (headers.contains("Range")) { -- cgit v1.2.3 From b366530f584eb4d3e94e32783d533a4a0557f8f4 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 8 Mar 2016 13:29:01 +0100 Subject: Simplified repeated #if-ery and entangled conditionals. Three checks of the same #if managed to save repetition of (if I felt charitable) three shared lines, compared to combining the three into one, which leaves the code easier to read (and obviates the need for one of the "shared" lines). Split a long line while moving it. Change-Id: I762d10ae1df1224c749206b8eb490bafd7ea4900 Reviewed-by: Timur Pocheptsov --- src/network/access/qnetworkreplyhttpimpl.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index afb7a204e2..5d0e5b998b 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -1746,10 +1746,8 @@ void QNetworkReplyHttpImplPrivate::_q_startOperation() QMetaObject::invokeMethod(q, "_q_finished", synchronous ? Qt::DirectConnection : Qt::QueuedConnection); return; } -#endif if (!start(request)) { -#ifndef QT_NO_BEARERMANAGEMENT // backend failed to start because the session state is not Connected. // QNetworkAccessManager will call reply->backend->start() again for us when the session // state changes. @@ -1771,21 +1769,21 @@ void QNetworkReplyHttpImplPrivate::_q_startOperation() QMetaObject::invokeMethod(q, "_q_finished", synchronous ? Qt::DirectConnection : Qt::QueuedConnection); return; } + } else if (session) { + QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)), + q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), + Qt::QueuedConnection); + } #else + if (!start(request)) { qWarning("Backend start failed"); QMetaObject::invokeMethod(q, "_q_error", synchronous ? Qt::DirectConnection : Qt::QueuedConnection, Q_ARG(QNetworkReply::NetworkError, QNetworkReply::UnknownNetworkError), Q_ARG(QString, QCoreApplication::translate("QNetworkReply", "backend start error."))); QMetaObject::invokeMethod(q, "_q_finished", synchronous ? Qt::DirectConnection : Qt::QueuedConnection); return; -#endif - } else { -#ifndef QT_NO_BEARERMANAGEMENT - if (session) - QObject::connect(session.data(), SIGNAL(stateChanged(QNetworkSession::State)), - q, SLOT(_q_networkSessionStateChanged(QNetworkSession::State)), Qt::QueuedConnection); -#endif } +#endif // QT_NO_BEARERMANAGEMENT if (synchronous) { state = Finished; -- cgit v1.2.3 From 5834f5a509e3ac0ddd8f18c71846986d2214fc07 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 8 Mar 2016 13:34:29 +0100 Subject: Purge a verbose no-op. An if with no side-effects in its test and an empty body is a no-op. An else block with nothing but a no-op in it is a no-op. A no-op without even pedagogic value is just a distraction. Change-Id: I224831a325e6b770d0a99d726d96f73da4b8c11f Reviewed-by: Timur Pocheptsov --- src/network/access/qnetworkreplyhttpimpl.cpp | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index 5d0e5b998b..2adaff95a5 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -1788,10 +1788,6 @@ void QNetworkReplyHttpImplPrivate::_q_startOperation() if (synchronous) { state = Finished; q_func()->setFinished(true); - } else { - if (state != Finished) { - - } } } -- cgit v1.2.3 From 2d276b3ada712f3af13dbfe79fd936acb13fe8ee Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 8 Mar 2016 13:11:13 +0100 Subject: Use booleans as booleans; don't compare == true to do so ! Change-Id: Ic900bf000cec52b3ebf0fd0fc61f42252f3200e6 Reviewed-by: Timur Pocheptsov --- src/network/access/qnetworkreplyhttpimpl.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index 2adaff95a5..6ba6928ade 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -747,10 +747,10 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq foreach (const QByteArray &header, headers) httpRequest.setHeaderField(header, newHttpRequest.rawHeader(header)); - if (newHttpRequest.attribute(QNetworkRequest::HttpPipeliningAllowedAttribute).toBool() == true) + if (newHttpRequest.attribute(QNetworkRequest::HttpPipeliningAllowedAttribute).toBool()) httpRequest.setPipeliningAllowed(true); - if (request.attribute(QNetworkRequest::SpdyAllowedAttribute).toBool() == true) + if (request.attribute(QNetworkRequest::SpdyAllowedAttribute).toBool()) httpRequest.setSPDYAllowed(true); if (static_cast @@ -758,7 +758,7 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Manual) httpRequest.setWithCredentials(false); - if (request.attribute(QNetworkRequest::EmitAllUploadProgressSignalsAttribute).toBool() == true) + if (request.attribute(QNetworkRequest::EmitAllUploadProgressSignalsAttribute).toBool()) emitAllUploadProgressSignals = true; -- cgit v1.2.3 From 15ddb7f841f2fccbe854ada9f61a8243e35a4e05 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Thu, 25 Feb 2016 09:59:15 +0100 Subject: ARMv8: fix crc intrinsic usage. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ARMv8 defines the crc32 instructions as optional features. Even though the target might be ARMv8, the compiler might have been told that the target CPU doesn't support it, in which case __ARM_FEATURE_CRC32 is not defined. Subsequently, the arm_acle.h header might only define the intrinsics when __ARM_FEATURE_CRC32 is defined. Change-Id: I85efcf9efdd2e152e3f3e72310122eebf543ca3b Reviewed-by: Allan Sandfeld Jensen Reviewed-by: Tor Arne Vestbø --- src/corelib/tools/qhash.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index b49c9d683a..1001f2a06c 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -137,7 +137,7 @@ static uint crc32(const Char *ptr, size_t len, uint h) h = _mm_crc32_u8(h, *p); return h; } -#elif defined(Q_PROCESSOR_ARM_V8) +#elif defined(__ARM_FEATURE_CRC32) static inline bool hasFastCrc32() { return qCpuHasFeature(CRC32); -- cgit v1.2.3 From 27a2a0255946ddcd83cf28fa778685092e56e98d Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Thu, 25 Feb 2016 10:11:23 +0100 Subject: iOS: Disable usage of crc32 intrinsics. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To quote http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160222/151168.html : > AArch64: fix Cyclone CPU features list. > It turns out we don't have CRC after all. Who knew? So clang did define __ARM_FEATURE_CRC32, while the CPU didn't support the crc32 instructions, resulting in EXC_BAD_INSTRUCTION. Change-Id: I4b0123ac5e7fd04696c05bfe7dacce205cffac8f Task-number: QTBUG-51168 Reviewed-by: Tor Arne Vestbø --- src/corelib/tools/qsimd_p.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index c771037427..02439a2a9c 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -267,6 +267,13 @@ # endif #endif +// Clang compiler fix, see http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160222/151168.html +// This should be tweaked with an "upper version" of clang once we know which release fixes the +// issue. At that point we can rely on __ARM_FEATURE_CRC32 again. +#if defined(Q_CC_CLANG) && defined(Q_OS_DARWIN) && defined (__ARM_FEATURE_CRC32) +# undef __ARM_FEATURE_CRC32 +#endif + // NEON intrinsics // note: as of GCC 4.9, does not support function targets for ARM #if defined(__ARM_NEON) || defined(__ARM_NEON__) -- cgit v1.2.3 From fb7ef2b9f5cbc375fb35690326501be6a117314d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 6 Mar 2016 15:06:48 +0100 Subject: QCosmeticStroker: fix out-of-bounds access in drawPixel() Found by UBSan: src/gui/painting/qcosmeticstroker.cpp:150:55: runtime error: index -1 out of bounds for type 'QT_FT_Span_ [255]' src/gui/painting/qcosmeticstroker.cpp:150:99: runtime error: index -1 out of bounds for type 'QT_FT_Span_ [255]' src/gui/painting/qcosmeticstroker.cpp:151:55: runtime error: index -1 out of bounds for type 'QT_FT_Span_ [255]' That code path makes no sense if no span has been populated yet, so skip the whole block if current_span == 0. Change-Id: I832b989e89c118dc48ab5add3a28bb44c1936a76 Reviewed-by: Allan Sandfeld Jensen --- src/gui/painting/qcosmeticstroker.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/gui/painting/qcosmeticstroker.cpp b/src/gui/painting/qcosmeticstroker.cpp index 8c3fd2ce4f..b310336b9b 100644 --- a/src/gui/painting/qcosmeticstroker.cpp +++ b/src/gui/painting/qcosmeticstroker.cpp @@ -141,12 +141,14 @@ inline void drawPixel(QCosmeticStroker *stroker, int x, int y, int coverage) if (x < cl.x() || x > cl.right() || y < cl.y() || y > cl.bottom()) return; - int lastx = stroker->spans[stroker->current_span-1].x + stroker->spans[stroker->current_span-1].len ; - int lasty = stroker->spans[stroker->current_span-1].y; + if (stroker->current_span > 0) { + const int lastx = stroker->spans[stroker->current_span-1].x + stroker->spans[stroker->current_span-1].len ; + const int lasty = stroker->spans[stroker->current_span-1].y; - if (stroker->current_span == QCosmeticStroker::NSPANS || y < lasty || (y == lasty && x < lastx)) { - stroker->blend(stroker->current_span, stroker->spans, &stroker->state->penData); - stroker->current_span = 0; + if (stroker->current_span == QCosmeticStroker::NSPANS || y < lasty || (y == lasty && x < lastx)) { + stroker->blend(stroker->current_span, stroker->spans, &stroker->state->penData); + stroker->current_span = 0; + } } stroker->spans[stroker->current_span].x = ushort(x); -- cgit v1.2.3 From 1b441c3941efc56f9b0ead35a4501056a74a77e1 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 7 Mar 2016 20:26:14 +0100 Subject: Q*Application: fix UB caused by accessing QGuiApplication from QCoreApplication ctor As reported by ubsan: src/gui/kernel/qplatformintegration.cpp:463:10: runtime error: downcast of address 0x7ffdc2942490 which does not point to an object of type 'QGuiApplication' 0x7ffdc2942490: note: object is of type 'QCoreApplication' src/gui/kernel/qplatformintegration.cpp:466:14: runtime error: downcast of address 0x7ffdc2942490 which does not point to an object of type 'QGuiApplication' 0x7ffdc2942490: note: object is of type 'QCoreApplication' src/gui/kernel/qplatformintegration.cpp:466:43: runtime error: member call on address 0x7ffdc2942490 which does not point to an object of type 'QGuiApplication' 0x7ffdc2942490: note: object is of type 'QCoreApplication' to name just a few which are reported when running gui and widget auto-tests; there're definitely more where these came from. This is caused by QCoreApplication::init() being called from the QCoreApplication ctor, calling virtual functions on Q*AppPrivate, which happen to attempt, in this case, to emit QGuiApp signals. At that point in time, the QGuiApplication ctor has not entered the constructor body, ergo the object is still a QCoreApplication, and calling the signal, as a member function on the derived class, invokes UB. Fix by cleaning up the wild mix of initialization functions used in this hierarchy. The cleanup restores the 1. Q*ApplicationPrivate::Q*ApplicationPrivate() 2. Q*ApplicationPrivate::init(), calling each base class' init() as the first thing two-stage construction pattern commonly used elsewhere in Qt to make sure that the public class' object is fully constructed by the time each level's Private::init() is called. Change-Id: I290402b3232315d7ed687c97e740bfbdbd3ecd1a Reviewed-by: Lars Knoll --- src/corelib/kernel/qcoreapplication.cpp | 47 ++++++++++++++++----------------- src/corelib/kernel/qcoreapplication.h | 2 -- src/corelib/kernel/qcoreapplication_p.h | 2 ++ src/gui/kernel/qguiapplication.cpp | 4 ++- src/gui/kernel/qguiapplication_p.h | 4 +-- src/widgets/kernel/qapplication.cpp | 9 +++++-- src/widgets/kernel/qapplication_p.h | 2 +- 7 files changed, 38 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 6dcd0ed5b4..30a3204d3d 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -703,7 +703,7 @@ QCoreApplication::QCoreApplication(QCoreApplicationPrivate &p) : QObject(p, 0) #endif { - init(); + d_func()->q_ptr = this; // note: it is the subclasses' job to call // QCoreApplicationPrivate::eventDispatcher->startingUp(); } @@ -752,27 +752,26 @@ QCoreApplication::QCoreApplication(int &argc, char **argv : QObject(*new QCoreApplicationPrivate(argc, argv, _internal)) #endif { - init(); + d_func()->q_ptr = this; + d_func()->init(); #ifndef QT_NO_QOBJECT QCoreApplicationPrivate::eventDispatcher->startingUp(); #endif } -// ### move to QCoreApplicationPrivate constructor? -void QCoreApplication::init() +void QCoreApplicationPrivate::init() { - d_ptr->q_ptr = this; - Q_D(QCoreApplication); + Q_Q(QCoreApplication); - QCoreApplicationPrivate::initLocale(); + initLocale(); - Q_ASSERT_X(!self, "QCoreApplication", "there should be only one application object"); - QCoreApplication::self = this; + Q_ASSERT_X(!QCoreApplication::self, "QCoreApplication", "there should be only one application object"); + QCoreApplication::self = q; // Store app name (so it's still available after QCoreApplication is destroyed) if (!coreappdata()->applicationNameSet) - coreappdata()->application = d_func()->appName(); + coreappdata()->application = appName(); QLoggingRegistry::instance()->init(); @@ -788,7 +787,7 @@ void QCoreApplication::init() // anywhere in the list, we can just linearly scan the lists and find the items that // have been removed. Once the original list is exhausted we know all the remaining // items have been added. - QStringList newPaths(libraryPaths()); + QStringList newPaths(q->libraryPaths()); for (int i = manualPaths->length(), j = appPaths->length(); i > 0 || j > 0; qt_noop()) { if (--j < 0) { newPaths.prepend((*manualPaths)[--i]); @@ -808,28 +807,28 @@ void QCoreApplication::init() #ifndef QT_NO_QOBJECT // use the event dispatcher created by the app programmer (if any) - if (!QCoreApplicationPrivate::eventDispatcher) - QCoreApplicationPrivate::eventDispatcher = d->threadData->eventDispatcher.load(); + if (!eventDispatcher) + eventDispatcher = threadData->eventDispatcher.load(); // otherwise we create one - if (!QCoreApplicationPrivate::eventDispatcher) - d->createEventDispatcher(); - Q_ASSERT(QCoreApplicationPrivate::eventDispatcher != 0); + if (!eventDispatcher) + createEventDispatcher(); + Q_ASSERT(eventDispatcher); - if (!QCoreApplicationPrivate::eventDispatcher->parent()) { - QCoreApplicationPrivate::eventDispatcher->moveToThread(d->threadData->thread); - QCoreApplicationPrivate::eventDispatcher->setParent(this); + if (!eventDispatcher->parent()) { + eventDispatcher->moveToThread(threadData->thread); + eventDispatcher->setParent(q); } - d->threadData->eventDispatcher = QCoreApplicationPrivate::eventDispatcher; - d->eventDispatcherReady(); + threadData->eventDispatcher = eventDispatcher; + eventDispatcherReady(); #endif #ifdef QT_EVAL extern void qt_core_eval_init(QCoreApplicationPrivate::Type); - qt_core_eval_init(d->application_type); + qt_core_eval_init(application_type); #endif - d->processCommandLineArguments(); + processCommandLineArguments(); qt_call_pre_routines(); qt_startup_hook(); @@ -839,7 +838,7 @@ void QCoreApplication::init() #endif #ifndef QT_NO_QOBJECT - QCoreApplicationPrivate::is_app_running = true; // No longer starting up. + is_app_running = true; // No longer starting up. #endif } diff --git a/src/corelib/kernel/qcoreapplication.h b/src/corelib/kernel/qcoreapplication.h index d865c4e7a8..a008c25c76 100644 --- a/src/corelib/kernel/qcoreapplication.h +++ b/src/corelib/kernel/qcoreapplication.h @@ -200,8 +200,6 @@ private: static bool notifyInternal2(QObject *receiver, QEvent *); #endif - void init(); - static QCoreApplication *self; Q_DISABLE_COPY(QCoreApplication) diff --git a/src/corelib/kernel/qcoreapplication_p.h b/src/corelib/kernel/qcoreapplication_p.h index 9a9e8dd09a..45c34b7df2 100644 --- a/src/corelib/kernel/qcoreapplication_p.h +++ b/src/corelib/kernel/qcoreapplication_p.h @@ -74,6 +74,8 @@ public: QCoreApplicationPrivate(int &aargc, char **aargv, uint flags); ~QCoreApplicationPrivate(); + void init(); + QString appName() const; #ifdef Q_OS_MAC diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 3808bec8a4..385264d70a 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -577,7 +577,7 @@ QGuiApplication::QGuiApplication(int &argc, char **argv, int flags) QGuiApplication::QGuiApplication(QGuiApplicationPrivate &p) : QCoreApplication(p) { - d_func()->init(); } +} /*! Destructs the application. @@ -1260,6 +1260,8 @@ void QGuiApplicationPrivate::eventDispatcherReady() void QGuiApplicationPrivate::init() { + QCoreApplicationPrivate::init(); + QCoreApplicationPrivate::is_app_running = false; // Starting up. bool loadTestability = false; diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index 9c8b655c71..9e157aad51 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -75,6 +75,8 @@ public: QGuiApplicationPrivate(int &argc, char **argv, int flags); ~QGuiApplicationPrivate(); + void init(); + void createPlatformIntegration(); void createEventDispatcher() Q_DECL_OVERRIDE; void eventDispatcherReady() Q_DECL_OVERRIDE; @@ -298,8 +300,6 @@ protected: private: friend class QDragManager; - void init(); - static QGuiApplicationPrivate *self; static QTouchDevice *m_fakeTouchDevice; static int m_fakeMouseSourcePointId; diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index f7d4139ed8..b7de0d7a7e 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -562,13 +562,18 @@ QApplication::QApplication(int &argc, char **argv) QApplication::QApplication(int &argc, char **argv, int _internal) #endif : QGuiApplication(*new QApplicationPrivate(argc, argv, _internal)) -{ Q_D(QApplication); d->construct(); } +{ + Q_D(QApplication); + d->init(); +} /*! \internal */ -void QApplicationPrivate::construct() +void QApplicationPrivate::init() { + QGuiApplicationPrivate::init(); + initResources(); qt_is_gui_used = (application_type != QApplicationPrivate::Tty); diff --git a/src/widgets/kernel/qapplication_p.h b/src/widgets/kernel/qapplication_p.h index cb158011f0..832d37a329 100644 --- a/src/widgets/kernel/qapplication_p.h +++ b/src/widgets/kernel/qapplication_p.h @@ -150,7 +150,7 @@ public: bool notify_helper(QObject *receiver, QEvent * e); - void construct( + void init( #ifdef Q_DEAD_CODE_FROM_QT4_X11 Display *dpy = 0, Qt::HANDLE visual = 0, Qt::HANDLE cmap = 0 #endif -- cgit v1.2.3 From 9dcbffabbdb2da59c2f9a1227df2d6d66866d654 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Fri, 4 Mar 2016 15:02:36 +0300 Subject: CoreLib: replace Java-style iterators ... with STL-style iterators or with algorithms. Java-style iterators have overhead. Change-Id: Ibeace7357c205a39dff3ca3fc0c835a026a15cac Reviewed-by: Edward Welbourne Reviewed-by: Marc Mutz --- src/corelib/mimetypes/qmimeglobpattern.cpp | 6 ++---- src/corelib/mimetypes/qmimeglobpattern_p.h | 9 ++++----- 2 files changed, 6 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/corelib/mimetypes/qmimeglobpattern.cpp b/src/corelib/mimetypes/qmimeglobpattern.cpp index 5205595943..94be5385f3 100644 --- a/src/corelib/mimetypes/qmimeglobpattern.cpp +++ b/src/corelib/mimetypes/qmimeglobpattern.cpp @@ -182,10 +182,8 @@ void QMimeAllGlobPatterns::addGlob(const QMimeGlobPattern &glob) void QMimeAllGlobPatterns::removeMimeType(const QString &mimeType) { - QMutableHashIterator it(m_fastPatterns); - while (it.hasNext()) { - it.next().value().removeAll(mimeType); - } + for (auto &x : m_fastPatterns) + x.removeAll(mimeType); m_highWeightGlobs.removeMimeType(mimeType); m_lowWeightGlobs.removeMimeType(mimeType); } diff --git a/src/corelib/mimetypes/qmimeglobpattern_p.h b/src/corelib/mimetypes/qmimeglobpattern_p.h index 7b4ecd2f6a..e4c74ff7fa 100644 --- a/src/corelib/mimetypes/qmimeglobpattern_p.h +++ b/src/corelib/mimetypes/qmimeglobpattern_p.h @@ -130,11 +130,10 @@ public: */ void removeMimeType(const QString &mimeType) { - QMutableListIterator it(*this); - while (it.hasNext()) { - if (it.next().mimeType() == mimeType) - it.remove(); - } + auto isMimeTypeEqual = [&mimeType](const QMimeGlobPattern &pattern) { + return pattern.mimeType() == mimeType; + }; + erase(std::remove_if(begin(), end(), isMimeTypeEqual), end()); } void match(QMimeGlobMatchResult &result, const QString &fileName) const; -- cgit v1.2.3 From 1bfc7f680fc3dd839eac553c80d151a2cc7bfa3d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 6 Mar 2016 19:34:06 +0100 Subject: QString, QJson, QHash: Fix UBs involving unaligned loads Found by UBSan: src/corelib/tools/qstring.cpp:587:42: runtime error: load of misaligned address 0x2acbf4b7551b for type 'const long long int', which requires 8 byte alignment src/corelib/json/qjson_p.h:405:30: runtime error: store to misaligned address 0x0000019b1e52 for type 'quint64', which requires 8 byte alignment src/corelib/tools/qhash.cpp:116:27: runtime error: load of misaligned address 0x2b8f9ce80e85 for type 'const qlonglong', which requires 8 byte alignment src/corelib/tools/qhash.cpp:133:26: runtime error: load of misaligned address 0x2b8f9ce80e8d for type 'const ushort', which requires 2 byte alignment Fix by memcpy()ing into a local variable. Wrap this trick in template functions in qsimd_p.h. These are marked as always- inline and use __builtin_memcpy() where available in an attempt to avoid the memcpy() function call overhead in debug builds. While this looks prohibitively expensive, from the pov of the C++ abstract machine, it is 100% equivalent, except for the absence of undefined behavior. In one case, the cast produces a local temporary which is then copied into the function, and in the other case, that local variable comes from return value of qUnalignedLoad(). Consequently, GCC compiles these two versions into identical assembler code (only verfied for ucstrncmp, but there's no reason to believe that it wouldn't hold for the other cases, too). Task-number: QTBUG-51651 Change-Id: Ia50d4a1d7580b6f803e0895c9f3d89c7da37840c Reviewed-by: Olivier Goffart (Woboq GmbH) Reviewed-by: Allan Sandfeld Jensen --- src/corelib/json/qjson_p.h | 2 +- src/corelib/tools/qhash.cpp | 8 ++++---- src/corelib/tools/qsimd.cpp | 22 ++++++++++++++++++++++ src/corelib/tools/qsimd_p.h | 37 +++++++++++++++++++++++++++++++++++++ src/corelib/tools/qstring.cpp | 2 +- 5 files changed, 65 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/corelib/json/qjson_p.h b/src/corelib/json/qjson_p.h index 0b3f517990..59d0c91785 100644 --- a/src/corelib/json/qjson_p.h +++ b/src/corelib/json/qjson_p.h @@ -402,7 +402,7 @@ public: // pack with itself, we'll discard the high part anyway chunk = _mm_packus_epi16(chunk, chunk); // unaligned 64-bit store - *(quint64*)&l[i] = _mm_cvtsi128_si64(chunk); + qUnalignedStore(l + i, _mm_cvtsi128_si64(chunk)); i += 8; } # endif diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index 775e1364a1..ac9e08de8b 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -106,24 +106,24 @@ static uint crc32(const Char *ptr, size_t len, uint h) p += 8; for ( ; p <= e; p += 8) - h2 = _mm_crc32_u64(h2, *reinterpret_cast(p - 8)); + h2 = _mm_crc32_u64(h2, qUnalignedLoad(p - 8)); h = h2; p -= 8; len = e - p; if (len & 4) { - h = _mm_crc32_u32(h, *reinterpret_cast(p)); + h = _mm_crc32_u32(h, qUnalignedLoad(p)); p += 4; } # else p += 4; for ( ; p <= e; p += 4) - h = _mm_crc32_u32(h, *reinterpret_cast(p - 4)); + h = _mm_crc32_u32(h, qUnalignedLoad(p - 4)); p -= 4; len = e - p; # endif if (len & 2) { - h = _mm_crc32_u16(h, *reinterpret_cast(p)); + h = _mm_crc32_u16(h, qUnalignedLoad(p)); p += 2; } if (sizeof(Char) == 1 && len & 1) diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp index f07eb098f2..5ca2ce4c6f 100644 --- a/src/corelib/tools/qsimd.cpp +++ b/src/corelib/tools/qsimd.cpp @@ -716,4 +716,26 @@ void qDumpCPUFeatures() puts(""); } +/*! + \internal + \fn T qUnalignedLoad(const void *ptr) + \since 5.6.1 + + Loads a \c{T} from address \a ptr, which may be misaligned. + + Use of this function avoid the undefined behavior that the C++ standard + otherwise attributes to unaligned loads. +*/ + +/*! + \internal + \fn void qUnalignedStore(void *ptr, T t) + \since 5.6.1 + + Stores \a t to address \a ptr, which may be misaligned. + + Use of this function avoid the undefined behavior that the C++ standard + otherwise attributes to unaligned stores. +*/ + QT_END_NAMESPACE diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h index 12a329f36c..8171184ad2 100644 --- a/src/corelib/tools/qsimd_p.h +++ b/src/corelib/tools/qsimd_p.h @@ -470,6 +470,43 @@ unsigned _bit_scan_forward(unsigned val) #define ALIGNMENT_PROLOGUE_16BYTES(ptr, i, length) \ for (; i < static_cast(qMin(static_cast(length), ((4 - ((reinterpret_cast(ptr) >> 2) & 0x3)) & 0x3))); ++i) +// these defines are copied from qendian.h +// in Qt 5.7, they have been moved to qglobal.h +// drop them when merging this to 5.7 +#ifdef __has_builtin +# define QT_HAS_BUILTIN(x) __has_builtin(x) +#else +# define QT_HAS_BUILTIN(x) 0 +#endif + +template +Q_ALWAYS_INLINE +T qUnalignedLoad(const void *ptr) Q_DECL_NOTHROW +{ + T result; +#if QT_HAS_BUILTIN(__builtin_memcpy) + __builtin_memcpy +#else + memcpy +#endif + /*memcpy*/(&result, ptr, sizeof result); + return result; +} + +template +Q_ALWAYS_INLINE +void qUnalignedStore(void *ptr, T t) Q_DECL_NOTHROW +{ +#if QT_HAS_BUILTIN(__builtin_memcpy) + __builtin_memcpy +#else + memcpy +#endif + /*memcpy*/(ptr, &t, sizeof t); +} + +#undef QT_HAS_BUILTIN + QT_END_NAMESPACE #endif // QSIMD_P_H diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 39ec66c7f1..9924b606c5 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -577,7 +577,7 @@ static int ucstrncmp(const QChar *a, const uchar *c, int l) // we'll read uc[offset..offset+7] (16 bytes) and c[offset..offset+7] (8 bytes) if (uc + offset + 7 < e) { // same, but we're using an 8-byte load - __m128i chunk = _mm_cvtsi64_si128(*(const long long *)(c + offset)); + __m128i chunk = _mm_cvtsi64_si128(qUnalignedLoad(c + offset)); __m128i secondHalf = _mm_unpacklo_epi8(chunk, nullmask); __m128i ucdata = _mm_loadu_si128((const __m128i*)(uc + offset)); -- cgit v1.2.3 From 3856099d9a6c9cd90747d530819df8c99198fa54 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 9 Mar 2016 11:09:18 +0100 Subject: QGestureManager: fix UB in filterEvent() The code infers from the presence of an address in a QHash that the address belongs to a QGesture. So far that is fine enough. But in order to perform the lookup, it static_cast<>s the QObject* argument to a QGesture* for the QHash:: contains() call. Even though the pointer is not dereferenced, the cast is UB. Says UBSan: qgesturemanager.cpp:558:73: runtime error: downcast of address 0x2ab83364f3a0 which does not point to an object of type 'QGesture' 0x2ab83364f3a0: note: object is of type 'QDBusConnectionManager' which is a particularly hideous error message because of the constantly-changing completely-unrelated actual type in the second line of the message: 52 QDBusConnectionManager 19 QSocketNotifier 14 QFusionStyle 13 QAction 6 QApplication 3 QGraphicsWidget 1 Window 1 TestRunnable 1 RectWidget 1 QTimer 1 QSingleShotTimer 1 QOffscreenSurface 1 QGraphicsProxyWidget 1 QDefaultAnimationDriver 1 QDBusPendingCallWatcherHelper This error is also _very_ common, triggered 116 times in a single run of make -C tests/auto check. Fix by using qobject_cast first and then doing the lookup only when the cast succeeded. Depending on the performance of qobject_cast<>, this may actually perform better, too. Change-Id: I884ec7d885711acc3c1d004ce93c628268d8fc18 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/widgets/kernel/qgesturemanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/widgets/kernel/qgesturemanager.cpp b/src/widgets/kernel/qgesturemanager.cpp index fb2914d53a..967ef6b40c 100644 --- a/src/widgets/kernel/qgesturemanager.cpp +++ b/src/widgets/kernel/qgesturemanager.cpp @@ -548,9 +548,9 @@ bool QGestureManager::filterEvent(QObject *receiver, QEvent *event) if (widgetWindow) return filterEvent(widgetWindow->widget(), event); - if (!m_gestureToRecognizer.contains(static_cast(receiver))) + QGesture *state = qobject_cast(receiver); + if (!state || !m_gestureToRecognizer.contains(state)) return false; - QGesture *state = static_cast(receiver); QMultiMap contexts; contexts.insert(state, state->gestureType()); return filterEventThroughContexts(contexts, event); -- cgit v1.2.3 From 7d374b7ba68c29a1b065cb1645789dbbc3d5ac33 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 8 Mar 2016 16:55:06 +0100 Subject: QString::vasprintf(): Use quintptr when casting pointer for %p. Previously, the macro Q_OS_WIN64 was checked, causing warnings: tools\qstring.cpp(6183): warning C4311: 'reinterpret_cast': pointer truncation from 'void *' to 'unsigned long' tools\qstring.cpp(6183): warning C4302: 'reinterpret_cast': truncation from 'void *' to 'unsigned long' when compiling WinRT/64bit, where it is not defined. Change-Id: Ib9d8405108c85170aba18b13f9c64083136bc5ee Reviewed-by: Maurice Kalinowski Reviewed-by: Marc Mutz --- src/corelib/tools/qstring.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src') diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp index 9924b606c5..cdf37cca07 100644 --- a/src/corelib/tools/qstring.cpp +++ b/src/corelib/tools/qstring.cpp @@ -6163,11 +6163,7 @@ QString QString::vasprintf(const char *cformat, va_list ap) } case 'p': { void *arg = va_arg(ap, void*); -#ifdef Q_OS_WIN64 - quint64 i = reinterpret_cast(arg); -#else - quint64 i = reinterpret_cast(arg); -#endif + const quint64 i = reinterpret_cast(arg); flags |= QLocaleData::Alternate; subst = QLocaleData::c()->unsLongLongToString(i, precision, 16, width, flags); ++c; -- cgit v1.2.3 From cb24903ef4df0571f8498fca6bc58f5df6dd68af Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 9 Mar 2016 10:22:43 +0100 Subject: Generate QVariant::fromValue(enum_value) for enum values Instead of just QVariant(enum_value). Task-number: QTBUG-49383 Change-Id: Id57c65b68d4328816046bc35301dc6afba47b727 Reviewed-by: Friedemann Kleint --- src/tools/uic/cpp/cppwriteinitialization.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/tools/uic/cpp/cppwriteinitialization.cpp b/src/tools/uic/cpp/cppwriteinitialization.cpp index 9c2d7cbc2c..e0d4bea5b9 100644 --- a/src/tools/uic/cpp/cppwriteinitialization.cpp +++ b/src/tools/uic/cpp/cppwriteinitialization.cpp @@ -1267,7 +1267,10 @@ void WriteInitialization::writeProperties(const QString &varName, } else { setFunction = QLatin1String("->setProperty(\""); setFunction += propertyName; - setFunction += QLatin1String("\", QVariant("); + setFunction += QLatin1String("\", QVariant"); + if (p->kind() == DomProperty::Enum) + setFunction += QLatin1String("::fromValue"); + setFunction += QLatin1Char('('); } QString varNewName = varName; -- cgit v1.2.3 From d7db6c6c1944894737babf3958d0cff1e6222a22 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Tue, 8 Mar 2016 15:50:20 +0100 Subject: xcb: mark mouse events from tablet devices as synthesized Task-number: QTBUG-51617 Change-Id: Ic1d258c56165947ff821b1bf4d044bcf29b41a3b Reviewed-by: Laszlo Agocs --- src/plugins/platforms/xcb/qxcbconnection.h | 2 +- src/plugins/platforms/xcb/qxcbconnection_xi2.cpp | 2 +- src/plugins/platforms/xcb/qxcbwindow.cpp | 39 +++++++++++++++--------- src/plugins/platforms/xcb/qxcbwindow.h | 11 ++++--- 4 files changed, 32 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h index 47ef173cf4..86af5dc9c5 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.h +++ b/src/plugins/platforms/xcb/qxcbconnection.h @@ -350,7 +350,7 @@ public: virtual void handleFocusOutEvent(const xcb_focus_out_event_t *) {} virtual void handlePropertyNotifyEvent(const xcb_property_notify_event_t *) {} #ifdef XCB_USE_XINPUT22 - virtual void handleXIMouseEvent(xcb_ge_event_t *) {} + virtual void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource = Qt::MouseEventNotSynthesized) {} virtual void handleXIEnterLeave(xcb_ge_event_t *) {} #endif virtual QXcbWindow *toWindow() { return 0; } diff --git a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp index 81cdaa56c5..9911afb11e 100644 --- a/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp @@ -1130,7 +1130,7 @@ bool QXcbConnection::xi2HandleTabletEvent(void *event, TabletData *tabletData, Q // Synthesize mouse events since otherwise there are no mouse events from // the pen on the XI 2.2+ path. if (xi2MouseEvents() && eventListener) - eventListener->handleXIMouseEvent(reinterpret_cast(event)); + eventListener->handleXIMouseEvent(reinterpret_cast(event), Qt::MouseEventSynthesizedByQt); #else Q_UNUSED(eventListener); #endif diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index bfbc38e4c2..cd1774fed7 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -34,6 +34,7 @@ #include "qxcbwindow.h" #include +#include #include #include #include @@ -2158,7 +2159,7 @@ void QXcbWindow::handleUnmapNotifyEvent(const xcb_unmap_notify_event_t *event) } void QXcbWindow::handleButtonPressEvent(int event_x, int event_y, int root_x, int root_y, - int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp) + int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source) { const bool isWheel = detail >= 4 && detail <= 7; if (!isWheel && window() != QGuiApplication::focusWindow()) { @@ -2194,11 +2195,11 @@ void QXcbWindow::handleButtonPressEvent(int event_x, int event_y, int root_x, in return; } - handleMouseEvent(timestamp, local, global, modifiers); + handleMouseEvent(timestamp, local, global, modifiers, source); } void QXcbWindow::handleButtonReleaseEvent(int event_x, int event_y, int root_x, int root_y, - int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp) + int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source) { QPoint local(event_x, event_y); QPoint global(root_x, root_y); @@ -2208,7 +2209,7 @@ void QXcbWindow::handleButtonReleaseEvent(int event_x, int event_y, int root_x, return; } - handleMouseEvent(timestamp, local, global, modifiers); + handleMouseEvent(timestamp, local, global, modifiers, source); } static bool ignoreLeaveEvent(quint8 mode, quint8 detail) @@ -2291,11 +2292,11 @@ void QXcbWindow::handleLeaveNotifyEvent(int root_x, int root_y, } void QXcbWindow::handleMotionNotifyEvent(int event_x, int event_y, int root_x, int root_y, - Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp) + Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source) { QPoint local(event_x, event_y); QPoint global(root_x, root_y); - handleMouseEvent(timestamp, local, global, modifiers); + handleMouseEvent(timestamp, local, global, modifiers, source); } // Handlers for plain xcb events. Used only when XI 2.2 or newer is not available. @@ -2326,7 +2327,7 @@ static inline int fixed1616ToInt(FP1616 val) } // With XI 2.2+ press/release/motion comes here instead of the above handlers. -void QXcbWindow::handleXIMouseEvent(xcb_ge_event_t *event) +void QXcbWindow::handleXIMouseEvent(xcb_ge_event_t *event, Qt::MouseEventSource source) { QXcbConnection *conn = connection(); xXIDeviceEvent *ev = reinterpret_cast(event); @@ -2346,20 +2347,27 @@ void QXcbWindow::handleXIMouseEvent(xcb_ge_event_t *event) conn->setButton(conn->translateMouseButton(i), XIMaskIsSet(buttonMask, i)); } + const char *sourceName = nullptr; + if (lcQpaXInput().isDebugEnabled()) { + const QMetaObject *metaObject = qt_getEnumMetaObject(source); + const QMetaEnum me = metaObject->enumerator(metaObject->indexOfEnumerator(qt_getEnumName(source))); + sourceName = me.valueToKey(source); + } + switch (ev->evtype) { case XI_ButtonPress: - qCDebug(lcQpaXInput, "XI2 mouse press, button %d, time %d", button, ev->time); + qCDebug(lcQpaXInput, "XI2 mouse press, button %d, time %d, source %s", button, ev->time, sourceName); conn->setButton(button, true); - handleButtonPressEvent(event_x, event_y, root_x, root_y, ev->detail, modifiers, ev->time); + handleButtonPressEvent(event_x, event_y, root_x, root_y, ev->detail, modifiers, ev->time, source); break; case XI_ButtonRelease: - qCDebug(lcQpaXInput, "XI2 mouse release, button %d, time %d", button, ev->time); + qCDebug(lcQpaXInput, "XI2 mouse release, button %d, time %d, source %s", button, ev->time, sourceName); conn->setButton(button, false); - handleButtonReleaseEvent(event_x, event_y, root_x, root_y, ev->detail, modifiers, ev->time); + handleButtonReleaseEvent(event_x, event_y, root_x, root_y, ev->detail, modifiers, ev->time, source); break; case XI_Motion: - qCDebug(lcQpaXInput, "XI2 mouse motion %d,%d, time %d", event_x, event_y, ev->time); - handleMotionNotifyEvent(event_x, event_y, root_x, root_y, modifiers, ev->time); + qCDebug(lcQpaXInput, "XI2 mouse motion %d,%d, time %d, source %s", event_x, event_y, ev->time, sourceName); + handleMotionNotifyEvent(event_x, event_y, root_x, root_y, modifiers, ev->time, source); break; default: qWarning() << "Unrecognized XI2 mouse event" << ev->evtype; @@ -2402,10 +2410,11 @@ void QXcbWindow::handleXIEnterLeave(xcb_ge_event_t *event) QXcbWindow *QXcbWindow::toWindow() { return this; } -void QXcbWindow::handleMouseEvent(xcb_timestamp_t time, const QPoint &local, const QPoint &global, Qt::KeyboardModifiers modifiers) +void QXcbWindow::handleMouseEvent(xcb_timestamp_t time, const QPoint &local, const QPoint &global, + Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source) { connection()->setTime(time); - QWindowSystemInterface::handleMouseEvent(window(), time, local, global, connection()->buttons(), modifiers); + QWindowSystemInterface::handleMouseEvent(window(), time, local, global, connection()->buttons(), modifiers, source); } void QXcbWindow::handleEnterNotifyEvent(const xcb_enter_notify_event_t *event) diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h index 69790f29ae..4673f3dd33 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.h +++ b/src/plugins/platforms/xcb/qxcbwindow.h @@ -133,13 +133,14 @@ public: void handleFocusOutEvent(const xcb_focus_out_event_t *event) Q_DECL_OVERRIDE; void handlePropertyNotifyEvent(const xcb_property_notify_event_t *event) Q_DECL_OVERRIDE; #ifdef XCB_USE_XINPUT22 - void handleXIMouseEvent(xcb_ge_event_t *) Q_DECL_OVERRIDE; + void handleXIMouseEvent(xcb_ge_event_t *, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized) Q_DECL_OVERRIDE; void handleXIEnterLeave(xcb_ge_event_t *) Q_DECL_OVERRIDE; #endif QXcbWindow *toWindow() Q_DECL_OVERRIDE; - void handleMouseEvent(xcb_timestamp_t time, const QPoint &local, const QPoint &global, Qt::KeyboardModifiers modifiers); + void handleMouseEvent(xcb_timestamp_t time, const QPoint &local, const QPoint &global, + Qt::KeyboardModifiers modifiers, Qt::MouseEventSource source); void updateNetWmUserTime(xcb_timestamp_t timestamp); @@ -207,13 +208,13 @@ protected: bool compressExposeEvent(QRegion &exposeRegion); void handleButtonPressEvent(int event_x, int event_y, int root_x, int root_y, - int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp); + int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized); void handleButtonReleaseEvent(int event_x, int event_y, int root_x, int root_y, - int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp); + int detail, Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized); void handleMotionNotifyEvent(int event_x, int event_y, int root_x, int root_y, - Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp); + Qt::KeyboardModifiers modifiers, xcb_timestamp_t timestamp, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized); void handleEnterNotifyEvent(int event_x, int event_y, int root_x, int root_y, quint8 mode, quint8 detail, xcb_timestamp_t timestamp); -- cgit v1.2.3 From f8f1bac3f0df29e9a3103d385a0c5f9153a9eb66 Mon Sep 17 00:00:00 2001 From: Dyami Caliri Date: Mon, 7 Mar 2016 20:27:09 -0800 Subject: Accept LFCRLF to mark end of HTTP Headers Some embedded servers use LF to mark the end of an individual header, but use CRLF to mark the end of all the headers. The GoPro WiFi interface does this, as an example. Change-Id: I227ab73622c84f439a6cf8703d020393c4d8bf69 Reviewed-by: Marc Mutz Reviewed-by: Markus Goetz (Woboq GmbH) --- src/network/access/qhttpnetworkreply.cpp | 5 ++--- src/network/access/qhttpnetworkreply_p.h | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp index a0f05523e3..f1b0a844c8 100644 --- a/src/network/access/qhttpnetworkreply.cpp +++ b/src/network/access/qhttpnetworkreply.cpp @@ -554,9 +554,8 @@ qint64 QHttpNetworkReplyPrivate::readHeader(QAbstractSocket *socket) if (c == '\n') { // check for possible header endings. As per HTTP rfc, // the header endings will be marked by CRLFCRLF. But - // we will allow CRLFCRLF, CRLFLF, LFLF - if (fragment.endsWith("\r\n\r\n") - || fragment.endsWith("\r\n\n") + // we will allow CRLFCRLF, CRLFLF, LFCRLF, LFLF + if (fragment.endsWith("\n\r\n") || fragment.endsWith("\n\n")) allHeaders = true; diff --git a/src/network/access/qhttpnetworkreply_p.h b/src/network/access/qhttpnetworkreply_p.h index e8ed73fdac..4e09fd9110 100644 --- a/src/network/access/qhttpnetworkreply_p.h +++ b/src/network/access/qhttpnetworkreply_p.h @@ -175,7 +175,7 @@ private: }; -class QHttpNetworkReplyPrivate : public QObjectPrivate, public QHttpNetworkHeaderPrivate +class Q_AUTOTEST_EXPORT QHttpNetworkReplyPrivate : public QObjectPrivate, public QHttpNetworkHeaderPrivate { public: QHttpNetworkReplyPrivate(const QUrl &newUrl = QUrl()); -- cgit v1.2.3 From 2020d2cb63b851723e188c002acbe25b5f066525 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 4 Mar 2016 15:19:50 -0800 Subject: QObject: fix GCC 6 warning about qt_static_metacall's 'hidden' attribute use MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This warning is triggered when we try to apply the Q_DECL_HIDDEN attribute to a class in an unnamed namespace. Such classes are already not exported. qobjectdefs.h:175:108: warning: ‘visibility’ attribute ignored [-Wattributes] qobjectdefs.h:198:108: warning: ‘visibility’ attribute ignored [-Wattributes] Added a test on gadgets (and QObjects) in unnamed namespaces, because qtbase currently does not contain such Q_GADGETs. Done-with: Thiago Macieira Change-Id: Ic747cc2ab45e4dc6bb70ffff1438c747b05c5672 Reviewed-by: Lars Knoll Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/kernel/qobjectdefs.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index b1ed971eba..2e9ed4fb5f 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -152,6 +152,12 @@ inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {} # define Q_OBJECT_NO_OVERRIDE_WARNING #endif +#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && Q_CC_GNU >= 600 +# define Q_OBJECT_NO_ATTRIBUTES_WARNING QT_WARNING_DISABLE_GCC("-Wattributes") +#else +# define Q_OBJECT_NO_ATTRIBUTES_WARNING +#endif + /* qmake ignore Q_OBJECT */ #define Q_OBJECT \ public: \ @@ -162,10 +168,11 @@ public: \ virtual const QMetaObject *metaObject() const; \ virtual void *qt_metacast(const char *); \ virtual int qt_metacall(QMetaObject::Call, int, void **); \ - QT_WARNING_POP \ QT_TR_FUNCTIONS \ private: \ + Q_OBJECT_NO_ATTRIBUTES_WARNING \ Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); \ + QT_WARNING_POP \ struct QPrivateSignal {}; /* qmake ignore Q_OBJECT */ @@ -179,7 +186,11 @@ public: \ void qt_check_for_QGADGET_macro(); \ typedef void QtGadgetHelper; \ private: \ - Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); + QT_WARNING_PUSH \ + Q_OBJECT_NO_ATTRIBUTES_WARNING \ + Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **); \ + QT_WARNING_POP \ + /*end*/ #endif // QT_NO_META_MACROS #else // Q_MOC_RUN -- cgit v1.2.3 From 85a57f7a2e85ac61bb65e66b003cb21f58d5a5b7 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Thu, 3 Mar 2016 13:51:19 -0800 Subject: Wheel event widget: Harden logic an extra bit This is quite an unlikely scenario, but not impossible. It could be that the wheel widget is destroyed during an update phase event. In that case, wheel_widget would be a dangling pointer for any subsequent wheel event. We protect against this with a QPointer. However, that would mean that if the next wheel event were to be an end phase event, that event would be lost. So we go through the usual code path, except that we won't set wheel_widget in the case of an end phase event. Change-Id: I59a912b845dcc249e1edc60b4dc28bf308d807d9 Reviewed-by: Shawn Rutledge --- src/widgets/kernel/qapplication.cpp | 76 +++++++++++++++++++++++++------------ src/widgets/kernel/qapplication_p.h | 2 +- 2 files changed, 53 insertions(+), 25 deletions(-) (limited to 'src') diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index b7de0d7a7e..b34380dbc3 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -417,7 +417,7 @@ QWidget *QApplicationPrivate::hidden_focus_widget = 0; // will get keyboard inpu QWidget *QApplicationPrivate::active_window = 0; // toplevel with keyboard focus #ifndef QT_NO_WHEELEVENT int QApplicationPrivate::wheel_scroll_lines; // number of lines to scroll -QWidget *QApplicationPrivate::wheel_widget = Q_NULLPTR; +QPointer QApplicationPrivate::wheel_widget; #endif bool qt_in_tab_key_event = false; int qt_antialiasing_threshold = -1; @@ -3326,9 +3326,32 @@ bool QApplication::notify(QObject *receiver, QEvent *e) const bool spontaneous = wheel->spontaneous(); const Qt::ScrollPhase phase = wheel->phase(); - if (phase == Qt::NoScrollPhase || phase == Qt::ScrollBegin - || (phase == Qt::ScrollUpdate && !QApplicationPrivate::wheel_widget)) { - + // Ideally, we should lock on a widget when it starts receiving wheel + // events. This avoids other widgets to start receiving those events + // as the mouse cursor hovers them. However, given the way common + // wheeled mice work, there's no certain way of connecting different + // wheel events as a stream. This results in the NoScrollPhase case, + // where we just send the event from the original receiver and up its + // hierarchy until the event gets accepted. + // + // In the case of more evolved input devices, like Apple's trackpad or + // Magic Mouse, we receive the scroll phase information. This helps us + // connect wheel events as a stream and therefore makes it easier to + // lock on the widget onto which the scrolling was initiated. + // + // We assume that, when supported, the phase cycle follows the pattern: + // + // ScrollBegin (ScrollUpdate* ScrollEnd)+ + // + // This means that we can have scrolling sequences (starting with ScrollBegin) + // or partial sequences (after a ScrollEnd and starting with ScrollUpdate). + // If wheel_widget is null because it was deleted, we also take the same + // code path as an initial sequence. + if (phase == Qt::NoScrollPhase || phase == Qt::ScrollBegin || !QApplicationPrivate::wheel_widget) { + + // A system-generated ScrollBegin event starts a new user scrolling + // sequence, so we reset wheel_widget in case no one accepts the event + // or if we didn't get (or missed) a ScrollEnd previously. if (spontaneous && phase == Qt::ScrollBegin) QApplicationPrivate::wheel_widget = Q_NULLPTR; @@ -3346,7 +3369,10 @@ bool QApplication::notify(QObject *receiver, QEvent *e) res = d->notify_helper(w, &we); eventAccepted = we.isAccepted(); if (res && eventAccepted) { - if (spontaneous && phase != Qt::NoScrollPhase && QGuiApplicationPrivate::scrollNoPhaseAllowed) + // A new scrolling sequence or partial sequence starts and w has accepted + // the event. Therefore, we can set wheel_widget, but only if it's not + // the end of a sequence. + if (spontaneous && (phase == Qt::ScrollBegin || phase == Qt::ScrollUpdate) && QGuiApplicationPrivate::scrollNoPhaseAllowed) QApplicationPrivate::wheel_widget = w; break; } @@ -3357,25 +3383,27 @@ bool QApplication::notify(QObject *receiver, QEvent *e) w = w->parentWidget(); } wheel->setAccepted(eventAccepted); - } else if (QApplicationPrivate::wheel_widget) { - if (!spontaneous) { - // wheel_widget may forward the wheel event to a delegate widget, - // either directly or indirectly (e.g. QAbstractScrollArea will - // forward to its QScrollBars through viewportEvent()). In that - // case, the event will not be spontaneous but synthesized, so - // we can send it straigth to the receiver. - d->notify_helper(w, wheel); - } else { - const QPoint &relpos = QApplicationPrivate::wheel_widget->mapFromGlobal(wheel->globalPos()); - QWheelEvent we(relpos, wheel->globalPos(), wheel->pixelDelta(), wheel->angleDelta(), wheel->delta(), wheel->orientation(), wheel->buttons(), - wheel->modifiers(), wheel->phase(), wheel->source()); - we.spont = true; - we.ignore(); - d->notify_helper(QApplicationPrivate::wheel_widget, &we); - wheel->setAccepted(we.isAccepted()); - if (phase == Qt::ScrollEnd) - QApplicationPrivate::wheel_widget = Q_NULLPTR; - } + } else if (!spontaneous) { + // wheel_widget may forward the wheel event to a delegate widget, + // either directly or indirectly (e.g. QAbstractScrollArea will + // forward to its QScrollBars through viewportEvent()). In that + // case, the event will not be spontaneous but synthesized, so + // we can send it straight to the receiver. + d->notify_helper(w, wheel); + } else { + // The phase is either ScrollUpdate or ScrollEnd, and wheel_widget + // is set. Since it accepted the wheel event previously, we continue + // sending those events until we get a ScrollEnd, which signifies + // the end of the natural scrolling sequence. + const QPoint &relpos = QApplicationPrivate::wheel_widget->mapFromGlobal(wheel->globalPos()); + QWheelEvent we(relpos, wheel->globalPos(), wheel->pixelDelta(), wheel->angleDelta(), wheel->delta(), wheel->orientation(), wheel->buttons(), + wheel->modifiers(), wheel->phase(), wheel->source()); + we.spont = true; + we.ignore(); + d->notify_helper(QApplicationPrivate::wheel_widget, &we); + wheel->setAccepted(we.isAccepted()); + if (phase == Qt::ScrollEnd) + QApplicationPrivate::wheel_widget = Q_NULLPTR; } } break; diff --git a/src/widgets/kernel/qapplication_p.h b/src/widgets/kernel/qapplication_p.h index 832d37a329..4b3cf773dc 100644 --- a/src/widgets/kernel/qapplication_p.h +++ b/src/widgets/kernel/qapplication_p.h @@ -202,7 +202,7 @@ public: static QWidget *active_window; #ifndef QT_NO_WHEELEVENT static int wheel_scroll_lines; - static QWidget *wheel_widget; + static QPointer wheel_widget; #endif static int enabledAnimations; // Combination of QPlatformTheme::UiEffect -- cgit v1.2.3 From 807240a8831f1b75e945471c129597c4b79a95ea Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 10 Mar 2016 09:49:22 +0100 Subject: QJsonParser: fix UB (misaligned store) in Parser::parseNumber() Found by UBSan: qjsonparser.cpp:741:30: runtime error: store to misaligned address 0x0000019b1e94 for type 'quint64', which requires 8 byte alignment Fix by using the qToLittleEndian() overload that can store to misaligned memory. Change-Id: Ib84bd30b13c68f7fdb8870c9fbbfac15cff0112d Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/json/qjsonparser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/json/qjsonparser.cpp b/src/corelib/json/qjsonparser.cpp index 0d62687388..b8a628fdcc 100644 --- a/src/corelib/json/qjsonparser.cpp +++ b/src/corelib/json/qjsonparser.cpp @@ -732,7 +732,7 @@ bool Parser::parseNumber(QJsonPrivate::Value *val, int baseOffset) } int pos = reserveSpace(sizeof(double)); - *(quint64 *)(data + pos) = qToLittleEndian(ui); + qToLittleEndian(ui, reinterpret_cast(data + pos)); if (current - baseOffset >= Value::MaxSize) { lastError = QJsonParseError::DocumentTooLarge; return false; -- cgit v1.2.3 From 62e0a98282081911616a8c005464d483a3a480d2 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 15 Dec 2015 17:15:15 +0100 Subject: Fix debug operators for QPageSize/QPageLayout. Remove placeholder formatting and add noquote. Change-Id: I4a89f88778caf007ce42bbf57edfb514fe76bcdb Reviewed-by: Kai Koehne --- src/gui/painting/qpagelayout.cpp | 33 +++++++++++++++------------------ src/gui/painting/qpagesize.cpp | 14 +++++++------- 2 files changed, 22 insertions(+), 25 deletions(-) (limited to 'src') diff --git a/src/gui/painting/qpagelayout.cpp b/src/gui/painting/qpagelayout.cpp index f443bbd5ac..15dfa6f8c1 100644 --- a/src/gui/painting/qpagelayout.cpp +++ b/src/gui/painting/qpagelayout.cpp @@ -943,40 +943,37 @@ QRect QPageLayout::paintRectPixels(int resolution) const QDebug operator<<(QDebug dbg, const QPageLayout &layout) { QDebugStateSaver saver(dbg); + dbg.nospace(); + dbg.noquote(); + dbg << "QPageLayout("; if (layout.isValid()) { - QString output = QStringLiteral("QPageLayout(%1, %2, l:%3 r:%4 t:%5 b:%6 %7)"); - QString units; + const QMarginsF margins = layout.margins(); + dbg << '"' << layout.pageSize().name() << "\", " + << (layout.orientation() == QPageLayout::Portrait ? "Portrait" : "Landscape") + << ", l:" << margins.left() << " r:" << margins.right() << " t:" + << margins.top() << " b:" << margins.bottom() << ' '; switch (layout.units()) { case QPageLayout::Millimeter: - units = QStringLiteral("mm"); + dbg << "mm"; break; case QPageLayout::Point: - units = QStringLiteral("pt"); + dbg << "pt"; break; case QPageLayout::Inch: - units = QStringLiteral("in"); + dbg << "in"; break; case QPageLayout::Pica: - units = QStringLiteral("pc"); + dbg << "pc"; break; case QPageLayout::Didot: - units = QStringLiteral("DD"); + dbg << "DD"; break; case QPageLayout::Cicero: - units = QStringLiteral("CC"); + dbg << "CC"; break; } - output = output.arg(layout.pageSize().name()) - .arg(layout.orientation() == QPageLayout::Portrait ? QStringLiteral("Portrait") : QStringLiteral("Landscape")) - .arg(layout.margins().left()) - .arg(layout.margins().right()) - .arg(layout.margins().top()) - .arg(layout.margins().bottom()) - .arg(units); - dbg.nospace() << output; - } else { - dbg.nospace() << "QPageLayout()"; } + dbg << ')'; return dbg; } #endif diff --git a/src/gui/painting/qpagesize.cpp b/src/gui/painting/qpagesize.cpp index c0aae603b7..17f6b7bb64 100644 --- a/src/gui/painting/qpagesize.cpp +++ b/src/gui/painting/qpagesize.cpp @@ -1855,17 +1855,17 @@ QSize QPageSize::sizePixels(PageSizeId pageSizeId, int resolution) QDebug operator<<(QDebug dbg, const QPageSize &pageSize) { QDebugStateSaver saver(dbg); + dbg.nospace(); + dbg.noquote(); + dbg << "QPageSize("; if (pageSize.isValid()) { - QString output = QStringLiteral("QPageSize(\"%1\", \"%2\", %3x%4pt, %5)"); - output = output.arg(pageSize.name()) - .arg(pageSize.key()) - .arg(pageSize.sizePoints().width()) - .arg(pageSize.sizePoints().height()) - .arg(pageSize.id()); - dbg.nospace() << output; + dbg << '"' << pageSize.name() << "\", key=\"" << pageSize.key() + << "\", " << pageSize.sizePoints().width() << 'x' + << pageSize.sizePoints().height() << "pt, id=" << pageSize.id(); } else { dbg.nospace() << "QPageSize()"; } + dbg << ')'; return dbg; } #endif -- cgit v1.2.3 From fb196e88074a8547ef93030ee385227664965106 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 10 Mar 2016 09:53:36 +0100 Subject: QMimeMagicRule: fix UB (misaligned load) in matchNumber() Found by UBSan: qmimemagicrule.cpp:166:53: runtime error: load of misaligned address 0x00000124bcb9 for type 'const short unsigned int', which requires 2 byte alignment qmimemagicrule.cpp:166:53: runtime error: load of misaligned address 0x00000124bcb9 for type 'const unsigned int', which requires 4 byte alignment Fix by using new qUnalignedLoad() instead of a load through a type-punned pointer and misaligned pointer. Change-Id: I6b876f1ce7e01369fbb25a51263d1ad04be07d52 Reviewed-by: David Faure --- src/corelib/mimetypes/qmimemagicrule.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/mimetypes/qmimemagicrule.cpp b/src/corelib/mimetypes/qmimemagicrule.cpp index 6a3a429179..44834420fe 100644 --- a/src/corelib/mimetypes/qmimemagicrule.cpp +++ b/src/corelib/mimetypes/qmimemagicrule.cpp @@ -42,6 +42,7 @@ #include #include #include +#include // for qUnalignedLoad QT_BEGIN_NAMESPACE @@ -176,7 +177,7 @@ static bool matchNumber(const QMimeMagicRulePrivate *d, const QByteArray &data) const char *p = data.constData() + d->startPos; const char *e = data.constData() + qMin(data.size() - int(sizeof(T)), d->endPos + 1); for ( ; p <= e; ++p) { - if ((*reinterpret_cast(p) & mask) == (value & mask)) + if ((qUnalignedLoad(p) & mask) == (value & mask)) return true; } -- cgit v1.2.3 From 713282dfe41fbad1c1c940cec54227cd7c267831 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 10 Mar 2016 12:52:55 +0100 Subject: Deobfuscate SFNT tag creation on Windows The fact that we override the big endian MAKE_TAG macro (from qfontengine_p.h) with a little endian version on Windows caused some confusion and was a bug waiting to happen. This patch renames it instead to avoid future confusion. Change-Id: I6224a4bfbd80eafc849ecd82e7fe5f83ee1953af Reviewed-by: Simon Hausmann --- src/plugins/platforms/windows/qwindowsfontengine.cpp | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowsfontengine.cpp b/src/plugins/platforms/windows/qwindowsfontengine.cpp index c78412c8ec..143d39dc3d 100644 --- a/src/plugins/platforms/windows/qwindowsfontengine.cpp +++ b/src/plugins/platforms/windows/qwindowsfontengine.cpp @@ -85,11 +85,8 @@ QT_BEGIN_NAMESPACE #define TT_PRIM_CSPLINE 3 #endif -#ifdef MAKE_TAG -#undef MAKE_TAG -#endif // GetFontData expects the tags in little endian ;( -#define MAKE_TAG(ch1, ch2, ch3, ch4) (\ +#define MAKE_LITTLE_ENDIAN_TAG(ch1, ch2, ch3, ch4) (\ (((quint32)(ch4)) << 24) | \ (((quint32)(ch3)) << 16) | \ (((quint32)(ch2)) << 8) | \ @@ -142,28 +139,28 @@ bool QWindowsFontEngine::hasCFFTable() const { HDC hdc = m_fontEngineData->hdc; SelectObject(hdc, hfont); - return GetFontData(hdc, MAKE_TAG('C', 'F', 'F', ' '), 0, 0, 0) != GDI_ERROR; + return GetFontData(hdc, MAKE_LITTLE_ENDIAN_TAG('C', 'F', 'F', ' '), 0, 0, 0) != GDI_ERROR; } bool QWindowsFontEngine::hasCMapTable() const { HDC hdc = m_fontEngineData->hdc; SelectObject(hdc, hfont); - return GetFontData(hdc, MAKE_TAG('c', 'm', 'a', 'p'), 0, 0, 0) != GDI_ERROR; + return GetFontData(hdc, MAKE_LITTLE_ENDIAN_TAG('c', 'm', 'a', 'p'), 0, 0, 0) != GDI_ERROR; } bool QWindowsFontEngine::hasGlyfTable() const { HDC hdc = m_fontEngineData->hdc; SelectObject(hdc, hfont); - return GetFontData(hdc, MAKE_TAG('g', 'l', 'y', 'f'), 0, 0, 0) != GDI_ERROR; + return GetFontData(hdc, MAKE_LITTLE_ENDIAN_TAG('g', 'l', 'y', 'f'), 0, 0, 0) != GDI_ERROR; } bool QWindowsFontEngine::hasEbdtTable() const { HDC hdc = m_fontEngineData->hdc; SelectObject(hdc, hfont); - return GetFontData(hdc, MAKE_TAG('E', 'B', 'D', 'T'), 0, 0, 0) != GDI_ERROR; + return GetFontData(hdc, MAKE_LITTLE_ENDIAN_TAG('E', 'B', 'D', 'T'), 0, 0, 0) != GDI_ERROR; } static inline QString stringFromOutLineTextMetric(const OUTLINETEXTMETRIC *otm, PSTR offset) @@ -182,7 +179,7 @@ void QWindowsFontEngine::getCMap() SelectObject(hdc, hfont); bool symb = false; if (ttf) { - cmapTable = getSfntTable(qbswap(MAKE_TAG('c', 'm', 'a', 'p'))); + cmapTable = getSfntTable(MAKE_TAG('c', 'm', 'a', 'p')); cmap = QFontEngine::getCMap(reinterpret_cast(cmapTable.constData()), cmapTable.size(), &symb, &cmapSize); } @@ -956,7 +953,7 @@ int QWindowsFontEngine::synthesized() const if(synthesized_flags == -1) { synthesized_flags = 0; if(ttf) { - const DWORD HEAD = MAKE_TAG('h', 'e', 'a', 'd'); + const DWORD HEAD = MAKE_LITTLE_ENDIAN_TAG('h', 'e', 'a', 'd'); HDC hdc = m_fontEngineData->hdc; SelectObject(hdc, hfont); uchar data[4]; -- cgit v1.2.3 From 5655d061b2aa47f7c3268bf0b59c47c9c624cb58 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Thu, 10 Mar 2016 13:07:58 +0100 Subject: Xft antialias settings must not override requested NoAntialias If Xft enabled font antialiasing, QFont::NoAntialias would have no effect as it would be overridden. Change-Id: I4dae264bc6674ae81f181cc9ce85851174d42544 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp index a5fe88871d..5305b8b970 100644 --- a/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp +++ b/src/platformsupport/fontdatabases/fontconfig/qfontconfigdatabase.cpp @@ -861,7 +861,7 @@ void QFontconfigDatabase::setupFontEngine(QFontEngineFT *engine, const QFontDef const QPlatformServices *services = QGuiApplicationPrivate::platformIntegration()->services(); bool useXftConf = (services && (services->desktopEnvironment() == "GNOME" || services->desktopEnvironment() == "UNITY")); - if (useXftConf) { + if (useXftConf && !forcedAntialiasSetting) { void *antialiasResource = QGuiApplication::platformNativeInterface()->nativeResourceForScreen("antialiasingEnabled", QGuiApplication::primaryScreen()); -- cgit v1.2.3 From c9210d392ca720028a4a2be427ba13100418c5b7 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Wed, 9 Mar 2016 20:55:00 +0100 Subject: Add argument names to the function signatures in headers Sometimes, in the .cpp, the declaration has the argument name in comments because it is not used (instead of using Q_UNUSED). The old qdoc could parse that, but once clang is used, these comments are not seen anymore. So add the argument names to the headers. This is also good for things like auto completion, which uses only the header to know what the argument name is. I grepped for " */)" and made sure all the functions that are documented have the right arguments. I also added the name to all the function around for consistency. Change-Id: I1aaa37e25a1985f7f51653f047a1ac2633242b56 Reviewed-by: Marc Mutz Reviewed-by: Martin Smith --- src/corelib/kernel/qobject.h | 16 +++++++------- src/widgets/kernel/qwidget.h | 52 ++++++++++++++++++++++---------------------- src/widgets/styles/qstyle.h | 10 ++++----- 3 files changed, 39 insertions(+), 39 deletions(-) (limited to 'src') diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 64c5b58fd4..771d2f5ea0 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -113,8 +113,8 @@ public: Q_INVOKABLE explicit QObject(QObject *parent=Q_NULLPTR); virtual ~QObject(); - virtual bool event(QEvent *); - virtual bool eventFilter(QObject *, QEvent *); + virtual bool event(QEvent *event); + virtual bool eventFilter(QObject *watched, QEvent *event); #ifdef Q_QDOC static QString tr(const char *sourceText, const char *comment = Q_NULLPTR, int n = -1); @@ -189,9 +189,9 @@ public: inline const QObjectList &children() const { return d_ptr->children; } - void setParent(QObject *); - void installEventFilter(QObject *); - void removeEventFilter(QObject *); + void setParent(QObject *parent); + void installEventFilter(QObject *filterObj); + void removeEventFilter(QObject *obj); static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection); @@ -430,9 +430,9 @@ protected: int receivers(const char* signal) const; bool isSignalConnected(const QMetaMethod &signal) const; - virtual void timerEvent(QTimerEvent *); - virtual void childEvent(QChildEvent *); - virtual void customEvent(QEvent *); + virtual void timerEvent(QTimerEvent *event); + virtual void childEvent(QChildEvent *event); + virtual void customEvent(QEvent *event); virtual void connectNotify(const QMetaMethod &signal); virtual void disconnectNotify(const QMetaMethod &signal); diff --git a/src/widgets/kernel/qwidget.h b/src/widgets/kernel/qwidget.h index a56f6e1133..2af1550ad1 100644 --- a/src/widgets/kernel/qwidget.h +++ b/src/widgets/kernel/qwidget.h @@ -605,43 +605,43 @@ Q_SIGNALS: protected: // Event handlers - bool event(QEvent *) Q_DECL_OVERRIDE; - virtual void mousePressEvent(QMouseEvent *); - virtual void mouseReleaseEvent(QMouseEvent *); - virtual void mouseDoubleClickEvent(QMouseEvent *); - virtual void mouseMoveEvent(QMouseEvent *); + bool event(QEvent *event) Q_DECL_OVERRIDE; + virtual void mousePressEvent(QMouseEvent *event); + virtual void mouseReleaseEvent(QMouseEvent *event); + virtual void mouseDoubleClickEvent(QMouseEvent *event); + virtual void mouseMoveEvent(QMouseEvent *event); #ifndef QT_NO_WHEELEVENT - virtual void wheelEvent(QWheelEvent *); -#endif - virtual void keyPressEvent(QKeyEvent *); - virtual void keyReleaseEvent(QKeyEvent *); - virtual void focusInEvent(QFocusEvent *); - virtual void focusOutEvent(QFocusEvent *); - virtual void enterEvent(QEvent *); - virtual void leaveEvent(QEvent *); - virtual void paintEvent(QPaintEvent *); - virtual void moveEvent(QMoveEvent *); - virtual void resizeEvent(QResizeEvent *); - virtual void closeEvent(QCloseEvent *); + virtual void wheelEvent(QWheelEvent *event); +#endif + virtual void keyPressEvent(QKeyEvent *event); + virtual void keyReleaseEvent(QKeyEvent *event); + virtual void focusInEvent(QFocusEvent *event); + virtual void focusOutEvent(QFocusEvent *event); + virtual void enterEvent(QEvent *event); + virtual void leaveEvent(QEvent *event); + virtual void paintEvent(QPaintEvent *event); + virtual void moveEvent(QMoveEvent *event); + virtual void resizeEvent(QResizeEvent *event); + virtual void closeEvent(QCloseEvent *event); #ifndef QT_NO_CONTEXTMENU - virtual void contextMenuEvent(QContextMenuEvent *); + virtual void contextMenuEvent(QContextMenuEvent *event); #endif #ifndef QT_NO_TABLETEVENT - virtual void tabletEvent(QTabletEvent *); + virtual void tabletEvent(QTabletEvent *event); #endif #ifndef QT_NO_ACTION - virtual void actionEvent(QActionEvent *); + virtual void actionEvent(QActionEvent *event); #endif #ifndef QT_NO_DRAGANDDROP - virtual void dragEnterEvent(QDragEnterEvent *); - virtual void dragMoveEvent(QDragMoveEvent *); - virtual void dragLeaveEvent(QDragLeaveEvent *); - virtual void dropEvent(QDropEvent *); + virtual void dragEnterEvent(QDragEnterEvent *event); + virtual void dragMoveEvent(QDragMoveEvent *event); + virtual void dragLeaveEvent(QDragLeaveEvent *event); + virtual void dropEvent(QDropEvent *event); #endif - virtual void showEvent(QShowEvent *); - virtual void hideEvent(QHideEvent *); + virtual void showEvent(QShowEvent *event); + virtual void hideEvent(QHideEvent *event); virtual bool nativeEvent(const QByteArray &eventType, void *message, long *result); // Misc. protected functions diff --git a/src/widgets/styles/qstyle.h b/src/widgets/styles/qstyle.h index 1e9d15c993..26d1c63195 100644 --- a/src/widgets/styles/qstyle.h +++ b/src/widgets/styles/qstyle.h @@ -66,13 +66,13 @@ public: QStyle(); virtual ~QStyle(); - virtual void polish(QWidget *); - virtual void unpolish(QWidget *); + virtual void polish(QWidget *widget); + virtual void unpolish(QWidget *widget); - virtual void polish(QApplication *); - virtual void unpolish(QApplication *); + virtual void polish(QApplication *application); + virtual void unpolish(QApplication *application); - virtual void polish(QPalette &); + virtual void polish(QPalette &palette); virtual QRect itemTextRect(const QFontMetrics &fm, const QRect &r, int flags, bool enabled, -- cgit v1.2.3 From 6a2892bdef79e9787d8abe7c0121865f049c67f8 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 8 Mar 2016 12:54:15 +0100 Subject: Skip spurious .toLower() on returns of QUrl::scheme() QUrl::setScheme() parses and canonicalises the scheme, so that scheme() always returns a lower-case string anyway; no need to .toLower() it. Change-Id: Ied00814b63f159386a42552dcf06346ee56f9f97 Reviewed-by: Timur Pocheptsov --- src/network/access/qhttpthreaddelegate.cpp | 2 +- src/network/access/qnetworkaccessmanager.cpp | 2 +- src/network/access/qnetworkcookiejar.cpp | 2 +- src/network/access/qnetworkreplyhttpimpl.cpp | 2 +- src/platformsupport/clipboard/qmacmime.mm | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/network/access/qhttpthreaddelegate.cpp b/src/network/access/qhttpthreaddelegate.cpp index b0e366d2f8..c9700e972a 100644 --- a/src/network/access/qhttpthreaddelegate.cpp +++ b/src/network/access/qhttpthreaddelegate.cpp @@ -122,7 +122,7 @@ static QByteArray makeCacheKey(QUrl &url, QNetworkProxy *proxy) { QString result; QUrl copy = url; - QString scheme = copy.scheme().toLower(); + QString scheme = copy.scheme(); bool isEncrypted = scheme == QLatin1String("https"); copy.setPort(copy.port(isEncrypted ? 443 : 80)); if (scheme == QLatin1String("preconnect-http")) { diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 0e5870a235..cf10368c52 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -1119,7 +1119,7 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera Q_D(QNetworkAccessManager); bool isLocalFile = req.url().isLocalFile(); - QString scheme = req.url().scheme().toLower(); + QString scheme = req.url().scheme(); // fast path for GET on file:// URLs // The QNetworkAccessFileBackend will right now only be used for PUT diff --git a/src/network/access/qnetworkcookiejar.cpp b/src/network/access/qnetworkcookiejar.cpp index 39f94a451f..97e637ff5f 100644 --- a/src/network/access/qnetworkcookiejar.cpp +++ b/src/network/access/qnetworkcookiejar.cpp @@ -218,7 +218,7 @@ QList QNetworkCookieJar::cookiesForUrl(const QUrl &url) const Q_D(const QNetworkCookieJar); const QDateTime now = QDateTime::currentDateTimeUtc(); QList result; - bool isEncrypted = url.scheme().toLower() == QLatin1String("https"); + bool isEncrypted = url.scheme() == QLatin1String("https"); // scan our cookies for something that matches QList::ConstIterator it = d->allCookies.constBegin(), diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index 6ba6928ade..3120f29c03 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -628,7 +628,7 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq httpRequest.setUrl(url); httpRequest.setRedirectCount(newHttpRequest.maximumRedirectsAllowed()); - QString scheme = url.scheme().toLower(); + QString scheme = url.scheme(); bool ssl = (scheme == QLatin1String("https") || scheme == QLatin1String("preconnect-https")); q->setAttribute(QNetworkRequest::ConnectionEncryptedAttribute, ssl); diff --git a/src/platformsupport/clipboard/qmacmime.mm b/src/platformsupport/clipboard/qmacmime.mm index ffa548bf83..dbb7e6f754 100644 --- a/src/platformsupport/clipboard/qmacmime.mm +++ b/src/platformsupport/clipboard/qmacmime.mm @@ -634,7 +634,7 @@ QList QMacPasteboardMimeFileUri::convertFromMime(const QString &mime QUrl url = urls.at(i).toUrl(); if (url.scheme().isEmpty()) url.setScheme(QLatin1String("file")); - if (url.scheme().toLower() == QLatin1String("file")) { + if (url.scheme() == QLatin1String("file")) { if (url.host().isEmpty()) url.setHost(QLatin1String("localhost")); url.setPath(url.path().normalized(QString::NormalizationForm_D)); @@ -713,7 +713,7 @@ QList QMacPasteboardMimeUrl::convertFromMime(const QString &mime, QV QUrl url = urls.at(i).toUrl(); if (url.scheme().isEmpty()) url.setScheme(QLatin1String("file")); - if (url.scheme().toLower() == QLatin1String("file")) { + if (url.scheme() == QLatin1String("file")) { if (url.host().isEmpty()) url.setHost(QLatin1String("localhost")); url.setPath(url.path().normalized(QString::NormalizationForm_D)); -- cgit v1.2.3 From 65f88f3a5ded7fa53f50314434673cdc30977a15 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Tue, 8 Mar 2016 13:01:59 +0100 Subject: Deduplicate a condition to make clear that several cases ask it. QNetworkAccessManager::createRequest() had three checks relevant only to GET and HEAD requests; rather than testing for this in each of the cases, test for it once and skip all three if it fails. Tidied up the residue of conditionals in the process. Change-Id: I7baee8067a03afdc7cb0a77f1a50759dc4233843 Reviewed-by: Timur Pocheptsov --- src/network/access/qnetworkaccessmanager.cpp | 52 +++++++++++++--------------- 1 file changed, 25 insertions(+), 27 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index cf10368c52..28553e19e6 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -1123,38 +1123,36 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera // fast path for GET on file:// URLs // The QNetworkAccessFileBackend will right now only be used for PUT - if ((op == QNetworkAccessManager::GetOperation || op == QNetworkAccessManager::HeadOperation) - && (isLocalFile || scheme == QLatin1String("qrc") -#if defined(Q_OS_ANDROID) + if (op == QNetworkAccessManager::GetOperation + || op == QNetworkAccessManager::HeadOperation) { + if (isLocalFile +#ifdef Q_OS_ANDROID || scheme == QLatin1String("assets") #endif - )) { - return new QNetworkReplyFileImpl(this, req, op); - } + || scheme == QLatin1String("qrc")) { + return new QNetworkReplyFileImpl(this, req, op); + } - if ((op == QNetworkAccessManager::GetOperation || op == QNetworkAccessManager::HeadOperation) - && scheme == QLatin1String("data")) { - return new QNetworkReplyDataImpl(this, req, op); - } + if (scheme == QLatin1String("data")) + return new QNetworkReplyDataImpl(this, req, op); - // A request with QNetworkRequest::AlwaysCache does not need any bearer management - QNetworkRequest::CacheLoadControl mode = - static_cast( - req.attribute(QNetworkRequest::CacheLoadControlAttribute, + // A request with QNetworkRequest::AlwaysCache does not need any bearer management + QNetworkRequest::CacheLoadControl mode = + static_cast( + req.attribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferNetwork).toInt()); - if (mode == QNetworkRequest::AlwaysCache - && (op == QNetworkAccessManager::GetOperation - || op == QNetworkAccessManager::HeadOperation)) { - // FIXME Implement a QNetworkReplyCacheImpl instead, see QTBUG-15106 - QNetworkReplyImpl *reply = new QNetworkReplyImpl(this); - QNetworkReplyImplPrivate *priv = reply->d_func(); - priv->manager = this; - priv->backend = new QNetworkAccessCacheBackend(); - priv->backend->manager = this->d_func(); - priv->backend->setParent(reply); - priv->backend->reply = priv; - priv->setup(op, req, outgoingData); - return reply; + if (mode == QNetworkRequest::AlwaysCache) { + // FIXME Implement a QNetworkReplyCacheImpl instead, see QTBUG-15106 + QNetworkReplyImpl *reply = new QNetworkReplyImpl(this); + QNetworkReplyImplPrivate *priv = reply->d_func(); + priv->manager = this; + priv->backend = new QNetworkAccessCacheBackend(); + priv->backend->manager = this->d_func(); + priv->backend->setParent(reply); + priv->backend->reply = priv; + priv->setup(op, req, outgoingData); + return reply; + } } #ifndef QT_NO_BEARERMANAGEMENT -- cgit v1.2.3 From ac8dae8b5eafa07704155dd636d8da2ec21d1c6f Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 10 Mar 2016 14:07:16 +0100 Subject: QLocalServer/Win: Fix race condition in listen(). Suppose a client connects while the QLocalServer is still in the loop that calls addListener. The connection would SetEvent(eventHandle), but every call to ConnectNamedPipe would ResetEvent(eventHandle). Thus, the connection is never detected by the notifier on eventHandle. Callers of addListener must check the connection state of every listener to make sure that no client connected while setting up listeners. Task-number: QTBUG-49254 Change-Id: Ia961927ea76973708e6e3f73510695eb5d6a0e4c Reviewed-by: Oswald Buddenhagen --- src/network/socket/qlocalserver_win.cpp | 70 +++++++++++++++++++-------------- 1 file changed, 40 insertions(+), 30 deletions(-) (limited to 'src') diff --git a/src/network/socket/qlocalserver_win.cpp b/src/network/socket/qlocalserver_win.cpp index 265f894972..06ad62f548 100644 --- a/src/network/socket/qlocalserver_win.cpp +++ b/src/network/socket/qlocalserver_win.cpp @@ -192,6 +192,9 @@ bool QLocalServerPrivate::addListener() memset(&listener.overlapped, 0, sizeof(listener.overlapped)); listener.overlapped.hEvent = eventHandle; + + // Beware! ConnectNamedPipe will reset the eventHandle to non-signaled. + // Callers of addListener must check all listeners for connections. if (!ConnectNamedPipe(listener.handle, &listener.overlapped)) { switch (GetLastError()) { case ERROR_IO_PENDING: @@ -199,7 +202,6 @@ bool QLocalServerPrivate::addListener() break; case ERROR_PIPE_CONNECTED: listener.connected = true; - SetEvent(eventHandle); break; default: CloseHandle(listener.handle); @@ -251,6 +253,8 @@ bool QLocalServerPrivate::listen(const QString &name) for (int i = 0; i < SYSTEM_MAX_PENDING_SOCKETS; ++i) if (!addListener()) return false; + + _q_onNewConnection(); return true; } @@ -264,37 +268,43 @@ void QLocalServerPrivate::_q_onNewConnection() { Q_Q(QLocalServer); DWORD dummy; - - // Reset first, otherwise we could reset an event which was asserted - // immediately after we checked the conn status. - ResetEvent(eventHandle); - - // Testing shows that there is indeed absolutely no guarantee which listener gets - // a client connection first, so there is no way around polling all of them. - for (int i = 0; i < listeners.size(); ) { - HANDLE handle = listeners[i].handle; - if (listeners[i].connected - || GetOverlappedResult(handle, &listeners[i].overlapped, &dummy, FALSE)) - { - listeners.removeAt(i); - - addListener(); - - if (pendingConnections.size() > maxPendingConnections) - connectionEventNotifier->setEnabled(false); - - // Make this the last thing so connected slots can wreak the least havoc - q->incomingConnection((quintptr)handle); - } else { - if (GetLastError() != ERROR_IO_INCOMPLETE) { - q->close(); - setError(QLatin1String("QLocalServerPrivate::_q_onNewConnection")); - return; + bool tryAgain; + do { + tryAgain = false; + + // Reset first, otherwise we could reset an event which was asserted + // immediately after we checked the conn status. + ResetEvent(eventHandle); + + // Testing shows that there is indeed absolutely no guarantee which listener gets + // a client connection first, so there is no way around polling all of them. + for (int i = 0; i < listeners.size(); ) { + HANDLE handle = listeners[i].handle; + if (listeners[i].connected + || GetOverlappedResult(handle, &listeners[i].overlapped, &dummy, FALSE)) + { + listeners.removeAt(i); + + addListener(); + + if (pendingConnections.size() > maxPendingConnections) + connectionEventNotifier->setEnabled(false); + else + tryAgain = true; + + // Make this the last thing so connected slots can wreak the least havoc + q->incomingConnection((quintptr)handle); + } else { + if (GetLastError() != ERROR_IO_INCOMPLETE) { + q->close(); + setError(QLatin1String("QLocalServerPrivate::_q_onNewConnection")); + return; + } + + ++i; } - - ++i; } - } + } while (tryAgain); } void QLocalServerPrivate::closeServer() -- cgit v1.2.3 From cf827f2167d7ca122541cc17307e2b8133ec3af4 Mon Sep 17 00:00:00 2001 From: Samuel Gaist Date: Wed, 9 Mar 2016 23:16:29 +0100 Subject: Ported Qt 4 fix when getting an invalid native key on Windows Task-number: QTBUG-36061 Change-Id: Ibde65735d861af4e1ef768e9e4314d30fed534a1 Reviewed-by: Oliver Wolff --- src/plugins/platforms/windows/qwindowskeymapper.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowskeymapper.cpp b/src/plugins/platforms/windows/qwindowskeymapper.cpp index 5790341dbf..403ac6ecfb 100644 --- a/src/plugins/platforms/windows/qwindowskeymapper.cpp +++ b/src/plugins/platforms/windows/qwindowskeymapper.cpp @@ -1247,7 +1247,12 @@ QList QWindowsKeyMapper::possibleKeys(const QKeyEvent *e) const { QList result; - const KeyboardLayoutItem &kbItem = keyLayout[e->nativeVirtualKey()]; + + const quint32 nativeVirtualKey = e->nativeVirtualKey(); + if (nativeVirtualKey > 255) + return result; + + const KeyboardLayoutItem &kbItem = keyLayout[nativeVirtualKey]; if (!kbItem.exists) return result; -- cgit v1.2.3 From 747b39db66cc0a8683b05ec5f09a22c9d04a9ab0 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 26 Feb 2016 11:07:31 +0100 Subject: ibus: de-virtualize QIBusSerializable hierarchy These types don't inherit to be reused, they inherit to reuse. Consequently, change the inheritance to private, remove the virtual ~QIBusSerializable and rewrite the streaming operators as member functions. Remove the now-unused QIBusSerializable streaming operators and meta-type registration. Change-Id: Icf7a89174592ba62b39f73f0f016c8296cab5993 Reviewed-by: Takao Fujiwara Reviewed-by: Lars Knoll --- src/plugins/platforminputcontexts/ibus/main.cpp | 1 - .../platforminputcontexts/ibus/qibustypes.cpp | 166 ++++++++++----------- .../platforminputcontexts/ibus/qibustypes.h | 53 ++++--- 3 files changed, 114 insertions(+), 106 deletions(-) (limited to 'src') diff --git a/src/plugins/platforminputcontexts/ibus/main.cpp b/src/plugins/platforminputcontexts/ibus/main.cpp index b47c0b40de..2846f52c8c 100644 --- a/src/plugins/platforminputcontexts/ibus/main.cpp +++ b/src/plugins/platforminputcontexts/ibus/main.cpp @@ -59,7 +59,6 @@ QIBusPlatformInputContext *QIbusPlatformInputContextPlugin::create(const QString Q_UNUSED(paramList); if (system.compare(system, QLatin1String("ibus"), Qt::CaseInsensitive) == 0) { - qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp index a168836a06..9d219ff8c1 100644 --- a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp @@ -54,9 +54,9 @@ QIBusSerializable::~QIBusSerializable() { } -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusSerializable &object) +void QIBusSerializable::deserializeFrom(const QDBusArgument &argument) { - argument >> object.name; + argument >> name; argument.beginMap(); while (!argument.atEnd()) { @@ -66,19 +66,18 @@ const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusSerializable argument >> key; argument >> value; argument.endMapEntry(); - object.attachments[key] = value.variant().value(); + attachments[key] = value.variant().value(); } argument.endMap(); - return argument; } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusSerializable &object) +void QIBusSerializable::serializeTo(QDBusArgument &argument) const { - argument << object.name; + argument << name; argument.beginMap(qMetaTypeId(), qMetaTypeId()); - QHashIterator i(object.attachments); + QHashIterator i(attachments); while (i.hasNext()) { i.next(); @@ -91,7 +90,6 @@ QDBusArgument &operator<<(QDBusArgument &argument, const QIBusSerializable &obje argument.endMapEntry(); } argument.endMap(); - return argument; } QIBusAttribute::QIBusAttribute() @@ -107,39 +105,35 @@ QIBusAttribute::~QIBusAttribute() { } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttribute &attribute) +void QIBusAttribute::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); - argument << static_cast(attribute); + QIBusSerializable::serializeTo(argument); - quint32 t = (quint32) attribute.type; + quint32 t = (quint32) type; argument << t; - argument << attribute.value; - argument << attribute.start; - argument << attribute.end; + argument << value; + argument << start; + argument << end; argument.endStructure(); - - return argument; } -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusAttribute &attribute) +void QIBusAttribute::deserializeFrom(const QDBusArgument &argument) { argument.beginStructure(); - argument >> static_cast(attribute); + QIBusSerializable::deserializeFrom(argument); quint32 t; argument >> t; - attribute.type = (QIBusAttribute::Type) t; - argument >> attribute.value; - argument >> attribute.start; - argument >> attribute.end; + type = (QIBusAttribute::Type) t; + argument >> value; + argument >> start; + argument >> end; argument.endStructure(); - - return argument; } QTextCharFormat QIBusAttribute::format() const @@ -191,30 +185,30 @@ QIBusAttributeList::~QIBusAttributeList() { } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttributeList &attrList) +void QIBusAttributeList::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); - argument << static_cast(attrList); + QIBusSerializable::serializeTo(argument); argument.beginArray(qMetaTypeId()); - for (int i = 0; i < attrList.attributes.size(); ++i) { + for (int i = 0; i < attributes.size(); ++i) { QVariant variant; - variant.setValue(attrList.attributes.at(i)); + variant.setValue(attributes.at(i)); argument << QDBusVariant (variant); } argument.endArray(); argument.endStructure(); - return argument; } -const QDBusArgument &operator>>(const QDBusArgument &arg, QIBusAttributeList &attrList) +void QIBusAttributeList::deserializeFrom(const QDBusArgument &arg) { qCDebug(qtQpaInputMethodsSerialize) << "QIBusAttributeList::fromDBusArgument()" << arg.currentSignature(); + arg.beginStructure(); - arg >> static_cast(attrList); + QIBusSerializable::deserializeFrom(arg); arg.beginArray(); while (!arg.atEnd()) { @@ -223,12 +217,11 @@ const QDBusArgument &operator>>(const QDBusArgument &arg, QIBusAttributeList &at QIBusAttribute attr; var.variant().value() >> attr; - attrList.attributes.append(attr); + attributes.append(attr); } arg.endArray(); arg.endStructure(); - return arg; } QList QIBusAttributeList::imAttributes() const @@ -273,31 +266,30 @@ QIBusText::~QIBusText() { } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusText &text) +void QIBusText::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); - argument << static_cast(text); + QIBusSerializable::serializeTo(argument); - argument << text.text << text.attributes; + argument << text << attributes; argument.endStructure(); - return argument; } -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusText &text) +void QIBusText::deserializeFrom(const QDBusArgument &argument) { qCDebug(qtQpaInputMethodsSerialize) << "QIBusText::fromDBusArgument()" << argument.currentSignature(); + argument.beginStructure(); - argument >> static_cast(text); + QIBusSerializable::deserializeFrom(argument); - argument >> text.text; + argument >> text; QDBusVariant variant; argument >> variant; - variant.variant().value() >> text.attributes; + variant.variant().value() >> attributes; argument.endStructure(); - return argument; } QIBusEngineDesc::QIBusEngineDesc() @@ -326,81 +318,79 @@ QIBusEngineDesc::~QIBusEngineDesc() { } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusEngineDesc &desc) +void QIBusEngineDesc::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); - argument << static_cast(desc); - - argument << desc.engine_name; - argument << desc.longname; - argument << desc.description; - argument << desc.language; - argument << desc.license; - argument << desc.author; - argument << desc.icon; - argument << desc.layout; - argument << desc.rank; - argument << desc.hotkeys; - argument << desc.symbol; - argument << desc.setup; - argument << desc.layout_variant; - argument << desc.layout_option; - argument << desc.version; - argument << desc.textdomain; - argument << desc.iconpropkey; + QIBusSerializable::serializeTo(argument); + + argument << engine_name; + argument << longname; + argument << description; + argument << language; + argument << license; + argument << author; + argument << icon; + argument << layout; + argument << rank; + argument << hotkeys; + argument << symbol; + argument << setup; + argument << layout_variant; + argument << layout_option; + argument << version; + argument << textdomain; + argument << iconpropkey; argument.endStructure(); - return argument; } -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusEngineDesc &desc) +void QIBusEngineDesc::deserializeFrom(const QDBusArgument &argument) { qCDebug(qtQpaInputMethodsSerialize) << "QIBusEngineDesc::fromDBusArgument()" << argument.currentSignature(); argument.beginStructure(); - argument >> static_cast(desc); - - argument >> desc.engine_name; - argument >> desc.longname; - argument >> desc.description; - argument >> desc.language; - argument >> desc.license; - argument >> desc.author; - argument >> desc.icon; - argument >> desc.layout; - argument >> desc.rank; - argument >> desc.hotkeys; - argument >> desc.symbol; - argument >> desc.setup; + QIBusSerializable::deserializeFrom(argument); + + argument >> engine_name; + argument >> longname; + argument >> description; + argument >> language; + argument >> license; + argument >> author; + argument >> icon; + argument >> layout; + argument >> rank; + argument >> hotkeys; + argument >> symbol; + argument >> setup; // Previous IBusEngineDesc supports the arguments between engine_name // and setup. if (argument.currentSignature() == "") { argument.endStructure(); - return argument; + return; } - argument >> desc.layout_variant; - argument >> desc.layout_option; + argument >> layout_variant; + argument >> layout_option; // Previous IBusEngineDesc supports the arguments between engine_name // and layout_option. if (argument.currentSignature() == "") { argument.endStructure(); - return argument; + return; } - argument >> desc.version; + argument >> version; if (argument.currentSignature() == "") { argument.endStructure(); - return argument; + return; } - argument >> desc.textdomain; + argument >> textdomain; if (argument.currentSignature() == "") { argument.endStructure(); - return argument; + return; } - argument >> desc.iconpropkey; + argument >> iconpropkey; argument.endStructure(); - return argument; } QT_END_NAMESPACE diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.h b/src/plugins/platforminputcontexts/ibus/qibustypes.h index 9dca7e3903..9f2b0eb41f 100644 --- a/src/plugins/platforminputcontexts/ibus/qibustypes.h +++ b/src/plugins/platforminputcontexts/ibus/qibustypes.h @@ -54,13 +54,16 @@ class QIBusSerializable { public: QIBusSerializable(); - virtual ~QIBusSerializable(); + ~QIBusSerializable(); + + void serializeTo(QDBusArgument &argument) const; + void deserializeFrom(const QDBusArgument &argument); QString name; QHash attachments; }; -class QIBusAttribute : public QIBusSerializable +class QIBusAttribute : private QIBusSerializable { public: enum Type { @@ -83,13 +86,16 @@ public: QTextCharFormat format() const; + void serializeTo(QDBusArgument &argument) const; + void deserializeFrom(const QDBusArgument &argument); + Type type; quint32 value; quint32 start; quint32 end; }; -class QIBusAttributeList : public QIBusSerializable +class QIBusAttributeList : private QIBusSerializable { public: QIBusAttributeList(); @@ -97,25 +103,34 @@ public: QList imAttributes() const; + void serializeTo(QDBusArgument &argument) const; + void deserializeFrom(const QDBusArgument &argument); + QVector attributes; }; -class QIBusText : public QIBusSerializable +class QIBusText : private QIBusSerializable { public: QIBusText(); ~QIBusText(); + void serializeTo(QDBusArgument &argument) const; + void deserializeFrom(const QDBusArgument &argument); + QString text; QIBusAttributeList attributes; }; -class QIBusEngineDesc : public QIBusSerializable +class QIBusEngineDesc : private QIBusSerializable { public: QIBusEngineDesc(); ~QIBusEngineDesc(); + void serializeTo(QDBusArgument &argument) const; + void deserializeFrom(const QDBusArgument &argument); + QString engine_name; QString longname; QString description; @@ -135,24 +150,28 @@ public: QString iconpropkey; }; -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusSerializable &object); -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusSerializable &object); - -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttribute &attribute); -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusAttribute &attribute); +inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttribute &attribute) +{ attribute.serializeTo(argument); return argument; } +inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusAttribute &attribute) +{ attribute.deserializeFrom(argument); return argument; } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttributeList &attributeList); -const QDBusArgument &operator>>(const QDBusArgument &arg, QIBusAttributeList &attrList); +inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttributeList &attributeList) +{ attributeList.serializeTo(argument); return argument; } +inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusAttributeList &attributeList) +{ attributeList.deserializeFrom(argument); return argument; } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusText &text); -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusText &text); +inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusText &text) +{ text.serializeTo(argument); return argument; } +inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusText &text) +{ text.deserializeFrom(argument); return argument; } -QDBusArgument &operator<<(QDBusArgument &argument, const QIBusEngineDesc &desc); -const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusEngineDesc &desc); +inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusEngineDesc &desc) +{ desc.serializeTo(argument); return argument; } +inline const QDBusArgument &operator>>(const QDBusArgument &argument, QIBusEngineDesc &desc) +{ desc.deserializeFrom(argument); return argument; } QT_END_NAMESPACE -Q_DECLARE_METATYPE(QIBusSerializable) Q_DECLARE_METATYPE(QIBusAttribute) Q_DECLARE_METATYPE(QIBusAttributeList) Q_DECLARE_METATYPE(QIBusText) -- cgit v1.2.3 From adb377c89eac50f8de60c0eb363a37de3301d79d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 26 Feb 2016 11:09:51 +0100 Subject: ibus: mark some types as movable These types are held in QVariant, and QIBusAttribute is also held in QVector. Now that they are no longer polymorphic, they can be marked as movable. Remove user-defined dtors to unlock the implicit move special member functions, which I enforce in my local tree for all Q_MOVABLE_TYPEs. Add std::move() when appending QIBusAttribute. QVector has rvalue-push_back(). Change-Id: Ibb359939d5c11b5ef1f8ceced9a051cdde452dd5 Reviewed-by: Takao Fujiwara Reviewed-by: Lars Knoll --- .../platforminputcontexts/ibus/qibustypes.cpp | 22 +--------------------- .../platforminputcontexts/ibus/qibustypes.h | 9 ++++----- 2 files changed, 5 insertions(+), 26 deletions(-) (limited to 'src') diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp index 9d219ff8c1..9462bad335 100644 --- a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp @@ -50,10 +50,6 @@ QIBusSerializable::QIBusSerializable() { } -QIBusSerializable::~QIBusSerializable() -{ -} - void QIBusSerializable::deserializeFrom(const QDBusArgument &argument) { argument >> name; @@ -101,10 +97,6 @@ QIBusAttribute::QIBusAttribute() name = "IBusAttribute"; } -QIBusAttribute::~QIBusAttribute() -{ -} - void QIBusAttribute::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); @@ -181,10 +173,6 @@ QIBusAttributeList::QIBusAttributeList() name = "IBusAttrList"; } -QIBusAttributeList::~QIBusAttributeList() -{ -} - void QIBusAttributeList::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); @@ -217,7 +205,7 @@ void QIBusAttributeList::deserializeFrom(const QDBusArgument &arg) QIBusAttribute attr; var.variant().value() >> attr; - attributes.append(attr); + attributes.append(std::move(attr)); } arg.endArray(); @@ -262,10 +250,6 @@ QIBusText::QIBusText() name = "IBusText"; } -QIBusText::~QIBusText() -{ -} - void QIBusText::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); @@ -314,10 +298,6 @@ QIBusEngineDesc::QIBusEngineDesc() name = "IBusEngineDesc"; } -QIBusEngineDesc::~QIBusEngineDesc() -{ -} - void QIBusEngineDesc::serializeTo(QDBusArgument &argument) const { argument.beginStructure(); diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.h b/src/plugins/platforminputcontexts/ibus/qibustypes.h index 9f2b0eb41f..217cd836fc 100644 --- a/src/plugins/platforminputcontexts/ibus/qibustypes.h +++ b/src/plugins/platforminputcontexts/ibus/qibustypes.h @@ -54,7 +54,6 @@ class QIBusSerializable { public: QIBusSerializable(); - ~QIBusSerializable(); void serializeTo(QDBusArgument &argument) const; void deserializeFrom(const QDBusArgument &argument); @@ -82,7 +81,6 @@ public: }; QIBusAttribute(); - ~QIBusAttribute(); QTextCharFormat format() const; @@ -94,12 +92,12 @@ public: quint32 start; quint32 end; }; +Q_DECLARE_TYPEINFO(QIBusAttribute, Q_MOVABLE_TYPE); class QIBusAttributeList : private QIBusSerializable { public: QIBusAttributeList(); - ~QIBusAttributeList(); QList imAttributes() const; @@ -108,12 +106,12 @@ public: QVector attributes; }; +Q_DECLARE_TYPEINFO(QIBusAttributeList, Q_MOVABLE_TYPE); class QIBusText : private QIBusSerializable { public: QIBusText(); - ~QIBusText(); void serializeTo(QDBusArgument &argument) const; void deserializeFrom(const QDBusArgument &argument); @@ -121,12 +119,12 @@ public: QString text; QIBusAttributeList attributes; }; +Q_DECLARE_TYPEINFO(QIBusText, Q_MOVABLE_TYPE); class QIBusEngineDesc : private QIBusSerializable { public: QIBusEngineDesc(); - ~QIBusEngineDesc(); void serializeTo(QDBusArgument &argument) const; void deserializeFrom(const QDBusArgument &argument); @@ -149,6 +147,7 @@ public: QString textdomain; QString iconpropkey; }; +Q_DECLARE_TYPEINFO(QIBusEngineDesc, Q_MOVABLE_TYPE); inline QDBusArgument &operator<<(QDBusArgument &argument, const QIBusAttribute &attribute) { attribute.serializeTo(argument); return argument; } -- cgit v1.2.3 From 5bc54c878f012e7a2569c2e3cee87be90a38af21 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 28 Feb 2016 12:24:15 +0100 Subject: QIBusEngineDesc: initialize all members when deserializing from older versions De-duplicated code using, as suggested in previous review, strategic gotos. Change-Id: I4550dd8eff99789a41d8bb0b015bc4f51e3969fe Reviewed-by: Takao Fujiwara Reviewed-by: Lars Knoll --- .../platforminputcontexts/ibus/qibustypes.cpp | 38 ++++++++++++---------- 1 file changed, 21 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp index 9462bad335..cc62fef6bb 100644 --- a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp @@ -346,30 +346,34 @@ void QIBusEngineDesc::deserializeFrom(const QDBusArgument &argument) argument >> setup; // Previous IBusEngineDesc supports the arguments between engine_name // and setup. - if (argument.currentSignature() == "") { - argument.endStructure(); - return; - } + if (argument.currentSignature() == "") + goto olderThanV2; argument >> layout_variant; argument >> layout_option; // Previous IBusEngineDesc supports the arguments between engine_name // and layout_option. - if (argument.currentSignature() == "") { - argument.endStructure(); - return; - } + if (argument.currentSignature() == "") + goto olderThanV3; argument >> version; - if (argument.currentSignature() == "") { - argument.endStructure(); - return; - } + if (argument.currentSignature() == "") + goto olderThanV4; argument >> textdomain; - if (argument.currentSignature() == "") { - argument.endStructure(); - return; - } + if (argument.currentSignature() == "") + goto olderThanV5; argument >> iconpropkey; - + // <-- insert new member streaming here (1/2) + goto newest; +olderThanV2: + layout_variant.clear(); + layout_option.clear(); +olderThanV3: + version.clear(); +olderThanV4: + textdomain.clear(); +olderThanV5: + iconpropkey.clear(); + // <-- insert new members here (2/2) +newest: argument.endStructure(); } -- cgit v1.2.3 From 0c51277bb84d816963cae1a3274722753acbf167 Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Tue, 8 Mar 2016 15:36:09 +0100 Subject: winrt: add logging to QWinRTScreen Task-number: QTBUG-38114 Change-Id: Id653487a03ca2920c46cf16e45f28677a69fa570 Reviewed-by: Oliver Wolff --- src/plugins/platforms/winrt/qwinrtscreen.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp index 4c4d553b2d..831586538f 100644 --- a/src/plugins/platforms/winrt/qwinrtscreen.cpp +++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp @@ -39,8 +39,10 @@ #include "qwinrtbackingstore.h" #include "qwinrtinputcontext.h" #include "qwinrtcursor.h" +#include "qwinrtwindow.h" #include +#include #include #include #include @@ -469,6 +471,7 @@ QWinRTScreen::QWinRTScreen() : d_ptr(new QWinRTScreenPrivate) { Q_D(QWinRTScreen); + qCDebug(lcQpaWindows) << __FUNCTION__; d->orientation = Qt::PrimaryOrientation; d->touchDevice = Q_NULLPTR; @@ -553,6 +556,7 @@ QWinRTScreen::QWinRTScreen() QWinRTScreen::~QWinRTScreen() { Q_D(QWinRTScreen); + qCDebug(lcQpaWindows) << __FUNCTION__ << this; // Unregister callbacks HRESULT hr; @@ -697,6 +701,8 @@ Xaml::IDependencyObject *QWinRTScreen::canvas() const void QWinRTScreen::setStatusBarVisibility(bool visible, QWindow *window) { Q_D(QWinRTScreen); + qCDebug(lcQpaWindows) << __FUNCTION__ << window << visible; + const Qt::WindowFlags windowType = window->flags() & Qt::WindowType_Mask; if (!window || (windowType != Qt::Window && windowType != Qt::Dialog)) return; @@ -768,6 +774,7 @@ QWindow *QWinRTScreen::topWindow() const void QWinRTScreen::addWindow(QWindow *window) { Q_D(QWinRTScreen); + qCDebug(lcQpaWindows) << __FUNCTION__ << window; if (window == topWindow()) return; @@ -785,6 +792,7 @@ void QWinRTScreen::addWindow(QWindow *window) void QWinRTScreen::removeWindow(QWindow *window) { Q_D(QWinRTScreen); + qCDebug(lcQpaWindows) << __FUNCTION__ << window; #ifdef Q_OS_WINPHONE if (window->visibility() == QWindow::Minimized) @@ -1131,6 +1139,7 @@ HRESULT QWinRTScreen::onSizeChanged(ICoreWindow *, IWindowSizeChangedEventArgs * hr = d->coreWindow->get_Bounds(&size); RETURN_OK_IF_FAILED("Failed to get window bounds"); d->logicalSize = QSizeF(size.Width, size.Height); + qCDebug(lcQpaWindows) << __FUNCTION__ << d->logicalSize; QWindowSystemInterface::handleScreenGeometryChange(screen(), geometry(), availableGeometry()); QPlatformScreen::resizeMaximizedWindows(); handleExpose(); @@ -1140,6 +1149,7 @@ HRESULT QWinRTScreen::onSizeChanged(ICoreWindow *, IWindowSizeChangedEventArgs * HRESULT QWinRTScreen::onActivated(ICoreWindow *, IWindowActivatedEventArgs *args) { Q_D(QWinRTScreen); + qCDebug(lcQpaWindows) << __FUNCTION__; CoreWindowActivationState activationState; args->get_WindowActivationState(&activationState); @@ -1159,6 +1169,8 @@ HRESULT QWinRTScreen::onActivated(ICoreWindow *, IWindowActivatedEventArgs *args HRESULT QWinRTScreen::onClosed(ICoreWindow *, ICoreWindowEventArgs *) { + qCDebug(lcQpaWindows) << __FUNCTION__; + foreach (QWindow *w, QGuiApplication::topLevelWindows()) QWindowSystemInterface::handleCloseEvent(w); return S_OK; @@ -1170,6 +1182,7 @@ HRESULT QWinRTScreen::onVisibilityChanged(ICoreWindow *, IVisibilityChangedEvent boolean visible; HRESULT hr = args ? args->get_Visible(&visible) : d->coreWindow->get_Visible(&visible); RETURN_OK_IF_FAILED("Failed to get visibility."); + qCDebug(lcQpaWindows) << __FUNCTION__ << visible; QWindowSystemInterface::handleApplicationStateChanged(visible ? Qt::ApplicationActive : Qt::ApplicationHidden); if (visible) handleExpose(); @@ -1179,7 +1192,7 @@ HRESULT QWinRTScreen::onVisibilityChanged(ICoreWindow *, IVisibilityChangedEvent HRESULT QWinRTScreen::onOrientationChanged(IDisplayInformation *, IInspectable *) { Q_D(QWinRTScreen); - + qCDebug(lcQpaWindows) << __FUNCTION__; DisplayOrientations displayOrientation; HRESULT hr = d->displayInformation->get_CurrentOrientation(&displayOrientation); RETURN_OK_IF_FAILED("Failed to get current orientations."); @@ -1187,6 +1200,7 @@ HRESULT QWinRTScreen::onOrientationChanged(IDisplayInformation *, IInspectable * Qt::ScreenOrientation newOrientation = static_cast(static_cast(qtOrientationsFromNative(displayOrientation))); if (d->orientation != newOrientation) { d->orientation = newOrientation; + qCDebug(lcQpaWindows) << " New orientation:" << newOrientation; #ifdef Q_OS_WINPHONE onSizeChanged(nullptr, nullptr); #endif @@ -1211,6 +1225,8 @@ HRESULT QWinRTScreen::onDpiChanged(IDisplayInformation *, IInspectable *) hr = d->displayInformation->get_ResolutionScale(&resolutionScale); d->scaleFactor = qreal(resolutionScale) / 100; #endif + qCDebug(lcQpaWindows) << __FUNCTION__ << "Scale Factor:" << d->scaleFactor; + RETURN_OK_IF_FAILED("Failed to get scale factor"); FLOAT dpi; @@ -1225,6 +1241,8 @@ HRESULT QWinRTScreen::onDpiChanged(IDisplayInformation *, IInspectable *) hr = d->displayInformation->get_RawDpiY(&dpi); RETURN_OK_IF_FAILED("Failed to get y raw DPI."); d->physicalDpi.second = dpi ? dpi : 96.0; + qCDebug(lcQpaWindows) << __FUNCTION__ << "Logical DPI:" << d->logicalDpi + << "Physical DPI:" << d->physicalDpi; return S_OK; } @@ -1232,12 +1250,14 @@ HRESULT QWinRTScreen::onDpiChanged(IDisplayInformation *, IInspectable *) #ifdef Q_OS_WINPHONE HRESULT QWinRTScreen::onStatusBarShowing(IStatusBar *, IInspectable *) { + qCDebug(lcQpaWindows) << __FUNCTION__; onSizeChanged(nullptr, nullptr); return S_OK; } HRESULT QWinRTScreen::onStatusBarHiding(IStatusBar *, IInspectable *) { + qCDebug(lcQpaWindows) << __FUNCTION__; onSizeChanged(nullptr, nullptr); return S_OK; } -- cgit v1.2.3 From 1929e48bba631465c256265a2ed31128e7217aca Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Tue, 8 Mar 2016 15:39:36 +0100 Subject: winrt: Fix painting glitches when orientation changes In addition to handling the pure rotation enforce a size change as well. This way content is redrawn for the correct orientation. It was done for Windows Phone 8.1 already, we only need to extent this to Windows 10. Task-number: QTBUG-50336 Change-Id: I6b3b964f44b631757ea856331c50f53c39ed9ec3 Reviewed-by: Oliver Wolff --- src/plugins/platforms/winrt/qwinrtscreen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp index 831586538f..2410848cde 100644 --- a/src/plugins/platforms/winrt/qwinrtscreen.cpp +++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp @@ -1201,7 +1201,7 @@ HRESULT QWinRTScreen::onOrientationChanged(IDisplayInformation *, IInspectable * if (d->orientation != newOrientation) { d->orientation = newOrientation; qCDebug(lcQpaWindows) << " New orientation:" << newOrientation; -#ifdef Q_OS_WINPHONE +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_PHONE_APP) onSizeChanged(nullptr, nullptr); #endif QWindowSystemInterface::handleScreenOrientationChange(screen(), d->orientation); -- cgit v1.2.3 From 134cad32d73c776ffdc9db89a24f582bb847f165 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 17 Oct 2015 17:48:34 +0200 Subject: QtCore: use printf-style qWarning/qDebug where possible (I) The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "" with qWarning("..."). Saves ~750b in text size on optimized GCC 5.3 AMD64 builds. Change-Id: I8bf3e46cd5a6b2cae0ceb3e355a50f61925c63d3 Reviewed-by: Kai Koehne --- src/corelib/io/qfilesystemwatcher.cpp | 4 ++-- src/corelib/io/qfilesystemwatcher_inotify.cpp | 2 +- src/corelib/itemmodels/qsortfilterproxymodel.cpp | 4 ++-- src/corelib/json/qjsondocument.cpp | 2 +- src/corelib/json/qjsonparser.cpp | 4 ++-- src/corelib/kernel/qppsobject.cpp | 28 ++++++++++++------------ src/corelib/kernel/qppsobjectprivate_p.h | 4 ++-- src/corelib/kernel/qsystemsemaphore_posix.cpp | 4 ++-- src/corelib/kernel/qsystemsemaphore_systemv.cpp | 2 +- src/corelib/kernel/qsystemsemaphore_win.cpp | 6 ++--- src/corelib/mimetypes/qmimeprovider.cpp | 2 +- src/corelib/tools/qcollator_macx.cpp | 4 ++-- src/corelib/tools/qcollator_win.cpp | 2 +- src/corelib/tools/qmap.h | 4 ++-- src/corelib/tools/qtimeline.cpp | 2 +- 15 files changed, 37 insertions(+), 37 deletions(-) (limited to 'src') diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp index e26d412cf9..8b11830fbe 100644 --- a/src/corelib/io/qfilesystemwatcher.cpp +++ b/src/corelib/io/qfilesystemwatcher.cpp @@ -317,11 +317,11 @@ QStringList QFileSystemWatcher::addPaths(const QStringList &paths) // Autotest override case - use the explicitly selected engine only const QStringRef forceName = on.midRef(26); if(forceName == QLatin1String("poller")) { - qDebug() << "QFileSystemWatcher: skipping native engine, using only polling engine"; + qDebug("QFileSystemWatcher: skipping native engine, using only polling engine"); d_func()->initPollerEngine(); engine = d->poller; } else if(forceName == QLatin1String("native")) { - qDebug() << "QFileSystemWatcher: skipping polling engine, using only native engine"; + qDebug("QFileSystemWatcher: skipping polling engine, using only native engine"); engine = d->native; } } diff --git a/src/corelib/io/qfilesystemwatcher_inotify.cpp b/src/corelib/io/qfilesystemwatcher_inotify.cpp index 791429cc5a..5564bc7dca 100644 --- a/src/corelib/io/qfilesystemwatcher_inotify.cpp +++ b/src/corelib/io/qfilesystemwatcher_inotify.cpp @@ -344,7 +344,7 @@ QStringList QInotifyFileSystemWatcherEngine::removePaths(const QStringList &path void QInotifyFileSystemWatcherEngine::readFromInotify() { - // qDebug() << "QInotifyFileSystemWatcherEngine::readFromInotify"; + // qDebug("QInotifyFileSystemWatcherEngine::readFromInotify"); int buffSize = 0; ioctl(inotifyFd, FIONREAD, (char *) &buffSize); diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp index dc159c8f7c..18cb49d483 100644 --- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp +++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp @@ -376,7 +376,7 @@ QModelIndex QSortFilterProxyModelPrivate::proxy_to_source(const QModelIndex &pro if (!proxy_index.isValid()) return QModelIndex(); // for now; we may want to be able to set a root index later if (proxy_index.model() != q_func()) { - qWarning() << "QSortFilterProxyModel: index from wrong model passed to mapToSource"; + qWarning("QSortFilterProxyModel: index from wrong model passed to mapToSource"); Q_ASSERT(!"QSortFilterProxyModel: index from wrong model passed to mapToSource"); return QModelIndex(); } @@ -394,7 +394,7 @@ QModelIndex QSortFilterProxyModelPrivate::source_to_proxy(const QModelIndex &sou if (!source_index.isValid()) return QModelIndex(); // for now; we may want to be able to set a root index later if (source_index.model() != model) { - qWarning() << "QSortFilterProxyModel: index from wrong model passed to mapFromSource"; + qWarning("QSortFilterProxyModel: index from wrong model passed to mapFromSource"); Q_ASSERT(!"QSortFilterProxyModel: index from wrong model passed to mapFromSource"); return QModelIndex(); } diff --git a/src/corelib/json/qjsondocument.cpp b/src/corelib/json/qjsondocument.cpp index 1fde69ecf6..b2fa16d22a 100644 --- a/src/corelib/json/qjsondocument.cpp +++ b/src/corelib/json/qjsondocument.cpp @@ -184,7 +184,7 @@ QJsonDocument &QJsonDocument::operator =(const QJsonDocument &other) QJsonDocument QJsonDocument::fromRawData(const char *data, int size, DataValidation validation) { if (quintptr(data) & 3) { - qWarning() <<"QJsonDocument::fromRawData: data has to have 4 byte alignment"; + qWarning("QJsonDocument::fromRawData: data has to have 4 byte alignment"); return QJsonDocument(); } diff --git a/src/corelib/json/qjsonparser.cpp b/src/corelib/json/qjsonparser.cpp index 9bafcc4c5f..04bdb57d6b 100644 --- a/src/corelib/json/qjsonparser.cpp +++ b/src/corelib/json/qjsonparser.cpp @@ -300,7 +300,7 @@ QJsonDocument Parser::parse(QJsonParseError *error) { #ifdef PARSER_DEBUG indent = 0; - qDebug() << ">>>>> parser begin"; + qDebug(">>>>> parser begin"); #endif // allocate some space dataLength = qMax(end - json, (ptrdiff_t) 256); @@ -346,7 +346,7 @@ QJsonDocument Parser::parse(QJsonParseError *error) error: #ifdef PARSER_DEBUG - qDebug() << ">>>>> parser error"; + qDebug(">>>>> parser error"); #endif if (error) { error->offset = json - head; diff --git a/src/corelib/kernel/qppsobject.cpp b/src/corelib/kernel/qppsobject.cpp index 5990deb9c3..dbff997c88 100644 --- a/src/corelib/kernel/qppsobject.cpp +++ b/src/corelib/kernel/qppsobject.cpp @@ -72,7 +72,7 @@ public: { int fd = qt_safe_open("/pps/.all", O_RDONLY); if (fd == -1) { - qWarning() << "qppsobject.cpp: qt_safe_open failed"; + qWarning("qppsobject.cpp: qt_safe_open failed"); value = -1; } @@ -114,7 +114,7 @@ QPpsAttributeMap QPpsObjectPrivate::decode(const QByteArray &rawData, bool *ok) // no need to check ok in this case attributeMap = decodeObject(&decoder, ok); } else { - qWarning() << "QPpsObjectPrivate::decode: pps_decoder_initialize failed"; + qWarning("QPpsObjectPrivate::decode: pps_decoder_initialize failed"); *ok = false; } @@ -162,7 +162,7 @@ QPpsAttribute QPpsObjectPrivate::decodeString(pps_decoder_t *decoder) pps_decoder_error_t error = pps_decoder_get_string(decoder, 0, &value); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeString: PPS_DECODER_GET_STRING failed"; + qWarning("QPpsObjectPrivate::decodeString: PPS_DECODER_GET_STRING failed"); return QPpsAttribute(); } @@ -189,19 +189,19 @@ QPpsAttribute QPpsObjectPrivate::decodeNumber(pps_decoder_t *decoder) case PPS_DECODER_CONVERSION_FAILED: error = pps_decoder_get_int64(decoder, 0, &llValue); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeNumber: failed to decode integer"; + qWarning("QPpsObjectPrivate::decodeNumber: failed to decode integer"); return QPpsAttribute(); } flags = readFlags(decoder); return QPpsAttributePrivate::createPpsAttribute(llValue, flags); default: - qWarning() << "QPpsObjectPrivate::decodeNumber: pps_decoder_get_int failed"; + qWarning("QPpsObjectPrivate::decodeNumber: pps_decoder_get_int failed"); return QPpsAttribute(); } } else { pps_decoder_error_t error = pps_decoder_get_double(decoder, 0, &dValue); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeNumber: pps_decoder_get_double failed"; + qWarning("QPpsObjectPrivate::decodeNumber: pps_decoder_get_double failed"); return QPpsAttribute(); } flags = readFlags(decoder); @@ -215,7 +215,7 @@ QPpsAttribute QPpsObjectPrivate::decodeBool(pps_decoder_t *decoder) pps_decoder_error_t error = pps_decoder_get_bool(decoder, 0, &value); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeBool: pps_decoder_get_bool failed"; + qWarning("QPpsObjectPrivate::decodeBool: pps_decoder_get_bool failed"); return QPpsAttribute(); } @@ -278,7 +278,7 @@ QPpsAttribute QPpsObjectPrivate::decodeData(pps_decoder_t *decoder) case PPS_TYPE_NONE: case PPS_TYPE_UNKNOWN: default: - qWarning() << "QPpsObjectPrivate::decodeData: invalid pps_node_type"; + qWarning("QPpsObjectPrivate::decodeData: invalid pps_node_type"); return QPpsAttribute(); } } @@ -292,7 +292,7 @@ QPpsAttributeList QPpsObjectPrivate::decodeArray(pps_decoder_t *decoder, bool *o // Force movement to a specific index. pps_decoder_error_t error = pps_decoder_goto_index(decoder, i); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeArray: pps_decoder_goto_index failed"; + qWarning("QPpsObjectPrivate::decodeArray: pps_decoder_goto_index failed"); *ok = false; return QPpsAttributeList(); } @@ -319,7 +319,7 @@ QPpsAttributeMap QPpsObjectPrivate::decodeObject(pps_decoder_t *decoder, bool *o // Force movement to a specific index. pps_decoder_error_t error = pps_decoder_goto_index(decoder, i); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeObject: pps_decoder_goto_index failed"; + qWarning("QPpsObjectPrivate::decodeObject: pps_decoder_goto_index failed"); *ok = false; return QPpsAttributeMap(); } @@ -368,7 +368,7 @@ QVariant QPpsObjectPrivate::variantFromPpsAttribute(const QPpsAttribute &attribu return variantMapFromPpsAttributeMap(attribute.toMap()); case QPpsAttribute::None: default: - qWarning() << "QPpsObjectPrivate::variantFromPpsAttribute: invalid attribute parameter"; + qWarning("QPpsObjectPrivate::variantFromPpsAttribute: invalid attribute parameter"); return QVariant(); } } @@ -385,7 +385,7 @@ QByteArray QPpsObjectPrivate::encode(const QVariantMap &ppsData, bool *ok) // The memory will be freed when pps_encoder_cleanup is called. rawData = pps_encoder_buffer(&encoder); if (!rawData) { - qWarning() << "QPpsObjectPrivate::encode: pps_encoder_buffer failed"; + qWarning("QPpsObjectPrivate::encode: pps_encoder_buffer failed"); *ok = false; } } @@ -448,7 +448,7 @@ void QPpsObjectPrivate::encodeData(pps_encoder_t *encoder, const char *name, con errorFunction = QStringLiteral("pps_encoder_add_null"); break; default: - qWarning() << "QPpsObjectPrivate::encodeData: the type of the parameter data is invalid"; + qWarning("QPpsObjectPrivate::encodeData: the type of the parameter data is invalid"); *ok = false; return; } @@ -685,7 +685,7 @@ QByteArray QPpsObject::read(bool *ok) const int maxSize = ppsMaxSize->value; if (maxSize == -1) { - qWarning() << "QPpsObject::read: maxSize is equal to -1"; + qWarning("QPpsObject::read: maxSize is equal to -1"); safeAssign(ok, false); return QByteArray(); } diff --git a/src/corelib/kernel/qppsobjectprivate_p.h b/src/corelib/kernel/qppsobjectprivate_p.h index 26d89ab7f0..e1d54e58de 100644 --- a/src/corelib/kernel/qppsobjectprivate_p.h +++ b/src/corelib/kernel/qppsobjectprivate_p.h @@ -105,7 +105,7 @@ inline bool QPpsObjectPrivate::decoderPush(pps_decoder_t *decoder, const char *n { pps_decoder_error_t error = pps_decoder_push(decoder, name); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeData: pps_decoder_push failed"; + qWarning("QPpsObjectPrivate::decodeData: pps_decoder_push failed"); return false; } return true; @@ -115,7 +115,7 @@ inline bool QPpsObjectPrivate::decoderPop(pps_decoder_t *decoder) { pps_decoder_error_t error = pps_decoder_pop(decoder); if (error != PPS_DECODER_OK) { - qWarning() << "QPpsObjectPrivate::decodeData: pps_decoder_pop failed"; + qWarning("QPpsObjectPrivate::decodeData: pps_decoder_pop failed"); return false; } return true; diff --git a/src/corelib/kernel/qsystemsemaphore_posix.cpp b/src/corelib/kernel/qsystemsemaphore_posix.cpp index 76ab0d42eb..6137239467 100644 --- a/src/corelib/kernel/qsystemsemaphore_posix.cpp +++ b/src/corelib/kernel/qsystemsemaphore_posix.cpp @@ -119,7 +119,7 @@ void QSystemSemaphorePrivate::cleanHandle() if (::sem_close(semaphore) == -1) { setErrorString(QLatin1String("QSystemSemaphore::cleanHandle (sem_close)")); #if defined QSYSTEMSEMAPHORE_DEBUG - qDebug() << QLatin1String("QSystemSemaphore::cleanHandle sem_close failed."); + qDebug("QSystemSemaphore::cleanHandle sem_close failed."); #endif } semaphore = SEM_FAILED; @@ -129,7 +129,7 @@ void QSystemSemaphorePrivate::cleanHandle() if (::sem_unlink(QFile::encodeName(fileName).constData()) == -1 && errno != ENOENT) { setErrorString(QLatin1String("QSystemSemaphore::cleanHandle (sem_unlink)")); #if defined QSYSTEMSEMAPHORE_DEBUG - qDebug() << QLatin1String("QSystemSemaphore::cleanHandle sem_unlink failed."); + qDebug("QSystemSemaphore::cleanHandle sem_unlink failed."); #endif } createdSemaphore = false; diff --git a/src/corelib/kernel/qsystemsemaphore_systemv.cpp b/src/corelib/kernel/qsystemsemaphore_systemv.cpp index 69e1bf7705..f4fdfa5f58 100644 --- a/src/corelib/kernel/qsystemsemaphore_systemv.cpp +++ b/src/corelib/kernel/qsystemsemaphore_systemv.cpp @@ -153,7 +153,7 @@ void QSystemSemaphorePrivate::cleanHandle() if (-1 == semctl(semaphore, 0, IPC_RMID, 0)) { setErrorString(QLatin1String("QSystemSemaphore::cleanHandle")); #if defined QSYSTEMSEMAPHORE_DEBUG - qDebug() << QLatin1String("QSystemSemaphore::cleanHandle semctl failed."); + qDebug("QSystemSemaphore::cleanHandle semctl failed."); #endif } semaphore = -1; diff --git a/src/corelib/kernel/qsystemsemaphore_win.cpp b/src/corelib/kernel/qsystemsemaphore_win.cpp index ca31e9d59d..236e346afe 100644 --- a/src/corelib/kernel/qsystemsemaphore_win.cpp +++ b/src/corelib/kernel/qsystemsemaphore_win.cpp @@ -101,7 +101,7 @@ void QSystemSemaphorePrivate::cleanHandle() { if (semaphore && !CloseHandle(semaphore)) { #if defined QSYSTEMSEMAPHORE_DEBUG - qDebug() << QLatin1String("QSystemSemaphorePrivate::CloseHandle: sem failed"); + qDebug("QSystemSemaphorePrivate::CloseHandle: sem failed"); #endif } semaphore = 0; @@ -116,7 +116,7 @@ bool QSystemSemaphorePrivate::modifySemaphore(int count) if (0 == ReleaseSemaphore(semaphore, count, 0)) { setErrorString(QLatin1String("QSystemSemaphore::modifySemaphore")); #if defined QSYSTEMSEMAPHORE_DEBUG - qDebug() << QLatin1String("QSystemSemaphore::modifySemaphore ReleaseSemaphore failed"); + qDebug("QSystemSemaphore::modifySemaphore ReleaseSemaphore failed"); #endif return false; } @@ -128,7 +128,7 @@ bool QSystemSemaphorePrivate::modifySemaphore(int count) #endif setErrorString(QLatin1String("QSystemSemaphore::modifySemaphore")); #if defined QSYSTEMSEMAPHORE_DEBUG - qDebug() << QLatin1String("QSystemSemaphore::modifySemaphore WaitForSingleObject failed"); + qDebug("QSystemSemaphore::modifySemaphore WaitForSingleObject failed"); #endif return false; } diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index dd60c5af08..52b5327f54 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -559,7 +559,7 @@ QList QMimeBinaryProvider::allMimeTypes() void QMimeBinaryProvider::loadMimeTypePrivate(QMimeTypePrivate &data) { #ifdef QT_NO_XMLSTREAMREADER - qWarning() << "Cannot load mime type since QXmlStreamReader is not available."; + qWarning("Cannot load mime type since QXmlStreamReader is not available."); return; #else if (data.loaded) diff --git a/src/corelib/tools/qcollator_macx.cpp b/src/corelib/tools/qcollator_macx.cpp index 207b5bb2b1..b4d93e58d4 100644 --- a/src/corelib/tools/qcollator_macx.cpp +++ b/src/corelib/tools/qcollator_macx.cpp @@ -55,7 +55,7 @@ void QCollatorPrivate::init() LocaleRef localeRef; int rc = LocaleRefFromLocaleString(locale.bcp47Name().toLocal8Bit(), &localeRef); if (rc != 0) - qWarning() << "couldn't initialize the locale"; + qWarning("couldn't initialize the locale"); UInt32 options = 0; @@ -73,7 +73,7 @@ void QCollatorPrivate::init() &collator ); if (status != 0) - qWarning() << "Couldn't initialize the collator"; + qWarning("Couldn't initialize the collator"); dirty = false; } diff --git a/src/corelib/tools/qcollator_win.cpp b/src/corelib/tools/qcollator_win.cpp index 30e358c3f9..fcd8d069eb 100644 --- a/src/corelib/tools/qcollator_win.cpp +++ b/src/corelib/tools/qcollator_win.cpp @@ -73,7 +73,7 @@ void QCollatorPrivate::init() if (QSysInfo::windowsVersion() >= QSysInfo::WV_WINDOWS7) collator |= SORT_DIGITSASNUMBERS; else - qWarning() << "Numeric sorting unsupported on Windows versions older than Windows 7."; + qWarning("Numeric sorting unsupported on Windows versions older than Windows 7."); } if (ignorePunctuation) diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h index 7eec281957..9801878bdc 100644 --- a/src/corelib/tools/qmap.h +++ b/src/corelib/tools/qmap.h @@ -909,7 +909,7 @@ template void QMap::dump() const { const_iterator it = begin(); - qDebug() << "map dump:"; + qDebug("map dump:"); while (it != end()) { const QMapNodeBase *n = it.i; int depth = 0; @@ -922,7 +922,7 @@ void QMap::dump() const << it.key() << it.value(); ++it; } - qDebug() << "---------"; + qDebug("---------"); } #endif diff --git a/src/corelib/tools/qtimeline.cpp b/src/corelib/tools/qtimeline.cpp index dd6a4dbc56..adbc2900e3 100644 --- a/src/corelib/tools/qtimeline.cpp +++ b/src/corelib/tools/qtimeline.cpp @@ -131,7 +131,7 @@ void QTimeLinePrivate::setCurrentTime(int msecs) const int transitionframe = (direction == QTimeLine::Forward ? endFrame : startFrame); if (looping && !finished && transitionframe != currentFrame) { #ifdef QTIMELINE_DEBUG - qDebug() << "QTimeLinePrivate::setCurrentTime: transitionframe"; + qDebug("QTimeLinePrivate::setCurrentTime: transitionframe"); #endif emit q->frameChanged(transitionframe, QTimeLine::QPrivateSignal()); } -- cgit v1.2.3 From 71548ba4a02e7d80a5ea407ff910b70ca21f9b5b Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 26 Feb 2016 10:44:13 +0100 Subject: ibus: remove some unneeded member init'ing I was surprised this compiled at all, since I thought QT_NO_CAST_FROM_ASCII was in effect in Qt, but apparently it isn't. Change-Id: Id77743a2ca1b7f865960dc78d169584741f18d43 Reviewed-by: Lars Knoll --- src/plugins/platforminputcontexts/ibus/qibustypes.cpp | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'src') diff --git a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp index cc62fef6bb..ac82fa3931 100644 --- a/src/plugins/platforminputcontexts/ibus/qibustypes.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibustypes.cpp @@ -277,23 +277,7 @@ void QIBusText::deserializeFrom(const QDBusArgument &argument) } QIBusEngineDesc::QIBusEngineDesc() - : engine_name(""), - longname(""), - description(""), - language(""), - license(""), - author(""), - icon(""), - layout(""), - rank(0), - hotkeys(""), - symbol(""), - setup(""), - layout_variant(""), - layout_option(""), - version(""), - textdomain(""), - iconpropkey("") + : rank(0) { name = "IBusEngineDesc"; } -- cgit v1.2.3 From a2d58025b63d43a843bf14138221086f25c280f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Thu, 10 Mar 2016 12:50:52 +0100 Subject: Cocoa: Improve native view lifetime accuracy. Ideally all native NSWindows and NSViews owned by QCocoaWindow should be deallocated during the QCocoaWindow destructor. In reality this does not always happen since Cocoa is free to hold references to the views after Qt releases its reference. We can help Cocoa clean up: - Clear the first responder for the NSWindow under the ~QCocoaWndow() autoreleasepool. - Use an autoreleasepool to clean up temp objects from [NSWindow orderFront:] immediately. Together this makes the QNSView lifetime be contained by the QCocoaWindow lifetime, at least for simple QWindow usage. It also fixes the observed memory leak reported in QTBUG-51766 Change-Id: Idd224f54ebd6f61f274461a204ff30c666b22768 Task-number: QTBUG-51766 Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qcocoawindow.mm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index 00cb43c940..e4cd57a115 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -409,6 +409,7 @@ QCocoaWindow::~QCocoaWindow() #endif QMacAutoReleasePool pool; + [m_nsWindow makeFirstResponder:nil]; [m_nsWindow setContentView:nil]; [m_nsWindow.helper detachFromPlatformWindow]; if (m_isNSWindowChild) { @@ -990,7 +991,15 @@ void QCocoaWindow::raise() [parentNSWindow removeChildWindow:m_nsWindow]; [parentNSWindow addChildWindow:m_nsWindow ordered:NSWindowAbove]; } else { - [m_nsWindow orderFront: m_nsWindow]; + { + // Clean up autoreleased temp objects from orderFront immediately. + // Failure to do so has been observed to cause leaks also beyond any outer + // autorelease pool (for example around a complete QWindow + // construct-show-raise-hide-delete cyle), counter to expected autoreleasepool + // behavior. + QMacAutoReleasePool pool; + [m_nsWindow orderFront: m_nsWindow]; + } static bool raiseProcess = qt_mac_resolveOption(true, "QT_MAC_SET_RAISE_PROCESS"); if (raiseProcess) { ProcessSerialNumber psn; -- cgit v1.2.3 From 343e5d066a6b5583688e16baec20f20e6d9a24e0 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 6 Nov 2015 09:37:23 +0100 Subject: Optimized implementation of QReadWriteLock QReadWriteLock is supposed to be a better alternative to QMutex when there are only a few writers but potentially lots of reads. However, in practice the previous implementation was much slower, unless you really do a lot of work with the lock for read and you have lots of contention. Indeed, the previous implementation was locking a QMutex both for lock, and unlock (making it already at least twice as slow as QMutex). This new implementation brings QReadWriteLock back to the same level as QMutex: - No memory allocations in the uncontended case (almost no overhead allowing to create many of them in classes) - Lock-free if there is no contention Should support up to 2^31 concurrent readers on 64 bit platforms, and 2^28 on 32 bit platforms Change-Id: Ifa2fc999075cbb971088f4ee8e6fde78ce262da3 Reviewed-by: Edward Welbourne Reviewed-by: Sean Harmer Reviewed-by: Robin Burchell --- src/corelib/thread/qreadwritelock.cpp | 528 +++++++++++++++++++---------- src/corelib/thread/qreadwritelock.h | 6 +- src/corelib/thread/qreadwritelock_p.h | 39 ++- src/corelib/thread/qwaitcondition_unix.cpp | 10 +- src/corelib/thread/qwaitcondition_win.cpp | 10 +- 5 files changed, 401 insertions(+), 192 deletions(-) (limited to 'src') diff --git a/src/corelib/thread/qreadwritelock.cpp b/src/corelib/thread/qreadwritelock.cpp index 117da2e30b..5665bf74f6 100644 --- a/src/corelib/thread/qreadwritelock.cpp +++ b/src/corelib/thread/qreadwritelock.cpp @@ -2,6 +2,7 @@ ** ** Copyright (C) 2016 The Qt Company Ltd. ** Copyright (C) 2016 Intel Corporation. +** Copyright (C) 2016 Olivier Goffart ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -45,11 +46,36 @@ #include "qmutex.h" #include "qthread.h" #include "qwaitcondition.h" - #include "qreadwritelock_p.h" +#include "qelapsedtimer.h" +#include "private/qfreelist_p.h" QT_BEGIN_NAMESPACE +/* + * Implementation details of QReadWriteLock: + * + * Depending on the valued of d_ptr, the lock is in the following state: + * - when d_ptr == 0x0: Unlocked (no readers, no writers) and non-recursive. + * - when d_ptr & 0x1: If the least significant bit is set, we are locked for read. + * In that case, d_ptr>>4 represents the number of reading threads minus 1. No writers + * are waiting, and the lock is not recursive. + * - when d_ptr == 0x2: We are locked for write and nobody is waiting. (no contention) + * - In any other case, d_ptr points to an actual QReadWriteLockPrivate. + */ + +namespace { +enum { + StateMask = 0x3, + StateLockedForRead = 0x1, + StateLockedForWrite = 0x2, +}; +const auto dummyLockedForRead = reinterpret_cast(quintptr(StateLockedForRead)); +const auto dummyLockedForWrite = reinterpret_cast(quintptr(StateLockedForWrite)); +inline bool isUncontendedLocked(const QReadWriteLockPrivate *d) +{ return quintptr(d) & StateMask; } +} + /*! \class QReadWriteLock \inmodule QtCore \brief The QReadWriteLock class provides read-write locking. @@ -116,8 +142,10 @@ QT_BEGIN_NAMESPACE \sa lockForRead(), lockForWrite(), RecursionMode */ QReadWriteLock::QReadWriteLock(RecursionMode recursionMode) - : d(new QReadWriteLockPrivate(recursionMode)) -{ } + : d_ptr(recursionMode == Recursive ? new QReadWriteLockPrivate(true) : nullptr) +{ + Q_ASSERT_X(!(quintptr(d_ptr.load()) & StateMask), "QReadWriteLock::QReadWriteLock", "bad d_ptr alignment"); +} /*! Destroys the QReadWriteLock object. @@ -127,6 +155,11 @@ QReadWriteLock::QReadWriteLock(RecursionMode recursionMode) */ QReadWriteLock::~QReadWriteLock() { + auto d = d_ptr.load(); + if (isUncontendedLocked(d)) { + qWarning("QReadWriteLock: destroying locked QReadWriteLock"); + return; + } delete d; } @@ -141,32 +174,9 @@ QReadWriteLock::~QReadWriteLock() */ void QReadWriteLock::lockForRead() { - QMutexLocker lock(&d->mutex); - - Qt::HANDLE self = 0; - if (d->recursive) { - self = QThread::currentThreadId(); - - QHash::iterator it = d->currentReaders.find(self); - if (it != d->currentReaders.end()) { - ++it.value(); - ++d->accessCount; - Q_ASSERT_X(d->accessCount > 0, "QReadWriteLock::lockForRead()", - "Overflow in lock counter"); - return; - } - } - - while (d->accessCount < 0 || d->waitingWriters) { - ++d->waitingReaders; - d->readerWait.wait(&d->mutex); - --d->waitingReaders; - } - if (d->recursive) - d->currentReaders.insert(self, 1); - - ++d->accessCount; - Q_ASSERT_X(d->accessCount > 0, "QReadWriteLock::lockForRead()", "Overflow in lock counter"); + if (d_ptr.testAndSetAcquire(nullptr, dummyLockedForRead)) + return; + tryLockForRead(-1); } /*! @@ -187,31 +197,7 @@ void QReadWriteLock::lockForRead() */ bool QReadWriteLock::tryLockForRead() { - QMutexLocker lock(&d->mutex); - - Qt::HANDLE self = 0; - if (d->recursive) { - self = QThread::currentThreadId(); - - QHash::iterator it = d->currentReaders.find(self); - if (it != d->currentReaders.end()) { - ++it.value(); - ++d->accessCount; - Q_ASSERT_X(d->accessCount > 0, "QReadWriteLock::tryLockForRead()", - "Overflow in lock counter"); - return true; - } - } - - if (d->accessCount < 0) - return false; - if (d->recursive) - d->currentReaders.insert(self, 1); - - ++d->accessCount; - Q_ASSERT_X(d->accessCount > 0, "QReadWriteLock::tryLockForRead()", "Overflow in lock counter"); - - return true; + return tryLockForRead(0); } /*! \overload @@ -235,36 +221,58 @@ bool QReadWriteLock::tryLockForRead() */ bool QReadWriteLock::tryLockForRead(int timeout) { - QMutexLocker lock(&d->mutex); - - Qt::HANDLE self = 0; - if (d->recursive) { - self = QThread::currentThreadId(); + // Fast case: non contended: + QReadWriteLockPrivate *d; + if (d_ptr.testAndSetAcquire(nullptr, dummyLockedForRead, d)) + return true; + + while (true) { + if (d == 0) { + if (!d_ptr.testAndSetAcquire(nullptr, dummyLockedForRead, d)) + continue; + return true; + } - QHash::iterator it = d->currentReaders.find(self); - if (it != d->currentReaders.end()) { - ++it.value(); - ++d->accessCount; - Q_ASSERT_X(d->accessCount > 0, "QReadWriteLock::tryLockForRead()", + if ((quintptr(d) & StateMask) == StateLockedForRead) { + // locked for read, increase the counter + const auto val = reinterpret_cast(quintptr(d) + (1U<<4)); + Q_ASSERT_X(quintptr(val) > (1U<<4), "QReadWriteLock::tryLockForRead()", "Overflow in lock counter"); + if (!d_ptr.testAndSetAcquire(d, val, d)) + continue; return true; } - } - while (d->accessCount < 0 || d->waitingWriters) { - ++d->waitingReaders; - bool success = d->readerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : ulong(timeout)); - --d->waitingReaders; - if (!success) - return false; + if (d == dummyLockedForWrite) { + // locked for write, assign a d_ptr and wait. + auto val = QReadWriteLockPrivate::allocate(); + val->writerCount = 1; + if (!d_ptr.testAndSetOrdered(d, val, d)) { + val->writerCount = 0; + val->release(); + continue; + } + d = val; + } + Q_ASSERT(!isUncontendedLocked(d)); + // d is an actual pointer; + + if (d->recursive) + return d->recursiveLockForRead(timeout); + + QMutexLocker lock(&d->mutex); + if (d != d_ptr.load()) { + // d_ptr has changed: this QReadWriteLock was unlocked before we had + // time to lock d->mutex. + // We are holding a lock to a mutex within a QReadWriteLockPrivate + // that is already released (or even is already re-used). That's ok + // because the QFreeList never frees them. + // Just unlock d->mutex (at the end of the scope) and retry. + d = d_ptr.loadAcquire(); + continue; + } + return d->lockForRead(timeout); } - if (d->recursive) - d->currentReaders.insert(self, 1); - - ++d->accessCount; - Q_ASSERT_X(d->accessCount > 0, "QReadWriteLock::tryLockForRead()", "Overflow in lock counter"); - - return true; } /*! @@ -280,30 +288,7 @@ bool QReadWriteLock::tryLockForRead(int timeout) */ void QReadWriteLock::lockForWrite() { - QMutexLocker lock(&d->mutex); - - Qt::HANDLE self = 0; - if (d->recursive) { - self = QThread::currentThreadId(); - - if (d->currentWriter == self) { - --d->accessCount; - Q_ASSERT_X(d->accessCount < 0, "QReadWriteLock::lockForWrite()", - "Overflow in lock counter"); - return; - } - } - - while (d->accessCount != 0) { - ++d->waitingWriters; - d->writerWait.wait(&d->mutex); - --d->waitingWriters; - } - if (d->recursive) - d->currentWriter = self; - - --d->accessCount; - Q_ASSERT_X(d->accessCount < 0, "QReadWriteLock::lockForWrite()", "Overflow in lock counter"); + tryLockForWrite(-1); } /*! @@ -323,30 +308,7 @@ void QReadWriteLock::lockForWrite() */ bool QReadWriteLock::tryLockForWrite() { - QMutexLocker lock(&d->mutex); - - Qt::HANDLE self = 0; - if (d->recursive) { - self = QThread::currentThreadId(); - - if (d->currentWriter == self) { - --d->accessCount; - Q_ASSERT_X(d->accessCount < 0, "QReadWriteLock::lockForWrite()", - "Overflow in lock counter"); - return true; - } - } - - if (d->accessCount != 0) - return false; - if (d->recursive) - d->currentWriter = self; - - --d->accessCount; - Q_ASSERT_X(d->accessCount < 0, "QReadWriteLock::tryLockForWrite()", - "Overflow in lock counter"); - - return true; + return tryLockForWrite(0); } /*! \overload @@ -370,36 +332,48 @@ bool QReadWriteLock::tryLockForWrite() */ bool QReadWriteLock::tryLockForWrite(int timeout) { - QMutexLocker lock(&d->mutex); - - Qt::HANDLE self = 0; - if (d->recursive) { - self = QThread::currentThreadId(); - - if (d->currentWriter == self) { - --d->accessCount; - Q_ASSERT_X(d->accessCount < 0, "QReadWriteLock::lockForWrite()", - "Overflow in lock counter"); + // Fast case: non contended: + QReadWriteLockPrivate *d; + if (d_ptr.testAndSetAcquire(nullptr, dummyLockedForWrite, d)) + return true; + + while (true) { + if (d == 0) { + if (!d_ptr.testAndSetAcquire(d, dummyLockedForWrite, d)) + continue; return true; } - } - - while (d->accessCount != 0) { - ++d->waitingWriters; - bool success = d->writerWait.wait(&d->mutex, timeout < 0 ? ULONG_MAX : ulong(timeout)); - --d->waitingWriters; - if (!success) - return false; + if (isUncontendedLocked(d)) { + // locked for either read or write, assign a d_ptr and wait. + auto val = QReadWriteLockPrivate::allocate(); + if (d == dummyLockedForWrite) + val->writerCount = 1; + else + val->readerCount = (quintptr(d) >> 4) + 1; + if (!d_ptr.testAndSetOrdered(d, val, d)) { + val->writerCount = val->readerCount = 0; + val->release(); + continue; + } + d = val; + } + Q_ASSERT(!isUncontendedLocked(d)); + // d is an actual pointer; + + if (d->recursive) + return d->recursiveLockForWrite(timeout); + + QMutexLocker lock(&d->mutex); + if (d != d_ptr.load()) { + // The mutex was unlocked before we had time to lock the mutex. + // We are holding to a mutex within a QReadWriteLockPrivate that is already released + // (or even is already re-used) but that's ok because the QFreeList never frees them. + d = d_ptr.loadAcquire(); + continue; + } + return d->lockForWrite(timeout); } - if (d->recursive) - d->currentWriter = self; - - --d->accessCount; - Q_ASSERT_X(d->accessCount < 0, "QReadWriteLock::tryLockForWrite()", - "Overflow in lock counter"); - - return true; } /*! @@ -412,36 +386,246 @@ bool QReadWriteLock::tryLockForWrite(int timeout) */ void QReadWriteLock::unlock() { - QMutexLocker lock(&d->mutex); + QReadWriteLockPrivate *d = d_ptr.load(); + while (true) { + Q_ASSERT_X(d, "QReadWriteLock::unlock()", "Cannot unlock an unlocked lock"); + + // Fast case: no contention: (no waiters, no other readers) + if (quintptr(d) <= 2) { // 1 or 2 (StateLockedForRead or StateLockedForWrite) + if (!d_ptr.testAndSetRelease(d, nullptr, d)) + continue; + return; + } - Q_ASSERT_X(d->accessCount != 0, "QReadWriteLock::unlock()", "Cannot unlock an unlocked lock"); + if ((quintptr(d) & StateMask) == StateLockedForRead) { + Q_ASSERT(quintptr(d) > (1U<<4)); //otherwise that would be the fast case + // Just decrease the reader's count. + auto val = reinterpret_cast(quintptr(d) - (1U<<4)); + if (!d_ptr.testAndSetRelease(d, val, d)) + continue; + return; + } + + Q_ASSERT(!isUncontendedLocked(d)); - bool unlocked = false; - if (d->accessCount > 0) { - // releasing a read lock if (d->recursive) { - Qt::HANDLE self = QThread::currentThreadId(); - QHash::iterator it = d->currentReaders.find(self); - if (it != d->currentReaders.end()) { - if (--it.value() <= 0) - d->currentReaders.erase(it); + d->recursiveUnlock(); + return; + } + + QMutexLocker locker(&d->mutex); + if (d->writerCount) { + Q_ASSERT(d->writerCount == 1); + Q_ASSERT(d->readerCount == 0); + d->writerCount = 0; + } else { + Q_ASSERT(d->readerCount > 0); + d->readerCount--; + if (d->readerCount > 0) + return; + } + + if (d->waitingReaders || d->waitingWriters) { + d->unlock(); + } else { + Q_ASSERT(d_ptr.load() == d); // should not change when we still hold the mutex + d_ptr.storeRelease(nullptr); + d->release(); + } + return; + } +} + +/*! \internal Helper for QWaitCondition::wait */ +QReadWriteLock::StateForWaitCondition QReadWriteLock::stateForWaitCondition() const +{ + QReadWriteLockPrivate *d = d_ptr.load(); + switch (quintptr(d) & StateMask) { + case StateLockedForRead: return LockedForRead; + case StateLockedForWrite: return LockedForWrite; + } + + if (!d) + return Unlocked; + if (d->writerCount > 1) + return RecursivelyLocked; + else if (d->writerCount == 1) + return LockedForWrite; + return LockedForRead; + +} + +bool QReadWriteLockPrivate::lockForRead(int timeout) +{ + Q_ASSERT(!mutex.tryLock()); // mutex must be locked when entering this function + + QElapsedTimer t; + if (timeout > 0) + t.start(); + + while (waitingWriters || writerCount) { + if (timeout == 0) + return false; + if (timeout > 0) { + auto elapsed = t.elapsed(); + if (elapsed > timeout) + return false; + waitingReaders++; + readerCond.wait(&mutex, timeout - elapsed); + } else { + waitingReaders++; + readerCond.wait(&mutex); + } + waitingReaders--; + } + readerCount++; + Q_ASSERT(writerCount == 0); + return true; +} + +bool QReadWriteLockPrivate::lockForWrite(int timeout) +{ + Q_ASSERT(!mutex.tryLock()); // mutex must be locked when entering this function + + QElapsedTimer t; + if (timeout > 0) + t.start(); + + while (readerCount || writerCount) { + if (timeout == 0) + return false; + if (timeout > 0) { + auto elapsed = t.elapsed(); + if (elapsed > timeout) { + if (waitingReaders && !waitingWriters && !writerCount) { + // We timed out and now there is no more writers or waiting writers, but some + // readers were queueud (probably because of us). Wake the waiting readers. + readerCond.wakeAll(); + } + return false; } + waitingWriters++; + writerCond.wait(&mutex, timeout - elapsed); + } else { + waitingWriters++; + writerCond.wait(&mutex); } + waitingWriters--; + } + + Q_ASSERT(writerCount == 0); + Q_ASSERT(readerCount == 0); + writerCount = 1; + return true; +} + +void QReadWriteLockPrivate::unlock() +{ + Q_ASSERT(!mutex.tryLock()); // mutex must be locked when entering this function + if (waitingWriters) + writerCond.wakeOne(); + else if (waitingReaders) + readerCond.wakeAll(); +} + +bool QReadWriteLockPrivate::recursiveLockForRead(int timeout) +{ + Q_ASSERT(recursive); + QMutexLocker lock(&mutex); + + Qt::HANDLE self = QThread::currentThreadId(); + + auto it = currentReaders.find(self); + if (it != currentReaders.end()) { + ++it.value(); + return true; + } - unlocked = --d->accessCount == 0; - } else if (d->accessCount < 0 && ++d->accessCount == 0) { - // released a write lock - unlocked = true; - d->currentWriter = 0; + if (!lockForRead(timeout)) + return false; + + currentReaders.insert(self, 1); + return true; +} + +bool QReadWriteLockPrivate::recursiveLockForWrite(int timeout) +{ + Q_ASSERT(recursive); + QMutexLocker lock(&mutex); + + Qt::HANDLE self = QThread::currentThreadId(); + if (currentWriter == self) { + writerCount++; + return true; } - if (unlocked) { - if (d->waitingWriters) { - d->writerWait.wakeOne(); - } else if (d->waitingReaders) { - d->readerWait.wakeAll(); + if (!lockForWrite(timeout)) + return false; + + currentWriter = self; + return true; +} + +void QReadWriteLockPrivate::recursiveUnlock() +{ + Q_ASSERT(recursive); + QMutexLocker lock(&mutex); + + Qt::HANDLE self = QThread::currentThreadId(); + if (self == currentWriter) { + if (--writerCount > 0) + return; + currentWriter = 0; + } else { + auto it = currentReaders.find(self); + if (it == currentReaders.end()) { + qWarning("QReadWriteLock::unlock: unlocking from a thread that did not lock"); + return; + } else { + if (--it.value() <= 0) { + currentReaders.erase(it); + readerCount--; + } + if (readerCount) + return; } } + + unlock(); +} + +// The freelist management +namespace { +struct FreeListConstants : QFreeListDefaultConstants { + enum { BlockCount = 4, MaxIndex=0xffff }; + static const int Sizes[BlockCount]; +}; +const int FreeListConstants::Sizes[FreeListConstants::BlockCount] = { + 16, + 128, + 1024, + FreeListConstants::MaxIndex - (16 + 128 + 1024) +}; + +typedef QFreeList FreeList; +Q_GLOBAL_STATIC(FreeList, freelist); +} + +QReadWriteLockPrivate *QReadWriteLockPrivate::allocate() +{ + int i = freelist->next(); + QReadWriteLockPrivate *d = &(*freelist)[i]; + d->id = i; + Q_ASSERT(!d->recursive); + Q_ASSERT(!d->waitingReaders && !d->waitingReaders && !d->readerCount && !d->writerCount); + return d; +} + +void QReadWriteLockPrivate::release() +{ + Q_ASSERT(!recursive); + Q_ASSERT(!waitingReaders && !waitingReaders && !readerCount && !writerCount); + freelist->release(id); } /*! diff --git a/src/corelib/thread/qreadwritelock.h b/src/corelib/thread/qreadwritelock.h index b7e2092e38..777efdb3bf 100644 --- a/src/corelib/thread/qreadwritelock.h +++ b/src/corelib/thread/qreadwritelock.h @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE #ifndef QT_NO_THREAD -struct QReadWriteLockPrivate; +class QReadWriteLockPrivate; class Q_CORE_EXPORT QReadWriteLock { @@ -69,8 +69,10 @@ public: private: Q_DISABLE_COPY(QReadWriteLock) - QReadWriteLockPrivate *d; + QAtomicPointer d_ptr; + enum StateForWaitCondition { LockedForRead, LockedForWrite, Unlocked, RecursivelyLocked }; + StateForWaitCondition stateForWaitCondition() const; friend class QWaitCondition; }; diff --git a/src/corelib/thread/qreadwritelock_p.h b/src/corelib/thread/qreadwritelock_p.h index 1f6f73c8e3..285f017655 100644 --- a/src/corelib/thread/qreadwritelock_p.h +++ b/src/corelib/thread/qreadwritelock_p.h @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2016 Olivier Goffart ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -53,29 +54,47 @@ #include #include +#include #ifndef QT_NO_THREAD QT_BEGIN_NAMESPACE -struct QReadWriteLockPrivate +class QReadWriteLockPrivate { - QReadWriteLockPrivate(QReadWriteLock::RecursionMode recursionMode) - : accessCount(0), waitingReaders(0), waitingWriters(0), - recursive(recursionMode == QReadWriteLock::Recursive), currentWriter(0) - { } +public: + QReadWriteLockPrivate(bool isRecursive = false) + : readerCount(0), writerCount(0), waitingReaders(0), waitingWriters(0), + recursive(isRecursive), id(0) {} QMutex mutex; - QWaitCondition readerWait; - QWaitCondition writerWait; - - int accessCount; + QWaitCondition writerCond; + QWaitCondition readerCond; + int readerCount; + int writerCount; int waitingReaders; int waitingWriters; - bool recursive; + + //Called with the mutex locked + bool lockForWrite(int timeout); + bool lockForRead(int timeout); + void unlock(); + + //memory management + int id; + void release(); + static QReadWriteLockPrivate *allocate(); + + // Recusive mutex handling Qt::HANDLE currentWriter; QHash currentReaders; + + // called with the mutex unlocked + bool recursiveLockForWrite(int timeout); + bool recursiveLockForRead(int timeout); + void recursiveUnlock(); + }; QT_END_NAMESPACE diff --git a/src/corelib/thread/qwaitcondition_unix.cpp b/src/corelib/thread/qwaitcondition_unix.cpp index 2a98fd2897..6adee5412e 100644 --- a/src/corelib/thread/qwaitcondition_unix.cpp +++ b/src/corelib/thread/qwaitcondition_unix.cpp @@ -221,9 +221,12 @@ bool QWaitCondition::wait(QMutex *mutex, unsigned long time) bool QWaitCondition::wait(QReadWriteLock *readWriteLock, unsigned long time) { - if (!readWriteLock || readWriteLock->d->accessCount == 0) + if (!readWriteLock) return false; - if (readWriteLock->d->accessCount < -1) { + auto previousState = readWriteLock->stateForWaitCondition(); + if (previousState == QReadWriteLock::Unlocked) + return false; + if (previousState == QReadWriteLock::RecursivelyLocked) { qWarning("QWaitCondition: cannot wait on QReadWriteLocks with recursive lockForWrite()"); return false; } @@ -231,12 +234,11 @@ bool QWaitCondition::wait(QReadWriteLock *readWriteLock, unsigned long time) report_error(pthread_mutex_lock(&d->mutex), "QWaitCondition::wait()", "mutex lock"); ++d->waiters; - int previousAccessCount = readWriteLock->d->accessCount; readWriteLock->unlock(); bool returnValue = d->wait(time); - if (previousAccessCount < 0) + if (previousState == QReadWriteLock::LockedForWrite) readWriteLock->lockForWrite(); else readWriteLock->lockForRead(); diff --git a/src/corelib/thread/qwaitcondition_win.cpp b/src/corelib/thread/qwaitcondition_win.cpp index 246e45a54c..f3a645c504 100644 --- a/src/corelib/thread/qwaitcondition_win.cpp +++ b/src/corelib/thread/qwaitcondition_win.cpp @@ -191,20 +191,22 @@ bool QWaitCondition::wait(QMutex *mutex, unsigned long time) bool QWaitCondition::wait(QReadWriteLock *readWriteLock, unsigned long time) { - if (!readWriteLock || readWriteLock->d->accessCount == 0) + if (!readWriteLock) return false; - if (readWriteLock->d->accessCount < -1) { + auto previousState = readWriteLock->stateForWaitCondition(); + if (previousState == QReadWriteLock::Unlocked) + return false; + if (previousState == QReadWriteLock::RecursivelyLocked) { qWarning("QWaitCondition: cannot wait on QReadWriteLocks with recursive lockForWrite()"); return false; } QWaitConditionEvent *wce = d->pre(); - int previousAccessCount = readWriteLock->d->accessCount; readWriteLock->unlock(); bool returnValue = d->wait(wce, time); - if (previousAccessCount < 0) + if (previousState == QReadWriteLock::LockedForWrite) readWriteLock->lockForWrite(); else readWriteLock->lockForRead(); -- cgit v1.2.3 From df909d8b1fb1ba12de890f140ce2a873a4799bd2 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 10 Mar 2016 18:32:48 +0300 Subject: QItemSelectionModel: refactoring of internal functions Introduce template helper function qSelectionIndexes(). Template argument is container. Now we have the same code for QVector and QList. Also it's needed for a follow-up change in this file: add method QModelIndex QItemSelection::index(). Change-Id: I7f86a9b96e5feac9873cf0df7a1cbca74f9191ec Reviewed-by: Marc Mutz --- src/corelib/itemmodels/qitemselectionmodel.cpp | 28 +++++++++++--------------- 1 file changed, 12 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/corelib/itemmodels/qitemselectionmodel.cpp b/src/corelib/itemmodels/qitemselectionmodel.cpp index dd913f957b..b2aacfa5aa 100644 --- a/src/corelib/itemmodels/qitemselectionmodel.cpp +++ b/src/corelib/itemmodels/qitemselectionmodel.cpp @@ -327,6 +327,15 @@ static void indexesFromRange(const QItemSelectionRange &range, ModelIndexContain } } +template +static ModelIndexContainer qSelectionIndexes(const QItemSelection &selection) +{ + ModelIndexContainer result; + for (const auto &range : selection) + indexesFromRange(range, result); + return result; +} + /*! Returns \c true if the selection range contains no selectable item \since 4.7 @@ -469,20 +478,7 @@ bool QItemSelection::contains(const QModelIndex &index) const QModelIndexList QItemSelection::indexes() const { - QModelIndexList result; - QList::const_iterator it = begin(); - for (; it != end(); ++it) - indexesFromRange(*it, result); - return result; -} - -static QVector qSelectionPersistentindexes(const QItemSelection &sel) -{ - QVector result; - QList::const_iterator it = sel.constBegin(); - for (; it != sel.constEnd(); ++it) - indexesFromRange(*it, result); - return result; + return qSelectionIndexes(*this); } static QVector > qSelectionPersistentRowLengths(const QItemSelection &sel) @@ -892,8 +888,8 @@ void QItemSelectionModelPrivate::_q_layoutAboutToBeChanged(const QList>(ranges); + savedPersistentCurrentIndexes = qSelectionIndexes>(currentSelection); } } /*! -- cgit v1.2.3 From 8c0ae00dd603bfe5aa99b5b2db8c1ffdaa6cd45e Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 11 Mar 2016 17:02:09 +0100 Subject: Fix documentation of QFlags::setFlag The function is not const Change-Id: Ibe6f774058efd5ed5de021ff024d023b3cfc7e04 Reviewed-by: Martin Smith --- src/corelib/global/qglobal.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index cbcc6d02a6..35213f8a4c 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -426,7 +426,7 @@ Q_STATIC_ASSERT_X(QT_POINTER_SIZE == sizeof(void *), "QT_POINTER_SIZE defined in */ /*! - \fn QFlags QFlags::setFlag(Enum flag, bool on) const + \fn QFlags QFlags::setFlag(Enum flag, bool on) \since 5.7 Sets the indicated \a flag if \a on is \c true or unsets it if -- cgit v1.2.3 From 6417bbde8565e0be2d049426b71e6fda538e4440 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 17 Oct 2015 17:48:34 +0200 Subject: QtBase (remainder): use printf-style qWarning/qDebug where possible (I) The printf-style version of QDebug expands to a lot less code than the std::ostream-style version. Of course, you pay in type safety (but compilers warn about it these days), you cannot stream complex Qt types and streaming QStrings is awkward, but in many cases you actually improve on readability. But the main reason is that something that's not supposed to be executed under normal operation has no business bloating executable code size. This is not an attempt at converting all qWarnings() to printf-style, only the low-hanging fruit. In this first part, replace qWarning() << "" with qWarning("..."). Had to fix broken qImDebug() definition. Instead of defining it as a nullary macro in the QT_NO_DEBUG case and as a variadic macro in the other, define it in both cases, as is customary, as a non-function macro so that overload selection works without requiring variadic macro support of the compiler. Saves e.g. ~250b in text size in QtPrintSupport on optimized GCC 5.3 AMD64 builds. Change-Id: Ie30fe2f7942115d5dbf99fff1750ae0d477c379f Reviewed-by: Kai Koehne --- src/dbus/qdbusintegrator.cpp | 2 +- src/opengl/qglshaderprogram.cpp | 4 +-- .../fontdatabases/mac/qcoretextfontdatabase.mm | 2 +- .../linuxaccessibility/atspiadaptor.cpp | 20 ++++++------ .../bearer/connman/qconnmanservice_linux.cpp | 4 +-- .../networkmanager/qnetworkmanagerservice.cpp | 8 ++--- src/plugins/bearer/nla/qnlaengine.cpp | 4 +-- src/plugins/generic/tuiotouch/qoscbundle.cpp | 6 ++-- src/plugins/generic/tuiotouch/qtuiohandler.cpp | 4 +-- .../ibus/qibusplatforminputcontext.cpp | 2 +- src/plugins/platforms/android/androidjniinput.cpp | 4 +-- src/plugins/platforms/android/androidjnimain.cpp | 2 +- .../platforms/android/qandroidinputcontext.cpp | 32 +++++++++---------- .../platforms/android/qandroidplatformtheme.cpp | 2 +- src/plugins/platforms/cocoa/qcocoaaccessibility.mm | 4 +-- .../platforms/cocoa/qcocoaaccessibilityelement.mm | 4 +-- src/plugins/platforms/cocoa/qcocoahelpers.mm | 4 +-- .../platforms/directfb/qdirectfbglcontext.cpp | 2 +- src/plugins/platforms/ios/qiosbackingstore.mm | 2 +- src/plugins/platforms/ios/qiosglobal.h | 6 ++-- src/plugins/platforms/ios/qiosglobal.mm | 2 +- src/plugins/platforms/ios/qiosinputcontext.mm | 36 +++++++++++----------- src/plugins/platforms/ios/qiostextresponder.mm | 8 ++--- .../platforms/minimal/qminimalbackingstore.cpp | 2 +- .../platforms/mirclient/qmirclientinput.cpp | 2 +- src/plugins/platforms/openwfd/qopenwfddevice.cpp | 26 ++++++++-------- .../platforms/openwfd/qopenwfdglcontext.cpp | 2 +- .../platforms/openwfd/qopenwfdintegration.cpp | 2 +- .../platforms/openwfd/qopenwfdoutputbuffer.cpp | 4 +-- src/plugins/platforms/openwfd/qopenwfdport.cpp | 4 +-- src/plugins/platforms/openwfd/qopenwfdscreen.cpp | 2 +- .../platforms/qnx/qqnxbuttoneventnotifier.cpp | 2 +- src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp | 14 ++++----- .../platforms/qnx/qqnxscreeneventhandler.cpp | 4 +-- src/plugins/platforms/qnx/qqnxwindow.cpp | 2 +- .../platforms/windows/qwindowstabletsupport.cpp | 2 +- src/plugins/platforms/windows/qwindowswindow.cpp | 4 +-- src/plugins/platforms/xcb/qxcbbackingstore.cpp | 2 +- src/plugins/platforms/xcb/qxcbconnection.cpp | 4 +-- src/plugins/platforms/xcb/qxcbintegration.cpp | 2 +- src/plugins/platforms/xcb/qxcbkeyboard.cpp | 8 ++--- src/plugins/platforms/xcb/qxcbnativeinterface.cpp | 2 +- src/plugins/platforms/xcb/qxcbwindow.cpp | 2 +- src/plugins/platforms/xcb/qxcbwmsupport.cpp | 4 +-- src/printsupport/kernel/qprintengine_win.cpp | 10 +++--- src/printsupport/kernel/qprinter.cpp | 2 +- src/sql/drivers/ibase/qsql_ibase.cpp | 2 +- src/sql/drivers/odbc/qsql_odbc.cpp | 8 ++--- 48 files changed, 141 insertions(+), 141 deletions(-) (limited to 'src') diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 25678a56a9..94b91865ab 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -1796,7 +1796,7 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call) if (e) connection->postEventToThread(MessageResultReceivedAction, call->receiver, e); else - qDBusDebug() << "Deliver failed!"; + qDBusDebug("Deliver failed!"); } if (call->pending) { diff --git a/src/opengl/qglshaderprogram.cpp b/src/opengl/qglshaderprogram.cpp index 77fc3e58f2..545df8fa44 100644 --- a/src/opengl/qglshaderprogram.cpp +++ b/src/opengl/qglshaderprogram.cpp @@ -688,7 +688,7 @@ bool QGLShaderProgram::init() if (d->glfuncs->hasOpenGLFeature(QOpenGLFunctions::Shaders)) { GLuint program = d->glfuncs->glCreateProgram(); if (!program) { - qWarning() << "QGLShaderProgram: could not create shader program"; + qWarning("QGLShaderProgram: could not create shader program"); return false; } if (d->programGuard) @@ -696,7 +696,7 @@ bool QGLShaderProgram::init() d->programGuard = createSharedResourceGuard(context, program, freeProgramFunc); return true; } else { - qWarning() << "QGLShaderProgram: shader programs are not supported"; + qWarning("QGLShaderProgram: shader programs are not supported"); return false; } } diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm index 9dba1ca1f1..f156312524 100644 --- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm @@ -1003,7 +1003,7 @@ QFontEngine *QCoreTextFontDatabase::freeTypeFontEngine(const QFontDef &fontDef, } if (!engine->init(faceId, antialias, format, fontData) || engine->invalid()) { - qWarning() << "QCoreTextFontDatabase::freeTypefontEngine Failed to create engine"; + qWarning("QCoreTextFontDatabase::freeTypefontEngine Failed to create engine"); return Q_NULLPTR; } engine->setQtDefaultHintStyle(static_cast(fontDef.hintingPreference)); diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp index d982c5afff..2b81de43a7 100644 --- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp +++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp @@ -783,7 +783,7 @@ void AtSpiAdaptor::updateEventListeners() } m_applicationAdaptor->sendEvents(!evList.isEmpty()); } else { - qAtspiDebug() << "Could not query active accessibility event listeners."; + qAtspiDebug("Could not query active accessibility event listeners."); } } @@ -944,7 +944,7 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event) if (sendObject || sendObject_text_changed) { QAccessibleInterface * iface = event->accessibleInterface(); if (!iface || !iface->textInterface()) { - qAtspiDebug() << "Received text event for invalid interface."; + qAtspiDebug("Received text event for invalid interface."); return; } QString path = pathForInterface(iface); @@ -1030,7 +1030,7 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event) if (sendObject || sendObject_value_changed || sendObject_property_change_accessible_value) { QAccessibleInterface * iface = event->accessibleInterface(); if (!iface) { - qWarning() << "ValueChanged event from invalid accessible."; + qWarning("ValueChanged event from invalid accessible."); return; } if (iface->valueInterface()) { @@ -1059,7 +1059,7 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event) case QAccessible::Selection: { QAccessibleInterface * iface = event->accessibleInterface(); if (!iface) { - qWarning() << "Selection event from invalid accessible."; + qWarning("Selection event from invalid accessible."); return; } QString path = pathForInterface(iface); @@ -1076,7 +1076,7 @@ void AtSpiAdaptor::notify(QAccessibleEvent *event) if (stateChange.checked) { QAccessibleInterface * iface = event->accessibleInterface(); if (!iface) { - qWarning() << "StateChanged event from invalid accessible."; + qWarning("StateChanged event from invalid accessible."); return; } int checked = iface->state().checked; @@ -1481,7 +1481,7 @@ QStringList AtSpiAdaptor::accessibleInterfaces(QAccessibleInterface *interface) } #ifdef ACCESSIBLE_CREATION_DEBUG else { - qAtspiDebug() << " IS NOT a component"; + qAtspiDebug(" IS NOT a component"); } #endif if (interface->role() == QAccessible::Application) @@ -1538,7 +1538,7 @@ QString AtSpiAdaptor::pathForObject(QObject *object) const Q_ASSERT(object); if (inheritsQAction(object)) { - qAtspiDebug() << "AtSpiAdaptor::pathForObject: warning: creating path with QAction as object."; + qAtspiDebug("AtSpiAdaptor::pathForObject: warning: creating path with QAction as object."); } QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(object); @@ -1669,18 +1669,18 @@ bool AtSpiAdaptor::componentInterface(QAccessibleInterface *interface, const QSt // int width = message.arguments().at(2).toInt(); // int height = message.arguments().at(3).toInt(); // uint coordinateType = message.arguments().at(4).toUInt(); - qAtspiDebug() << "SetExtents is not implemented."; + qAtspiDebug("SetExtents is not implemented."); sendReply(connection, message, false); } else if (function == QLatin1String("SetPosition")) { // int x = message.arguments().at(0).toInt(); // int y = message.arguments().at(1).toInt(); // uint coordinateType = message.arguments().at(2).toUInt(); - qAtspiDebug() << "SetPosition is not implemented."; + qAtspiDebug("SetPosition is not implemented."); sendReply(connection, message, false); } else if (function == QLatin1String("SetSize")) { // int width = message.arguments().at(0).toInt(); // int height = message.arguments().at(1).toInt(); - qAtspiDebug() << "SetSize is not implemented."; + qAtspiDebug("SetSize is not implemented."); sendReply(connection, message, false); } else { qAtspiDebug() << "WARNING: AtSpiAdaptor::componentInterface does not implement " << function << message.path(); diff --git a/src/plugins/bearer/connman/qconnmanservice_linux.cpp b/src/plugins/bearer/connman/qconnmanservice_linux.cpp index 901af8dece..135aad4dec 100644 --- a/src/plugins/bearer/connman/qconnmanservice_linux.cpp +++ b/src/plugins/bearer/connman/qconnmanservice_linux.cpp @@ -162,7 +162,7 @@ void QConnmanManagerInterface::connectNotify(const QMetaMethod &signal) QLatin1String(CONNMAN_MANAGER_INTERFACE), QLatin1String("PropertyChanged"), this,SIGNAL(propertyChanged(QString,QDBusVariant)))) { - qWarning() << "PropertyChanged not connected"; + qWarning("PropertyChanged not connected"); } } @@ -173,7 +173,7 @@ void QConnmanManagerInterface::connectNotify(const QMetaMethod &signal) QLatin1String(CONNMAN_MANAGER_INTERFACE), QLatin1String("ServicesChanged"), this,SLOT(onServicesChanged(ConnmanMapList, QList)))) { - qWarning() << "servicesChanged not connected"; + qWarning("servicesChanged not connected"); } } } diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp index 8eebf86d67..6c3c661db6 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerservice.cpp @@ -136,7 +136,7 @@ bool QNetworkManagerInterface::setConnections() QList QNetworkManagerInterface::getDevices() { if (devicesPathList.isEmpty()) { - //qWarning() << "using blocking call!"; + //qWarning("using blocking call!"); QDBusReply > reply = call(QLatin1String("GetDevices")); devicesPathList = reply.value(); } @@ -639,7 +639,7 @@ void QNetworkManagerInterfaceDeviceWireless::accessPointsFinished(QDBusPendingCa QList QNetworkManagerInterfaceDeviceWireless::getAccessPoints() { if (accessPointsList.isEmpty()) { - //qWarning() << "Using blocking call!"; + //qWarning("Using blocking call!"); QDBusReply > reply = call(QLatin1String("GetAccessPoints")); accessPointsList = reply.value(); @@ -802,7 +802,7 @@ bool QNetworkManagerSettings::setConnections() QList QNetworkManagerSettings::listConnections() { if (connectionsList.isEmpty()) { - //qWarning() << "Using blocking call!"; + //qWarning("Using blocking call!"); QDBusReply > reply = call(QLatin1String("ListConnections")); connectionsList = reply.value(); @@ -874,7 +874,7 @@ void QNetworkManagerSettingsConnection::slotSettingsRemoved() QNmSettingsMap QNetworkManagerSettingsConnection::getSettings() { if (settingsMap.isEmpty()) { - //qWarning() << "Using blocking call!"; + //qWarning("Using blocking call!"); QDBusReply reply = call(QLatin1String("GetSettings")); settingsMap = reply.value(); } diff --git a/src/plugins/bearer/nla/qnlaengine.cpp b/src/plugins/bearer/nla/qnlaengine.cpp index 0b765a8485..726e1efb92 100644 --- a/src/plugins/bearer/nla/qnlaengine.cpp +++ b/src/plugins/bearer/nla/qnlaengine.cpp @@ -110,10 +110,10 @@ static void printBlob(NLA_BLOB *blob) << "\tshared adapter name:" << blob->data.ICS.remote.sharedAdapterName; break; default: - qDebug() << "UNKNOWN BLOB TYPE"; + qDebug("UNKNOWN BLOB TYPE"); } - qDebug() << "===== END NLA_BLOB ====="; + qDebug("===== END NLA_BLOB ====="); } #endif diff --git a/src/plugins/generic/tuiotouch/qoscbundle.cpp b/src/plugins/generic/tuiotouch/qoscbundle.cpp index ef5ca5b5f1..26dabebd23 100644 --- a/src/plugins/generic/tuiotouch/qoscbundle.cpp +++ b/src/plugins/generic/tuiotouch/qoscbundle.cpp @@ -122,7 +122,7 @@ QOscBundle::QOscBundle(const QByteArray &data) if (size == 0) { // empty bundle; these are valid, but should they be allowed? the // spec is unclear on this... - qWarning() << "Empty bundle?"; + qWarning("Empty bundle?"); m_isValid = true; m_immediate = isImmediate; m_timeEpoch = oscTimeEpoch; @@ -152,7 +152,7 @@ QOscBundle::QOscBundle(const QByteArray &data) m_timePico = oscTimePico; m_messages.append(subMessage); } else { - qWarning() << "Invalid sub-message"; + qWarning("Invalid sub-message"); return; } } else if (subdata.startsWith(bundleIdentifier)) { @@ -166,7 +166,7 @@ QOscBundle::QOscBundle(const QByteArray &data) m_bundles.append(subBundle); } } else { - qWarning() << "Malformed sub-data!"; + qWarning("Malformed sub-data!"); return; } } diff --git a/src/plugins/generic/tuiotouch/qtuiohandler.cpp b/src/plugins/generic/tuiotouch/qtuiohandler.cpp index e2c4bf9dc4..6026e06b55 100644 --- a/src/plugins/generic/tuiotouch/qtuiohandler.cpp +++ b/src/plugins/generic/tuiotouch/qtuiohandler.cpp @@ -165,7 +165,7 @@ void QTuioHandler::processPackets() QList arguments = message.arguments(); if (arguments.count() == 0) { - qWarning() << "Ignoring TUIO message with no arguments"; + qWarning("Ignoring TUIO message with no arguments"); continue; } @@ -195,7 +195,7 @@ void QTuioHandler::process2DCurSource(const QOscMessage &message) } if (QMetaType::Type(arguments.at(1).type()) != QMetaType::QByteArray) { - qWarning() << "Ignoring malformed TUIO source message (bad argument type)"; + qWarning("Ignoring malformed TUIO source message (bad argument type)"); return; } diff --git a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp index 60ca07fbe1..200d5789a8 100644 --- a/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp +++ b/src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp @@ -289,7 +289,7 @@ void QIBusPlatformInputContext::updatePreeditText(const QDBusVariant &text, uint void QIBusPlatformInputContext::surroundingTextRequired() { if (debug) - qDebug() << "surroundingTextRequired"; + qDebug("surroundingTextRequired"); d->needsSurroundingText = true; update(Qt::ImSurroundingText); } diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp index e680a0ed34..064a0c095c 100644 --- a/src/plugins/platforms/android/androidjniinput.cpp +++ b/src/plugins/platforms/android/androidjniinput.cpp @@ -98,7 +98,7 @@ namespace QtAndroidInput { QJNIObjectPrivate::callStaticMethod(applicationClass(), "resetSoftwareKeyboard"); #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@ RESETSOFTWAREKEYBOARD"; + qDebug("@@@ RESETSOFTWAREKEYBOARD"); #endif } @@ -106,7 +106,7 @@ namespace QtAndroidInput { QJNIObjectPrivate::callStaticMethod(applicationClass(), "hideSoftwareKeyboard"); #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@ HIDESOFTWAREKEYBOARD"; + qDebug("@@@ HIDESOFTWAREKEYBOARD"); #endif } diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp index 6340d47c18..516fe60c8c 100644 --- a/src/plugins/platforms/android/androidjnimain.cpp +++ b/src/plugins/platforms/android/androidjnimain.cpp @@ -521,7 +521,7 @@ static jboolean startQtApplication(JNIEnv *env, jobject /*object*/, jstring para } m_main = (Main)dlsym(m_mainLibraryHnd, "main"); } else { - qWarning() << "No main library was specified; searching entire process (this is slow!)"; + qWarning("No main library was specified; searching entire process (this is slow!)"); m_main = (Main)dlsym(RTLD_DEFAULT, "main"); } diff --git a/src/plugins/platforms/android/qandroidinputcontext.cpp b/src/plugins/platforms/android/qandroidinputcontext.cpp index ddf806a68f..eb9e95508c 100644 --- a/src/plugins/platforms/android/qandroidinputcontext.cpp +++ b/src/plugins/platforms/android/qandroidinputcontext.cpp @@ -78,7 +78,7 @@ static jboolean beginBatchEdit(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@ BEGINBATCH"; + qDebug("@@@ BEGINBATCH"); #endif return m_androidInputContext->beginBatchEdit(); @@ -92,7 +92,7 @@ static jboolean endBatchEdit(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@ ENDBATCH"; + qDebug("@@@ ENDBATCH"); #endif return m_androidInputContext->endBatchEdit(); @@ -134,7 +134,7 @@ static jboolean finishComposingText(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@ FINISH"; + qDebug("@@@ FINISH"); #endif return m_androidInputContext->finishComposingText(); } @@ -256,7 +256,7 @@ static jboolean selectAll(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@ SELALL"; + qDebug("@@@ SELALL"); #endif return m_androidInputContext->selectAll(); } @@ -267,7 +267,7 @@ static jboolean cut(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@"; + qDebug("@@@"); #endif return m_androidInputContext->cut(); } @@ -278,7 +278,7 @@ static jboolean copy(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@"; + qDebug("@@@"); #endif return m_androidInputContext->copy(); } @@ -289,7 +289,7 @@ static jboolean copyURL(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@"; + qDebug("@@@"); #endif return m_androidInputContext->copyURL(); } @@ -300,7 +300,7 @@ static jboolean paste(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@"; + qDebug("@@@"); #endif return m_androidInputContext->paste(); } @@ -311,7 +311,7 @@ static jboolean updateCursorPosition(JNIEnv */*env*/, jobject /*thiz*/) return JNI_FALSE; #ifdef QT_DEBUG_ANDROID_IM_PROTOCOL - qDebug() << "@@@ UPDATECURSORPOS"; + qDebug("@@@ UPDATECURSORPOS"); #endif m_androidInputContext->updateCursorPosition(); return true; @@ -371,43 +371,43 @@ QAndroidInputContext::QAndroidInputContext() m_extractedTextClass = static_cast(env->NewGlobalRef(clazz)); m_classConstructorMethodID = env->GetMethodID(m_extractedTextClass, "", "()V"); if (Q_UNLIKELY(!m_classConstructorMethodID)) { - qCritical() << "GetMethodID failed"; + qCritical("GetMethodID failed"); return; } m_partialEndOffsetFieldID = env->GetFieldID(m_extractedTextClass, "partialEndOffset", "I"); if (Q_UNLIKELY(!m_partialEndOffsetFieldID)) { - qCritical() << "Can't find field partialEndOffset"; + qCritical("Can't find field partialEndOffset"); return; } m_partialStartOffsetFieldID = env->GetFieldID(m_extractedTextClass, "partialStartOffset", "I"); if (Q_UNLIKELY(!m_partialStartOffsetFieldID)) { - qCritical() << "Can't find field partialStartOffset"; + qCritical("Can't find field partialStartOffset"); return; } m_selectionEndFieldID = env->GetFieldID(m_extractedTextClass, "selectionEnd", "I"); if (Q_UNLIKELY(!m_selectionEndFieldID)) { - qCritical() << "Can't find field selectionEnd"; + qCritical("Can't find field selectionEnd"); return; } m_selectionStartFieldID = env->GetFieldID(m_extractedTextClass, "selectionStart", "I"); if (Q_UNLIKELY(!m_selectionStartFieldID)) { - qCritical() << "Can't find field selectionStart"; + qCritical("Can't find field selectionStart"); return; } m_startOffsetFieldID = env->GetFieldID(m_extractedTextClass, "startOffset", "I"); if (Q_UNLIKELY(!m_startOffsetFieldID)) { - qCritical() << "Can't find field startOffset"; + qCritical("Can't find field startOffset"); return; } m_textFieldID = env->GetFieldID(m_extractedTextClass, "text", "Ljava/lang/String;"); if (Q_UNLIKELY(!m_textFieldID)) { - qCritical() << "Can't find field text"; + qCritical("Can't find field text"); return; } qRegisterMetaType("QInputMethodEvent*"); diff --git a/src/plugins/platforms/android/qandroidplatformtheme.cpp b/src/plugins/platforms/android/qandroidplatformtheme.cpp index 7bed4a739a..f8d0b9c8ba 100644 --- a/src/plugins/platforms/android/qandroidplatformtheme.cpp +++ b/src/plugins/platforms/android/qandroidplatformtheme.cpp @@ -216,7 +216,7 @@ QJsonObject AndroidStyle::loadStyleData() } if (Q_UNLIKELY(!document.isObject())) { - qCritical() << "Style.json does not contain a valid style."; + qCritical("Style.json does not contain a valid style."); return QJsonObject(); } return document.object(); diff --git a/src/plugins/platforms/cocoa/qcocoaaccessibility.mm b/src/plugins/platforms/cocoa/qcocoaaccessibility.mm index bc4cb227a8..1faa806480 100644 --- a/src/plugins/platforms/cocoa/qcocoaaccessibility.mm +++ b/src/plugins/platforms/cocoa/qcocoaaccessibility.mm @@ -63,7 +63,7 @@ void QCocoaAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event) return; QMacAccessibilityElement *element = [QMacAccessibilityElement elementWithId: event->uniqueId()]; if (!element) { - qWarning() << "QCocoaAccessibility::notifyAccessibilityUpdate: invalid element"; + qWarning("QCocoaAccessibility::notifyAccessibilityUpdate: invalid element"); return; } @@ -277,7 +277,7 @@ NSArray *unignoredChildren(QAccessibleInterface *interface) if (element) [kids addObject: element]; else - qWarning() << "QCocoaAccessibility: invalid child"; + qWarning("QCocoaAccessibility: invalid child"); } return NSAccessibilityUnignoredChildren(kids); } diff --git a/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm b/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm index 0f8081715b..7128fb72c3 100644 --- a/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm +++ b/src/plugins/platforms/cocoa/qcocoaaccessibilityelement.mm @@ -555,7 +555,7 @@ static void convertLineOffset(QAccessibleTextInterface *text, int *line, int *of - (id)accessibilityHitTest:(NSPoint)point { QAccessibleInterface *iface = QAccessible::accessibleInterface(axid); if (!iface || !iface->isValid()) { -// qDebug() << "Hit test: INVALID"; +// qDebug("Hit test: INVALID"); return NSAccessibilityUnignoredAncestor(self); } @@ -585,7 +585,7 @@ static void convertLineOffset(QAccessibleTextInterface *text, int *line, int *of QAccessibleInterface *iface = QAccessible::accessibleInterface(axid); if (!iface || !iface->isValid()) { - qWarning() << "FocusedUIElement for INVALID"; + qWarning("FocusedUIElement for INVALID"); return nil; } diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm index 25fc9f0d5e..204f2440d9 100644 --- a/src/plugins/platforms/cocoa/qcocoahelpers.mm +++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm @@ -772,11 +772,11 @@ CGContextRef qt_mac_cg_context(QPaintDevice *pdev) if (data && data->classId() == QPlatformPixmap::RasterClass) { image = data->buffer(); } else { - qDebug() << "qt_mac_cg_context: Unsupported pixmap class"; + qDebug("qt_mac_cg_context: Unsupported pixmap class"); } } else if (pdev->devType() == QInternal::Widget) { // TODO test: image = static_cast(static_cast(pdev)->backingStore()->paintDevice()); - qDebug() << "qt_mac_cg_context: not implemented: Widget class"; + qDebug("qt_mac_cg_context: not implemented: Widget class"); } if (!image) diff --git a/src/plugins/platforms/directfb/qdirectfbglcontext.cpp b/src/plugins/platforms/directfb/qdirectfbglcontext.cpp index 847435d96e..8018433fb6 100644 --- a/src/plugins/platforms/directfb/qdirectfbglcontext.cpp +++ b/src/plugins/platforms/directfb/qdirectfbglcontext.cpp @@ -93,7 +93,7 @@ QFunctionPointer QDirectFbGLContext::getProcAddress(const char *procName) void QDirectFbGLContext::swapBuffers() { // m_dfbGlContext->Unlock(m_dfbGlContext); //maybe not in doneCurrent() - qDebug() << "Swap buffers"; + qDebug("Swap buffers"); } QPlatformWindowFormat QDirectFbGLContext::platformWindowFormat() const diff --git a/src/plugins/platforms/ios/qiosbackingstore.mm b/src/plugins/platforms/ios/qiosbackingstore.mm index 4a39c4d7ab..3887596a9b 100644 --- a/src/plugins/platforms/ios/qiosbackingstore.mm +++ b/src/plugins/platforms/ios/qiosbackingstore.mm @@ -169,7 +169,7 @@ void QIOSBackingStore::resize(const QSize &size, const QRegion &staticContents) // size in beginPaint(). if (size != window()->size() && !window()->inherits("QWidgetWindow")) - qWarning() << "QIOSBackingStore needs to have the same size as its window"; + qWarning("QIOSBackingStore needs to have the same size as its window"); return; } diff --git a/src/plugins/platforms/ios/qiosglobal.h b/src/plugins/platforms/ios/qiosglobal.h index 06ebf4809c..0fe81ceb91 100644 --- a/src/plugins/platforms/ios/qiosglobal.h +++ b/src/plugins/platforms/ios/qiosglobal.h @@ -50,11 +50,11 @@ QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcQpaInputMethods); #if !defined(QT_NO_DEBUG) -#define qImDebug(...) \ +#define qImDebug \ for (bool qt_category_enabled = lcQpaInputMethods().isDebugEnabled(); qt_category_enabled; qt_category_enabled = false) \ - QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, lcQpaInputMethods().categoryName()).debug(__VA_ARGS__) + QMessageLogger(QT_MESSAGELOG_FILE, QT_MESSAGELOG_LINE, QT_MESSAGELOG_FUNC, lcQpaInputMethods().categoryName()).debug #else -#define qImDebug() QT_NO_QDEBUG_MACRO() +#define qImDebug QT_NO_QDEBUG_MACRO #endif class QPlatformScreen; diff --git a/src/plugins/platforms/ios/qiosglobal.mm b/src/plugins/platforms/ios/qiosglobal.mm index 4dd66388ad..c2f3d6b9e1 100644 --- a/src/plugins/platforms/ios/qiosglobal.mm +++ b/src/plugins/platforms/ios/qiosglobal.mm @@ -93,7 +93,7 @@ Qt::ScreenOrientation toQtScreenOrientation(UIDeviceOrientation uiDeviceOrientat break; case UIDeviceOrientationFaceUp: case UIDeviceOrientationFaceDown: - qWarning() << "Falling back to Qt::PortraitOrientation for UIDeviceOrientationFaceUp/UIDeviceOrientationFaceDown"; + qWarning("Falling back to Qt::PortraitOrientation for UIDeviceOrientationFaceUp/UIDeviceOrientationFaceDown"); qtOrientation = Qt::PortraitOrientation; break; default: diff --git a/src/plugins/platforms/ios/qiosinputcontext.mm b/src/plugins/platforms/ios/qiosinputcontext.mm index f2292ad0ab..d553d16698 100644 --- a/src/plugins/platforms/ios/qiosinputcontext.mm +++ b/src/plugins/platforms/ios/qiosinputcontext.mm @@ -227,7 +227,7 @@ static QUIView *focusView() Q_UNUSED(sender); if (self.state == UIGestureRecognizerStateBegan) { - qImDebug() << "hide keyboard gesture was triggered"; + qImDebug("hide keyboard gesture was triggered"); UIResponder *firstResponder = [UIResponder currentFirstResponder]; Q_ASSERT([firstResponder isKindOfClass:[QIOSTextInputResponder class]]); [firstResponder resignFirstResponder]; @@ -239,12 +239,12 @@ static QUIView *focusView() [super reset]; if (!m_context->isInputPanelVisible()) { - qImDebug() << "keyboard was hidden, disabling hide-keyboard gesture"; + qImDebug("keyboard was hidden, disabling hide-keyboard gesture"); self.enabled = NO; } else { - qImDebug() << "gesture completed without triggering"; + qImDebug("gesture completed without triggering"); if (self.hasDeferredScrollToCursor) { - qImDebug() << "applying deferred scroll to cursor"; + qImDebug("applying deferred scroll to cursor"); m_context->scrollToCursor(); } } @@ -313,22 +313,22 @@ QIOSInputContext::~QIOSInputContext() void QIOSInputContext::showInputPanel() { // No-op, keyboard controlled fully by platform based on focus - qImDebug() << "can't show virtual keyboard without a focus object, ignoring"; + qImDebug("can't show virtual keyboard without a focus object, ignoring"); } void QIOSInputContext::hideInputPanel() { if (![m_textResponder isFirstResponder]) { - qImDebug() << "QIOSTextInputResponder is not first responder, ignoring"; + qImDebug("QIOSTextInputResponder is not first responder, ignoring"); return; } if (qGuiApp->focusObject() != m_imeState.focusObject) { - qImDebug() << "current focus object does not match IM state, likely hiding from focusOut event, so ignoring"; + qImDebug("current focus object does not match IM state, likely hiding from focusOut event, so ignoring"); return; } - qImDebug() << "hiding VKB as requested by QInputMethod::hide()"; + qImDebug("hiding VKB as requested by QInputMethod::hide()"); [m_textResponder resignFirstResponder]; } @@ -380,7 +380,7 @@ void QIOSInputContext::updateKeyboardState(NSNotification *notification) qImDebug() << qPrintable(QString::fromNSString(notification.name)) << "from" << fromCGRect(frameBegin) << "to" << fromCGRect(frameEnd) << "(curve =" << m_keyboardState.animationCurve << "duration =" << m_keyboardState.animationDuration << "s)"; } else { - qImDebug() << "No notification to update keyboard state based on, just updating keyboard rect"; + qImDebug("No notification to update keyboard state based on, just updating keyboard rect"); } if (!focusView() || CGRectIsEmpty(currentKeyboardRect)) @@ -434,7 +434,7 @@ void QIOSInputContext::scrollToCursor() if (m_keyboardHideGesture.state == UIGestureRecognizerStatePossible && m_keyboardHideGesture.numberOfTouches == 1) { // Don't scroll to the cursor if the user is touching the screen and possibly // trying to trigger the hide-keyboard gesture. - qImDebug() << "deferring scrolling to cursor as we're still waiting for a possible gesture"; + qImDebug("deferring scrolling to cursor as we're still waiting for a possible gesture"); m_keyboardHideGesture.hasDeferredScrollToCursor = YES; return; } @@ -451,7 +451,7 @@ void QIOSInputContext::scrollToCursor() // We only support auto-scroll for docked keyboards for now, so make sure that's the case if (CGRectGetMaxY(m_keyboardState.keyboardEndRect) != CGRectGetMaxY([UIScreen mainScreen].bounds)) { - qImDebug() << "Keyboard not docked, ignoring request to scroll to reveal cursor"; + qImDebug("Keyboard not docked, ignoring request to scroll to reveal cursor"); return; } @@ -550,7 +550,7 @@ void QIOSInputContext::setFocusObject(QObject *focusObject) clearCurrentFocusObject(); return; } else if (focusObject == m_imeState.focusObject) { - qImDebug() << "same focus object as last update, skipping reset"; + qImDebug("same focus object as last update, skipping reset"); return; } @@ -594,23 +594,23 @@ void QIOSInputContext::update(Qt::InputMethodQueries updatedProperties) if (inputMethodAccepted()) { if (!m_textResponder || [m_textResponder needsKeyboardReconfigure:changedProperties]) { - qImDebug() << "creating new text responder"; + qImDebug("creating new text responder"); [m_textResponder autorelease]; m_textResponder = [[QIOSTextInputResponder alloc] initWithInputContext:this]; } else { - qImDebug() << "no need to reconfigure keyboard, just notifying input delegate"; + qImDebug("no need to reconfigure keyboard, just notifying input delegate"); [m_textResponder notifyInputDelegate:changedProperties]; } if (![m_textResponder isFirstResponder]) { - qImDebug() << "IM enabled, making text responder first responder"; + qImDebug("IM enabled, making text responder first responder"); [m_textResponder becomeFirstResponder]; } if (changedProperties & Qt::ImCursorRectangle) scrollToCursor(); } else if ([m_textResponder isFirstResponder]) { - qImDebug() << "IM not enabled, resigning text responder as first responder"; + qImDebug("IM not enabled, resigning text responder as first responder"); [m_textResponder resignFirstResponder]; } } @@ -640,7 +640,7 @@ bool QIOSInputContext::inputMethodAccepted() const */ void QIOSInputContext::reset() { - qImDebug() << "updating Qt::ImQueryAll and unmarking text"; + qImDebug("updating Qt::ImQueryAll and unmarking text"); update(Qt::ImQueryAll); @@ -658,7 +658,7 @@ void QIOSInputContext::reset() */ void QIOSInputContext::commit() { - qImDebug() << "unmarking text"; + qImDebug("unmarking text"); [m_textResponder unmarkText]; [m_textResponder notifyInputDelegate:Qt::ImSurroundingText]; diff --git a/src/plugins/platforms/ios/qiostextresponder.mm b/src/plugins/platforms/ios/qiostextresponder.mm index a894963bbe..6a66bf213e 100644 --- a/src/plugins/platforms/ios/qiostextresponder.mm +++ b/src/plugins/platforms/ios/qiostextresponder.mm @@ -261,7 +261,7 @@ // as well, as the IM state that we were based on may have been invalidated when // IM was switched off. - qImDebug() << "IM was turned on, we need to check hints and platform data as well"; + qImDebug("IM was turned on, we need to check hints and platform data as well"); updatedProperties |= (Qt::ImHints | Qt::ImPlatformData); } @@ -311,7 +311,7 @@ // Don't allow activation events of the window that we're doing text on behalf on // to steal responder. if (FirstResponderCandidate::currentCandidate() == [self nextResponder]) { - qImDebug() << "not allowing parent window to steal responder"; + qImDebug("not allowing parent window to steal responder"); return NO; } @@ -334,7 +334,7 @@ if ([self currentImeState:Qt::ImEnabled].toBool()) { // The current focus object expects text input, but there // is no keyboard to get input from. So we clear focus. - qImDebug() << "no keyboard available, clearing focus object"; + qImDebug("no keyboard available, clearing focus object"); m_inputContext->clearCurrentFocusObject(); } } else { @@ -342,7 +342,7 @@ // another QIOSTextResponder was made first-responder, another UIView was // made first-responder, or the first-responder was cleared globally. In // either of these cases we don't have to do anything. - qImDebug() << "lost first responder, but not clearing focus object"; + qImDebug("lost first responder, but not clearing focus object"); } return YES; diff --git a/src/plugins/platforms/minimal/qminimalbackingstore.cpp b/src/plugins/platforms/minimal/qminimalbackingstore.cpp index 19a581625a..402ee7e2dd 100644 --- a/src/plugins/platforms/minimal/qminimalbackingstore.cpp +++ b/src/plugins/platforms/minimal/qminimalbackingstore.cpp @@ -62,7 +62,7 @@ QMinimalBackingStore::~QMinimalBackingStore() QPaintDevice *QMinimalBackingStore::paintDevice() { if (mDebug) - qDebug() << "QMinimalBackingStore::paintDevice"; + qDebug("QMinimalBackingStore::paintDevice"); return &mImage; } diff --git a/src/plugins/platforms/mirclient/qmirclientinput.cpp b/src/plugins/platforms/mirclient/qmirclientinput.cpp index addeda634c..3af714465b 100644 --- a/src/plugins/platforms/mirclient/qmirclientinput.cpp +++ b/src/plugins/platforms/mirclient/qmirclientinput.cpp @@ -214,7 +214,7 @@ void QMirClientInput::customEvent(QEvent* event) const MirEvent *nativeEvent = ubuntuEvent->nativeEvent; if ((ubuntuEvent->window == nullptr) || (ubuntuEvent->window->window() == nullptr)) { - qWarning() << "Attempted to deliver an event to a non-existent window, ignoring."; + qWarning("Attempted to deliver an event to a non-existent window, ignoring."); return; } diff --git a/src/plugins/platforms/openwfd/qopenwfddevice.cpp b/src/plugins/platforms/openwfd/qopenwfddevice.cpp index 1a4ba59817..710c07b643 100644 --- a/src/plugins/platforms/openwfd/qopenwfddevice.cpp +++ b/src/plugins/platforms/openwfd/qopenwfddevice.cpp @@ -55,11 +55,11 @@ QOpenWFDDevice::QOpenWFDDevice(QOpenWFDIntegration *integration, WFDint device_e { mDevice = wfdCreateDevice(WFD_DEFAULT_DEVICE_ID,WFD_NONE); if (mDevice == WFD_INVALID_HANDLE) - qDebug() << "failed to create device"; + qDebug("failed to create device"); mEvent = wfdCreateEvent(mDevice,0); if (mEvent == WFD_INVALID_HANDLE) - qDebug() << "failed to create event handle"; + qDebug("failed to create event handle"); //initialize pipelines for device. wfdEnumeratePipelines(mDevice,WFD_NONE,0,WFD_NONE); @@ -181,22 +181,22 @@ void QOpenWFDDevice::readEvents(WFDtime wait) case WFD_EVENT_NONE: return; case WFD_EVENT_DESTROYED: - qDebug() << "Event or Device destoryed!"; + qDebug("Event or Device destoryed!"); return; case WFD_EVENT_PORT_ATTACH_DETACH: handlePortAttachDetach(); break; case WFD_EVENT_PORT_PROTECTION_FAILURE: - qDebug() << "Port protection event handling not implemented"; + qDebug("Port protection event handling not implemented"); break; case WFD_EVENT_PIPELINE_BIND_SOURCE_COMPLETE: handlePipelineBindSourceComplete(); break; case WFD_EVENT_PIPELINE_BIND_MASK_COMPLETE: - qDebug() << "Pipeline bind mask event handling not implemented"; + qDebug("Pipeline bind mask event handling not implemented"); break; default: - qDebug() << "Not recognised event type"; + qDebug("Not recognised event type"); break; } @@ -206,10 +206,10 @@ void QOpenWFDDevice::readEvents(WFDtime wait) void QOpenWFDDevice::initializeGbmAndEgl() { - qDebug() << "initializing GBM and EGL"; + qDebug("initializing GBM and EGL"); int fd = wfdGetDeviceAttribi(mDevice,WFD_DEVICE_ID); if (fd < 0) { - qDebug() << "failed to get WFD_DEVICE_ID"; + qDebug("failed to get WFD_DEVICE_ID"); } mGbmDevice = gbm_create_device(fd); @@ -221,12 +221,12 @@ void QOpenWFDDevice::initializeGbmAndEgl() EGLint minor, major; if (!eglInitialize(mEglDisplay,&major,&minor)) { - qDebug() << "failed to initialize egl"; + qDebug("failed to initialize egl"); } QByteArray eglExtensions = eglQueryString(mEglDisplay, EGL_EXTENSIONS); if (!eglExtensions.contains("EGL_KHR_surfaceless_opengl")) { - qDebug() << "This egl implementation does not have the required EGL extension EGL_KHR_surfaceless_opengl"; + qDebug("This egl implementation does not have the required EGL extension EGL_KHR_surfaceless_opengl"); } eglBindAPI(EGL_OPENGL_ES_API); @@ -238,7 +238,7 @@ void QOpenWFDDevice::initializeGbmAndEgl() mEglContext = eglCreateContext(mEglDisplay,NULL,EGL_NO_CONTEXT,contextAttribs); if (mEglContext == EGL_NO_CONTEXT) { - qDebug() << "Failed to create EGL context"; + qDebug("Failed to create EGL context"); } eglCreateImage = (PFNEGLCREATEIMAGEKHRPROC) eglGetProcAddress("eglCreateImageKHR"); @@ -269,7 +269,7 @@ void QOpenWFDDevice::handlePortAttachDetach() for (int i = 0; i < mPorts.size(); i++) { if (mPorts.at(i)->portId() == id) { indexToAdd = i; - qDebug() << "found index to attach"; + qDebug("found index to attach"); break; } } @@ -301,7 +301,7 @@ void QOpenWFDDevice::handlePipelineBindSourceComplete() WFDint overflow = wfdGetEventAttribi(mDevice,mEvent, WFD_EVENT_PIPELINE_BIND_QUEUE_OVERFLOW); if (overflow == WFD_TRUE) { - qDebug() << "PIPELINE_BIND_QUEUE_OVERFLOW event occurred"; + qDebug("PIPELINE_BIND_QUEUE_OVERFLOW event occurred"); } WFDint pipelineId = wfdGetEventAttribi(mDevice,mEvent,WFD_EVENT_PIPELINE_BIND_PIPELINE_ID); diff --git a/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp b/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp index 31d369ae00..cf267ea203 100644 --- a/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdglcontext.cpp @@ -61,7 +61,7 @@ bool QOpenWFDGLContext::makeCurrent(QPlatformSurface *surface) EGLDisplay display = mWfdDevice->eglDisplay(); EGLContext context = mWfdDevice->eglContext(); if (!eglMakeCurrent(display,EGL_NO_SURFACE,EGL_NO_SURFACE,context)) { - qDebug() << "GLContext: eglMakeCurrent FAILED!"; + qDebug("GLContext: eglMakeCurrent FAILED!"); } QPlatformWindow *window = static_cast(surface); diff --git a/src/plugins/platforms/openwfd/qopenwfdintegration.cpp b/src/plugins/platforms/openwfd/qopenwfdintegration.cpp index 26fc93fc11..71e2b381fc 100644 --- a/src/plugins/platforms/openwfd/qopenwfdintegration.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdintegration.cpp @@ -79,7 +79,7 @@ QOpenWFDIntegration::QOpenWFDIntegration() QOpenWFDIntegration::~QOpenWFDIntegration() { //don't delete screens since they are deleted by the devices - qDebug() << "deleting platform integration"; + qDebug("deleting platform integration"); for (int i = 0; i < mDevices.size(); i++) { delete mDevices[i]; } diff --git a/src/plugins/platforms/openwfd/qopenwfdoutputbuffer.cpp b/src/plugins/platforms/openwfd/qopenwfdoutputbuffer.cpp index dc560b98da..4d0de7b0d4 100644 --- a/src/plugins/platforms/openwfd/qopenwfdoutputbuffer.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdoutputbuffer.cpp @@ -69,7 +69,7 @@ QOpenWFDOutputBuffer::~QOpenWFDOutputBuffer() { wfdDestroySource(mPort->device()->handle(),mWfdSource); if (!mPort->device()->eglDestroyImage(mPort->device()->eglDisplay(),mEglImage)) { - qDebug() << "could not delete eglImage"; + qDebug("could not delete eglImage"); } gbm_bo_destroy(mGbm_buffer); @@ -83,6 +83,6 @@ void QOpenWFDOutputBuffer::bindToCurrentFbo() GL_RENDERBUFFER, mRbo); if (glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) { - qDebug() << "framebuffer not ready!"; + qDebug("framebuffer not ready!"); } } diff --git a/src/plugins/platforms/openwfd/qopenwfdport.cpp b/src/plugins/platforms/openwfd/qopenwfdport.cpp index 73d1fb99e7..33254fe83c 100644 --- a/src/plugins/platforms/openwfd/qopenwfdport.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdport.cpp @@ -80,7 +80,7 @@ void QOpenWFDPort::attach() Q_ASSERT(actualNumberOfPortModes == numberOfPortModes); if (!actualNumberOfPortModes) { - qDebug() << "didn't find any available port modes"; + qDebug("didn't find any available port modes"); return; } @@ -94,7 +94,7 @@ void QOpenWFDPort::attach() mPixelSize = setNativeResolutionMode(); if (mPixelSize.isEmpty()) { - qDebug() << "Could not set native resolution mode in QOpenWFPort"; + qDebug("Could not set native resolution mode in QOpenWFPort"); } WFDfloat physicalWFDSize[2]; diff --git a/src/plugins/platforms/openwfd/qopenwfdscreen.cpp b/src/plugins/platforms/openwfd/qopenwfdscreen.cpp index f8a61dbb68..ab394fa594 100644 --- a/src/plugins/platforms/openwfd/qopenwfdscreen.cpp +++ b/src/plugins/platforms/openwfd/qopenwfdscreen.cpp @@ -65,7 +65,7 @@ QOpenWFDScreen::QOpenWFDScreen(QOpenWFDPort *port) EGLContext context = mPort->device()->eglContext(); if (!eglMakeCurrent(display,EGL_NO_SURFACE,EGL_NO_SURFACE,context)) { - qDebug() << "screen: eglMakeCurrent FAILED"; + qDebug("screen: eglMakeCurrent FAILED"); } glGenFramebuffers(1,&mFbo); diff --git a/src/plugins/platforms/qnx/qqnxbuttoneventnotifier.cpp b/src/plugins/platforms/qnx/qqnxbuttoneventnotifier.cpp index d07c619752..a08ac2b839 100644 --- a/src/plugins/platforms/qnx/qqnxbuttoneventnotifier.cpp +++ b/src/plugins/platforms/qnx/qqnxbuttoneventnotifier.cpp @@ -162,7 +162,7 @@ void QQnxButtonEventNotifier::updateButtonStates() break; default: - qButtonDebug() << "Unknown hardware button"; + qButtonDebug("Unknown hardware button"); continue; } diff --git a/src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp b/src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp index 64f38265f6..79ff74b113 100644 --- a/src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp +++ b/src/plugins/platforms/qnx/qqnxinputcontext_imf.cpp @@ -385,7 +385,7 @@ static int32_t ic_perform_editor_action(input_session_t *ic, int32_t editor_acti Q_UNUSED(ic); Q_UNUSED(editor_action); - qCritical() << "ic_perform_editor_action not implemented"; + qCritical("ic_perform_editor_action not implemented"); return 0; } @@ -395,7 +395,7 @@ static int32_t ic_report_fullscreen_mode(input_session_t *ic, int32_t enabled) Q_UNUSED(ic); Q_UNUSED(enabled); - qCritical() << "ic_report_fullscreen_mode not implemented"; + qCritical("ic_report_fullscreen_mode not implemented"); return 0; } @@ -406,7 +406,7 @@ static extracted_text_t *ic_get_extracted_text(input_session_t *ic, extracted_te Q_UNUSED(request); Q_UNUSED(flags); - qCritical() << "ic_get_extracted_text not implemented"; + qCritical("ic_get_extracted_text not implemented"); return 0; } @@ -416,7 +416,7 @@ static spannable_string_t *ic_get_selected_text(input_session_t *ic, int32_t fla Q_UNUSED(ic); Q_UNUSED(flags); - qCritical() << "ic_get_selected_text not implemented"; + qCritical("ic_get_selected_text not implemented"); return 0; } @@ -426,7 +426,7 @@ static int32_t ic_get_cursor_caps_mode(input_session_t *ic, int32_t req_modes) Q_UNUSED(ic); Q_UNUSED(req_modes); - qCritical() << "ic_get_cursor_caps_mode not implemented"; + qCritical("ic_get_cursor_caps_mode not implemented"); return 0; } @@ -436,7 +436,7 @@ static int32_t ic_clear_meta_key_states(input_session_t *ic, int32_t states) Q_UNUSED(ic); Q_UNUSED(states); - qCritical() << "ic_clear_meta_key_states not implemented"; + qCritical("ic_clear_meta_key_states not implemented"); return 0; } @@ -447,7 +447,7 @@ static int32_t ic_set_selection(input_session_t *ic, int32_t start, int32_t end) Q_UNUSED(start); Q_UNUSED(end); - qCritical() << "ic_set_selection not implemented"; + qCritical("ic_set_selection not implemented"); return 0; } diff --git a/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp b/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp index 261c8e8773..599d43a8c8 100644 --- a/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp +++ b/src/plugins/platforms/qnx/qqnxscreeneventhandler.cpp @@ -553,7 +553,7 @@ void QQnxScreenEventHandler::handleDisplayEvent(screen_event_t event) if (val[0] == 0 && val[1] == 0) //If screen size is invalid, wait for the next event return; - qScreenEventDebug() << "creating new QQnxScreen for newly attached display"; + qScreenEventDebug("creating new QQnxScreen for newly attached display"); m_qnxIntegration->createDisplay(nativeDisplay, false /* not primary, we assume */); } } else if (!isAttached) { @@ -566,7 +566,7 @@ void QQnxScreenEventHandler::handleDisplayEvent(screen_event_t event) if (!screen->isPrimaryScreen()) { // libscreen display is deactivated, let's remove the QQnxScreen / QScreen - qScreenEventDebug() << "removing display"; + qScreenEventDebug("removing display"); m_qnxIntegration->removeDisplay(screen); } } diff --git a/src/plugins/platforms/qnx/qqnxwindow.cpp b/src/plugins/platforms/qnx/qqnxwindow.cpp index 9d591286c0..e04f16db92 100644 --- a/src/plugins/platforms/qnx/qqnxwindow.cpp +++ b/src/plugins/platforms/qnx/qqnxwindow.cpp @@ -475,7 +475,7 @@ void QQnxWindow::setParent(const QPlatformWindow *window) return; if (screen()->rootWindow() == this) { - qWarning() << "Application window cannot be reparented"; + qWarning("Application window cannot be reparented"); return; } diff --git a/src/plugins/platforms/windows/qwindowstabletsupport.cpp b/src/plugins/platforms/windows/qwindowstabletsupport.cpp index 8db6895999..3689978b41 100644 --- a/src/plugins/platforms/windows/qwindowstabletsupport.cpp +++ b/src/plugins/platforms/windows/qwindowstabletsupport.cpp @@ -208,7 +208,7 @@ QWindowsTabletSupport *QWindowsTabletSupport::create() if (currentQueueSize != TabletPacketQSize) { if (!QWindowsTabletSupport::m_winTab32DLL.wTQueueSizeSet(context, TabletPacketQSize)) { if (!QWindowsTabletSupport::m_winTab32DLL.wTQueueSizeSet(context, currentQueueSize)) { - qWarning() << "Unable to set queue size on tablet. The tablet will not work."; + qWarning("Unable to set queue size on tablet. The tablet will not work."); QWindowsTabletSupport::m_winTab32DLL.wTClose(context); DestroyWindow(window); return 0; diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index d9a7586096..d1c5cccbcf 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -700,7 +700,7 @@ void WindowCreationData::initialize(const QWindow *w, HWND hwnd, bool frameChang if ((flags & Qt::WindowStaysOnTopHint) || (type == Qt::ToolTip)) { SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, swpFlags); if (flags & Qt::WindowStaysOnBottomHint) - qWarning() << "QWidget: Incompatible window flags: the window can't be on top and on bottom at the same time"; + qWarning("QWidget: Incompatible window flags: the window can't be on top and on bottom at the same time"); } else if (flags & Qt::WindowStaysOnBottomHint) { SetWindowPos(hwnd, HWND_BOTTOM, 0, 0, 0, 0, swpFlags); } else if (frameChange) { // Force WM_NCCALCSIZE with wParam=1 in case of custom margins. @@ -2213,7 +2213,7 @@ void QWindowsWindow::getSizeHints(MINMAXINFO *mmi) const mmi->ptMaxPosition.x = availableGeometry.x(); mmi->ptMaxPosition.y = availableGeometry.y(); } else if (!screen){ - qWarning() << "window()->screen() returned a null screen"; + qWarning("window()->screen() returned a null screen"); } } diff --git a/src/plugins/platforms/xcb/qxcbbackingstore.cpp b/src/plugins/platforms/xcb/qxcbbackingstore.cpp index 2e04799998..896eb61970 100644 --- a/src/plugins/platforms/xcb/qxcbbackingstore.cpp +++ b/src/plugins/platforms/xcb/qxcbbackingstore.cpp @@ -187,7 +187,7 @@ QXcbShmImage::QXcbShmImage(QXcbScreen *screen, const QSize &size, uint depth, QI m_xcb_image->data = (uint8_t *)malloc(segmentSize); } else { if (shmctl(m_shm_info.shmid, IPC_RMID, 0) == -1) - qWarning() << "QXcbBackingStore: Error while marking the shared memory segment to be destroyed"; + qWarning("QXcbBackingStore: Error while marking the shared memory segment to be destroyed"); } m_hasAlpha = QImage::toPixelFormat(format).alphaUsage() == QPixelFormat::UsesAlpha; diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp index 998f4884aa..73af6ead13 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection.cpp @@ -2173,7 +2173,7 @@ void QXcbConnection::initializeXKB() #ifndef QT_NO_XKB const xcb_query_extension_reply_t *reply = xcb_get_extension_data(m_connection, &xcb_xkb_id); if (!reply || !reply->present) { - qWarning() << "Qt: XKEYBOARD extension not present on the X server."; + qWarning("Qt: XKEYBOARD extension not present on the X server."); xkb_first_event = 0; return; } @@ -2227,7 +2227,7 @@ void QXcbConnection::initializeXKB() xcb_generic_error_t *error = xcb_request_check(c, select); if (error) { free(error); - qWarning() << "Qt: failed to select notify events from xcb-xkb"; + qWarning("Qt: failed to select notify events from xcb-xkb"); return; } #endif diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp index a141882fc4..b5e03e68fe 100644 --- a/src/plugins/platforms/xcb/qxcbintegration.cpp +++ b/src/plugins/platforms/xcb/qxcbintegration.cpp @@ -164,7 +164,7 @@ QXcbIntegration::QXcbIntegration(const QStringList ¶meters, int &argc, char bool underDebugger = runningUnderDebugger(); if (noGrabArg && doGrabArg && underDebugger) { - qWarning() << "Both -nograb and -dograb command line arguments specified. Please pick one. -nograb takes prcedence"; + qWarning("Both -nograb and -dograb command line arguments specified. Please pick one. -nograb takes prcedence"); doGrabArg = false; } diff --git a/src/plugins/platforms/xcb/qxcbkeyboard.cpp b/src/plugins/platforms/xcb/qxcbkeyboard.cpp index 4de7716703..a16e24061c 100644 --- a/src/plugins/platforms/xcb/qxcbkeyboard.cpp +++ b/src/plugins/platforms/xcb/qxcbkeyboard.cpp @@ -676,13 +676,13 @@ void QXcbKeyboard::printKeymapError(const char *error) const { qWarning() << error; if (xkb_context) { - qWarning() << "Current XKB configuration data search paths are: "; + qWarning("Current XKB configuration data search paths are: "); for (unsigned int i = 0; i < xkb_context_num_include_paths(xkb_context); ++i) qWarning() << xkb_context_include_path_get(xkb_context, i); } - qWarning() << "Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, " - "add ':' as separator to provide several search paths and/or make sure that XKB configuration data " - "directory contains recent enough contents, to update please see http://cgit.freedesktop.org/xkeyboard-config/ ."; + qWarning("Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, " + "add ':' as separator to provide several search paths and/or make sure that XKB configuration data " + "directory contains recent enough contents, to update please see http://cgit.freedesktop.org/xkeyboard-config/ ."); } void QXcbKeyboard::updateKeymap() diff --git a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp index eb7c5d2b02..f3066424ae 100644 --- a/src/plugins/platforms/xcb/qxcbnativeinterface.cpp +++ b/src/plugins/platforms/xcb/qxcbnativeinterface.cpp @@ -203,7 +203,7 @@ void *QXcbNativeInterface::nativeResourceForContext(const QByteArray &resourceSt void *QXcbNativeInterface::nativeResourceForScreen(const QByteArray &resourceString, QScreen *screen) { if (!screen) { - qWarning() << "nativeResourceForScreen: null screen"; + qWarning("nativeResourceForScreen: null screen"); return Q_NULLPTR; } diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 6ac28684a8..f3276e8976 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -372,7 +372,7 @@ void QXcbWindow::create() if (visual) m_visualId = connection()->defaultVisualId(); if (!visual) - qWarning() << "Could not use default visual id. Falling back to root_visual for screen."; + qWarning("Could not use default visual id. Falling back to root_visual for screen."); } if (!visual) visual = platformScreen->visualForId(m_visualId); diff --git a/src/plugins/platforms/xcb/qxcbwmsupport.cpp b/src/plugins/platforms/xcb/qxcbwmsupport.cpp index 38116ac239..470f021314 100644 --- a/src/plugins/platforms/xcb/qxcbwmsupport.cpp +++ b/src/plugins/platforms/xcb/qxcbwmsupport.cpp @@ -122,10 +122,10 @@ void QXcbWMSupport::updateVirtualRoots() } while (remaining > 0); #ifdef Q_XCB_DEBUG - qDebug() << "======== updateVirtualRoots"; + qDebug("======== updateVirtualRoots"); for (int i = 0; i < net_virtual_roots.size(); ++i) qDebug() << connection()->atomName(net_virtual_roots.at(i)); - qDebug() << "======== updateVirtualRoots"; + qDebug("======== updateVirtualRoots"); #endif } diff --git a/src/printsupport/kernel/qprintengine_win.cpp b/src/printsupport/kernel/qprintengine_win.cpp index 387dfca9c6..edf4dcb164 100644 --- a/src/printsupport/kernel/qprintengine_win.cpp +++ b/src/printsupport/kernel/qprintengine_win.cpp @@ -169,7 +169,7 @@ bool QWin32PrintEngine::begin(QPaintDevice *pdev) cleanUp(); #ifdef QT_DEBUG_METRICS - qDebug() << "QWin32PrintEngine::begin()"; + qDebug("QWin32PrintEngine::begin()"); d->debugMetrics(); #endif // QT_DEBUG_METRICS @@ -236,7 +236,7 @@ bool QWin32PrintEngine::newPage() SetBkMode(d->hdc, TRANSPARENT); #ifdef QT_DEBUG_METRICS - qDebug() << "QWin32PrintEngine::newPage()"; + qDebug("QWin32PrintEngine::newPage()"); d->debugMetrics(); #endif // QT_DEBUG_METRICS @@ -930,7 +930,7 @@ void QWin32PrintEnginePrivate::initialize() initHDC(); #if defined QT_DEBUG_DRAW || defined QT_DEBUG_METRICS - qDebug() << "QWin32PrintEngine::initialize()"; + qDebug("QWin32PrintEngine::initialize()"); debugMetrics(); #endif // QT_DEBUG_DRAW || QT_DEBUG_METRICS } @@ -1007,7 +1007,7 @@ void QWin32PrintEnginePrivate::doReinit() bool QWin32PrintEnginePrivate::resetDC() { if (!hdc) { - qWarning() << "ResetDC() called with null hdc."; + qWarning("ResetDC() called with null hdc."); return false; } const HDC oldHdc = hdc; @@ -1593,7 +1593,7 @@ void QWin32PrintEngine::setGlobalDevMode(HGLOBAL globalDevNames, HGLOBAL globalD d->initHDC(); #if defined QT_DEBUG_DRAW || defined QT_DEBUG_METRICS - qDebug() << "QWin32PrintEngine::setGlobalDevMode()"; + qDebug("QWin32PrintEngine::setGlobalDevMode()"); debugMetrics(); #endif // QT_DEBUG_DRAW || QT_DEBUG_METRICS } diff --git a/src/printsupport/kernel/qprinter.cpp b/src/printsupport/kernel/qprinter.cpp index cbab151ea0..584be11199 100644 --- a/src/printsupport/kernel/qprinter.cpp +++ b/src/printsupport/kernel/qprinter.cpp @@ -2135,7 +2135,7 @@ int QPrinter::toPage() const void QPrinter::setFromTo(int from, int to) { if (from > to) { - qWarning() << "QPrinter::setFromTo: 'from' must be less than or equal to 'to'"; + qWarning("QPrinter::setFromTo: 'from' must be less than or equal to 'to'"); from = to; } d->fromPage = from; diff --git a/src/sql/drivers/ibase/qsql_ibase.cpp b/src/sql/drivers/ibase/qsql_ibase.cpp index ae48fdb90a..6fd91b6b76 100644 --- a/src/sql/drivers/ibase/qsql_ibase.cpp +++ b/src/sql/drivers/ibase/qsql_ibase.cpp @@ -1297,7 +1297,7 @@ int QIBaseResult::size() if (ct == isc_info_req_select_count) return val; } - //qDebug() << "size -1"; + //qDebug("size -1"); return -1; unsigned int i, result_size; diff --git a/src/sql/drivers/odbc/qsql_odbc.cpp b/src/sql/drivers/odbc/qsql_odbc.cpp index 139b2a8f2b..81c2760f65 100644 --- a/src/sql/drivers/odbc/qsql_odbc.cpp +++ b/src/sql/drivers/odbc/qsql_odbc.cpp @@ -2195,7 +2195,7 @@ void QODBCDriverPrivate::checkHasSQLFetchScroll() SQLRETURN r = SQLGetFunctions(hDbc, SQL_API_SQLFETCHSCROLL, &sup); if ((r != SQL_SUCCESS && r != SQL_SUCCESS_WITH_INFO) || sup != SQL_TRUE) { hasSQLFetchScroll = false; - qWarning() << "QODBCDriver::checkHasSQLFetchScroll: Warning - Driver doesn't support scrollable result sets, use forward only mode for queries"; + qWarning("QODBCDriver::checkHasSQLFetchScroll: Warning - Driver doesn't support scrollable result sets, use forward only mode for queries"); } } @@ -2244,7 +2244,7 @@ bool QODBCDriver::beginTransaction() { Q_D(QODBCDriver); if (!isOpen()) { - qWarning() << "QODBCDriver::beginTransaction: Database not open"; + qWarning("QODBCDriver::beginTransaction: Database not open"); return false; } SQLUINTEGER ac(SQL_AUTOCOMMIT_OFF); @@ -2264,7 +2264,7 @@ bool QODBCDriver::commitTransaction() { Q_D(QODBCDriver); if (!isOpen()) { - qWarning() << "QODBCDriver::commitTransaction: Database not open"; + qWarning("QODBCDriver::commitTransaction: Database not open"); return false; } SQLRETURN r = SQLEndTran(SQL_HANDLE_DBC, @@ -2282,7 +2282,7 @@ bool QODBCDriver::rollbackTransaction() { Q_D(QODBCDriver); if (!isOpen()) { - qWarning() << "QODBCDriver::rollbackTransaction: Database not open"; + qWarning("QODBCDriver::rollbackTransaction: Database not open"); return false; } SQLRETURN r = SQLEndTran(SQL_HANDLE_DBC, -- cgit v1.2.3 From 79c0cbf7a2da8f1d233e9f700f949577f5c8cfd1 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 4 Mar 2016 00:55:32 +0100 Subject: QOpenWFDDevice: fix BrE spelling and grammar in qDebug() output Also print the failing type. Sanity Bot complained about the spelling and Friedemann about the grammar and missing type information in the output. Change-Id: I7f38c56e569312e082e7b6baf9d556f5e7e40f80 Reviewed-by: Kai Koehne --- src/plugins/platforms/openwfd/qopenwfddevice.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/openwfd/qopenwfddevice.cpp b/src/plugins/platforms/openwfd/qopenwfddevice.cpp index 710c07b643..7a9d22e74d 100644 --- a/src/plugins/platforms/openwfd/qopenwfddevice.cpp +++ b/src/plugins/platforms/openwfd/qopenwfddevice.cpp @@ -196,7 +196,7 @@ void QOpenWFDDevice::readEvents(WFDtime wait) qDebug("Pipeline bind mask event handling not implemented"); break; default: - qDebug("Not recognised event type"); + qDebug("Unrecognized event type: %lu", static_cast(type)); break; } -- cgit v1.2.3 From 2379bcac3267ca4209709585a20ab65a71b2056f Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 4 Mar 2016 11:07:10 +0100 Subject: QHttpNetworkConnection: fix spelling in qWarning() Change-Id: I87dcdc1b81e90d4bac180731fd78d0fea38191b6 Reviewed-by: Kai Koehne --- src/network/access/qhttpnetworkconnection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 8f16780925..69687b5ab8 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -1190,7 +1190,7 @@ void QHttpNetworkConnectionPrivate::_q_hostLookupFinished(const QHostInfo &info) #endif // QT_NO_SSL else { // Should not happen - qWarning("QHttpNetworkConnectionPrivate::_q_hostLookupFinished could not dequeu request"); + qWarning("QHttpNetworkConnectionPrivate::_q_hostLookupFinished could not de-queue request"); networkLayerState = QHttpNetworkConnectionPrivate::Unknown; } } -- cgit v1.2.3 From 978804d2c229e1b15b497cb8de18032d1e220529 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 11 Mar 2016 14:59:19 +0100 Subject: QNetworkHeaders: fix UB (invalid enum value) in Private::parseAndSetHeader() Found by UBSan: qnetworkrequest.cpp:1016:19: runtime error: load of value 4294967295, which is not a valid value for type 'KnownHeaders' KnownHeaders does not contain a failure state, and no negative values. -1 is therefore not a valid value for an object of type KnownHeaders, so loading one is considered UB. Fix by returning the result of parseHeaderName() as an int, only casting to KnownHeaders after checking for the failure case. Change-Id: I6b165fe2b15c747344a9b2750bb753582c5bcbeb Reviewed-by: Richard J. Moore --- src/network/access/qnetworkrequest.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 558e015ae4..f5010198f3 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -798,10 +798,10 @@ static QByteArray headerValue(QNetworkRequest::KnownHeaders header, const QVaria return QByteArray(); } -static QNetworkRequest::KnownHeaders parseHeaderName(const QByteArray &headerName) +static int parseHeaderName(const QByteArray &headerName) { if (headerName.isEmpty()) - return QNetworkRequest::KnownHeaders(-1); + return -1; switch (tolower(headerName.at(0))) { case 'c': @@ -833,7 +833,7 @@ static QNetworkRequest::KnownHeaders parseHeaderName(const QByteArray &headerNam break; } - return QNetworkRequest::KnownHeaders(-1); // nothing found + return -1; // nothing found } static QVariant parseHttpDate(const QByteArray &raw) @@ -1005,8 +1005,10 @@ void QNetworkHeadersPrivate::setRawHeaderInternal(const QByteArray &key, const Q void QNetworkHeadersPrivate::parseAndSetHeader(const QByteArray &key, const QByteArray &value) { // is it a known header? - QNetworkRequest::KnownHeaders parsedKey = parseHeaderName(key); - if (parsedKey != QNetworkRequest::KnownHeaders(-1)) { + const int parsedKeyAsInt = parseHeaderName(key); + if (parsedKeyAsInt != -1) { + const QNetworkRequest::KnownHeaders parsedKey + = static_cast(parsedKeyAsInt); if (value.isNull()) { cookedHeaders.remove(parsedKey); } else if (parsedKey == QNetworkRequest::ContentLengthHeader -- cgit v1.2.3 From 5fe0e41e79030d14d8e32bda7fb5412d8c335c52 Mon Sep 17 00:00:00 2001 From: "Richard J. Moore" Date: Sat, 12 Mar 2016 16:47:14 +0000 Subject: Do not send the trailing dot of a hostname as part of the SNI The SNI extension must not include the trailing dot, even though this is legitimate for the host header. Task-number: QTBUG-51821 Change-Id: Ib7a7d8b1f8f98bc99ae745b03d2b97e507adefaf Reviewed-by: Daniel Molkentin (ownCloud) --- src/network/ssl/qsslsocket_openssl.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index dd47dfc45f..244d4bbebf 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -390,6 +390,10 @@ bool QSslSocketBackendPrivate::initSslContext() if (!ace.isEmpty() && !QHostAddress().setAddress(tlsHostName) && !(configuration.sslOptions & QSsl::SslOptionDisableServerNameIndication)) { + // We don't send the trailing dot from the host header if present see + // https://tools.ietf.org/html/rfc6066#section-3 + if (ace.endsWith('.')) + ace.chop(1); if (!q_SSL_ctrl(ssl, SSL_CTRL_SET_TLSEXT_HOSTNAME, TLSEXT_NAMETYPE_host_name, ace.data())) qCWarning(lcSsl, "could not set SSL_CTRL_SET_TLSEXT_HOSTNAME, Server Name Indication disabled"); } -- cgit v1.2.3 From e5ebf95bba3ac671af70d2dac291dd0d0e860428 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 23 Feb 2016 22:33:55 +0100 Subject: QMimeTypeParser: plaster error paths with Q_UNLIKELY ... when more than a return would be executed, to prompt the compiler to move it out of the way of the normal execution path. Unexpectedly costs ~200b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I0ebfb56af7c2262f64271a1b0ec46533e6000bc9 Reviewed-by: Konstantin Ritt --- src/corelib/mimetypes/qmimemagicrule.cpp | 10 +++++----- src/corelib/mimetypes/qmimetypeparser.cpp | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/corelib/mimetypes/qmimemagicrule.cpp b/src/corelib/mimetypes/qmimemagicrule.cpp index 528dca3ff5..a4ba93192c 100644 --- a/src/corelib/mimetypes/qmimemagicrule.cpp +++ b/src/corelib/mimetypes/qmimemagicrule.cpp @@ -233,7 +233,7 @@ QMimeMagicRule::QMimeMagicRule(const QString &type, m_mask(mask), m_matchFunction(nullptr) { - if (m_type == Invalid) + if (Q_UNLIKELY(m_type == Invalid)) *errorString = QLatin1String("Type ") + type + QLatin1String(" is not supported"); // Parse for offset as "1" or "1:10" @@ -246,7 +246,7 @@ QMimeMagicRule::QMimeMagicRule(const QString &type, return; } - if (m_value.isEmpty()) { + if (Q_UNLIKELY(m_value.isEmpty())) { m_type = Invalid; if (errorString) *errorString = QStringLiteral("Invalid empty magic rule value"); @@ -256,7 +256,7 @@ QMimeMagicRule::QMimeMagicRule(const QString &type, if (m_type >= Host16 && m_type <= Byte) { bool ok; m_number = m_value.toUInt(&ok, 0); // autodetect base - if (!ok) { + if (Q_UNLIKELY(!ok)) { m_type = Invalid; if (errorString) *errorString = QLatin1String("Invalid magic rule value \"") + QLatin1String(m_value) + QLatin1Char('"'); @@ -270,7 +270,7 @@ QMimeMagicRule::QMimeMagicRule(const QString &type, m_pattern = makePattern(m_value); m_pattern.squeeze(); if (!m_mask.isEmpty()) { - if (m_mask.size() < 4 || !m_mask.startsWith("0x")) { + if (Q_UNLIKELY(m_mask.size() < 4 || !m_mask.startsWith("0x"))) { m_type = Invalid; if (errorString) *errorString = QLatin1String("Invalid magic rule mask \"") + QLatin1String(m_mask) + QLatin1Char('"'); @@ -278,7 +278,7 @@ QMimeMagicRule::QMimeMagicRule(const QString &type, } const QByteArray &tempMask = QByteArray::fromHex(QByteArray::fromRawData( m_mask.constData() + 2, m_mask.size() - 2)); - if (tempMask.size() != m_pattern.size()) { + if (Q_UNLIKELY(tempMask.size() != m_pattern.size())) { m_type = Invalid; if (errorString) *errorString = QLatin1String("Invalid magic rule mask size \"") + QLatin1String(m_mask) + QLatin1Char('"'); diff --git a/src/corelib/mimetypes/qmimetypeparser.cpp b/src/corelib/mimetypes/qmimetypeparser.cpp index 9ed345d37e..63e8f14018 100644 --- a/src/corelib/mimetypes/qmimetypeparser.cpp +++ b/src/corelib/mimetypes/qmimetypeparser.cpp @@ -164,7 +164,7 @@ bool QMimeTypeParserBase::parseNumber(const QStringRef &n, int *target, QString { bool ok; *target = n.toInt(&ok); - if (!ok) { + if (Q_UNLIKELY(!ok)) { *errorMessage = QLatin1String("Not a number '") + n + QLatin1String("'."); return false; } @@ -325,7 +325,7 @@ bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString } } - if (reader.hasError()) { + if (Q_UNLIKELY(reader.hasError())) { if (errorMessage) *errorMessage = QString::fromLatin1("An error has been encountered at line %1 of %2: %3:").arg(reader.lineNumber()).arg(fileName, reader.errorString()); return false; -- cgit v1.2.3 From 434f2b8968b7c41969cef06931bf6f09305550aa Mon Sep 17 00:00:00 2001 From: Volker Krause Date: Sun, 13 Mar 2016 11:10:06 +0100 Subject: Don't quote newlines in multi-line shader linker errors. Change-Id: I055758b73a9992786b6c4542396dc82fda1444b5 Reviewed-by: Sean Harmer --- src/gui/opengl/qopenglshaderprogram.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gui/opengl/qopenglshaderprogram.cpp b/src/gui/opengl/qopenglshaderprogram.cpp index bb60139ed6..4134513210 100644 --- a/src/gui/opengl/qopenglshaderprogram.cpp +++ b/src/gui/opengl/qopenglshaderprogram.cpp @@ -1050,9 +1050,9 @@ bool QOpenGLShaderProgram::link() if (!d->linked) { QString name = objectName(); if (name.isEmpty()) - qWarning() << "QOpenGLShader::link:" << d->log; + qWarning("QOpenGLShader::link: %ls", qUtf16Printable(d->log)); else - qWarning() << "QOpenGLShader::link[" << name << "]:" << d->log; + qWarning("QOpenGLShader::link[%ls]: %ls", qUtf16Printable(name), qUtf16Printable(d->log)); } delete [] logbuf; } -- cgit v1.2.3 From a3def2869da8ad9c17d44005c0d1fd70a903f855 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Thu, 25 Feb 2016 12:41:35 +0300 Subject: QtGui: de-duplicate calls and cache results Change-Id: Iaf232c31d6780b49dc6a3d0faafb9717f3c36e65 Reviewed-by: Marc Mutz Reviewed-by: Lars Knoll Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/gui/kernel/qhighdpiscaling_p.h | 6 ++++-- src/gui/kernel/qopenglwindow.cpp | 5 +++-- src/gui/kernel/qplatformwindow.cpp | 5 +++-- src/gui/kernel/qrasterwindow.cpp | 5 +++-- src/gui/kernel/qwindow.cpp | 4 ++-- src/gui/text/qzip.cpp | 9 +++++---- src/gui/util/qdesktopservices.cpp | 8 ++++---- 7 files changed, 24 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qhighdpiscaling_p.h b/src/gui/kernel/qhighdpiscaling_p.h index 364dfaeaee..eb3a9d5545 100644 --- a/src/gui/kernel/qhighdpiscaling_p.h +++ b/src/gui/kernel/qhighdpiscaling_p.h @@ -474,8 +474,9 @@ QVector fromNativePixels(const QVector &pixelValues, const QWindow *window QVector pointValues; pointValues.reserve(pixelValues.size()); + const auto factor = QHighDpiScaling::factor(window); for (const T &pixelValue : pixelValues) - pointValues.append(pixelValue / QHighDpiScaling::factor(window)); + pointValues.append(pixelValue / factor); return pointValues; } @@ -488,8 +489,9 @@ QVector toNativePixels(const QVector &pointValues, const QWindow *window) QVector pixelValues; pixelValues.reserve(pointValues.size()); + const auto factor = QHighDpiScaling::factor(window); for (const T &pointValue : pointValues) - pixelValues.append(pointValue * QHighDpiScaling::factor(window)); + pixelValues.append(pointValue * factor); return pixelValues; } diff --git a/src/gui/kernel/qopenglwindow.cpp b/src/gui/kernel/qopenglwindow.cpp index 37db608430..8ab5c08442 100644 --- a/src/gui/kernel/qopenglwindow.cpp +++ b/src/gui/kernel/qopenglwindow.cpp @@ -252,9 +252,10 @@ void QOpenGLWindowPrivate::beginPaint(const QRegion ®ion) if (!fbo || fbo->size() != deviceSize) { QOpenGLFramebufferObjectFormat fboFormat; fboFormat.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil); - if (q->requestedFormat().samples() > 0) { + const int samples = q->requestedFormat().samples(); + if (samples > 0) { if (updateBehavior != QOpenGLWindow::PartialUpdateBlend) - fboFormat.setSamples(q->requestedFormat().samples()); + fboFormat.setSamples(samples); else qWarning("QOpenGLWindow: PartialUpdateBlend does not support multisampling"); } diff --git a/src/gui/kernel/qplatformwindow.cpp b/src/gui/kernel/qplatformwindow.cpp index 347d02d616..e45a1d61ba 100644 --- a/src/gui/kernel/qplatformwindow.cpp +++ b/src/gui/kernel/qplatformwindow.cpp @@ -499,9 +499,10 @@ QPlatformScreen *QPlatformWindow::screenForGeometry(const QRect &newGeometry) co if (!parent() && currentScreen && !currentScreen->geometry().contains(center)) { const auto screens = currentScreen->virtualSiblings(); for (QPlatformScreen *screen : screens) { - if (screen->geometry().contains(center)) + const QRect screenGeometry = screen->geometry(); + if (screenGeometry.contains(center)) return screen; - if (screen->geometry().intersects(newGeometry)) + if (screenGeometry.intersects(newGeometry)) fallback = screen; } } diff --git a/src/gui/kernel/qrasterwindow.cpp b/src/gui/kernel/qrasterwindow.cpp index 947f2bb6a8..d8d448249e 100644 --- a/src/gui/kernel/qrasterwindow.cpp +++ b/src/gui/kernel/qrasterwindow.cpp @@ -73,8 +73,9 @@ public: void beginPaint(const QRegion ®ion) Q_DECL_OVERRIDE { Q_Q(QRasterWindow); - if (backingstore->size() != q->size()) { - backingstore->resize(q->size()); + const QSize size = q->size(); + if (backingstore->size() != size) { + backingstore->resize(size); markWindowAsDirty(); } backingstore->beginPaint(region); diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp index 3f430be579..107ea73a56 100644 --- a/src/gui/kernel/qwindow.cpp +++ b/src/gui/kernel/qwindow.cpp @@ -1469,9 +1469,9 @@ void QWindow::setGeometry(const QRect &rect) { Q_D(QWindow); d->positionAutomatic = false; - if (rect == geometry()) + const QRect oldRect = geometry(); + if (rect == oldRect) return; - QRect oldRect = geometry(); d->positionPolicy = QWindowPrivate::WindowFrameExclusive; if (d->platformWindow) { diff --git a/src/gui/text/qzip.cpp b/src/gui/text/qzip.cpp index e42c268493..5178f5a9a8 100644 --- a/src/gui/text/qzip.cpp +++ b/src/gui/text/qzip.cpp @@ -824,14 +824,15 @@ QZipReader::QZipReader(const QString &archive, QIODevice::OpenMode mode) QScopedPointer f(new QFile(archive)); f->open(mode); QZipReader::Status status; - if (f->error() == QFile::NoError) + const QFileDevice::FileError error = f->error(); + if (error == QFile::NoError) status = NoError; else { - if (f->error() == QFile::ReadError) + if (error == QFile::ReadError) status = FileReadError; - else if (f->error() == QFile::OpenError) + else if (error == QFile::OpenError) status = FileOpenError; - else if (f->error() == QFile::PermissionsError) + else if (error == QFile::PermissionsError) status = FilePermissionsError; else status = FileError; diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp index 1cfea8634a..085c073bb1 100644 --- a/src/gui/util/qdesktopservices.cpp +++ b/src/gui/util/qdesktopservices.cpp @@ -328,17 +328,17 @@ QString QDesktopServices::storageLocationImpl(QStandardPaths::StandardLocation t // * Unix data location is under the "data/" subdirectory const QString compatAppName = qt_applicationName_noFallback(); const QString baseDir = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation); + const QString organizationName = QCoreApplication::organizationName(); #if defined(Q_OS_WIN) || defined(Q_OS_MAC) QString result = baseDir; - if (!QCoreApplication::organizationName().isEmpty()) - result += QLatin1Char('/') + QCoreApplication::organizationName(); + if (!organizationName.isEmpty()) + result += QLatin1Char('/') + organizationName; if (!compatAppName.isEmpty()) result += QLatin1Char('/') + compatAppName; return result; #elif defined(Q_OS_UNIX) return baseDir + QLatin1String("/data/") - + QCoreApplication::organizationName() + QLatin1Char('/') - + compatAppName; + + organizationName + QLatin1Char('/') + compatAppName; #endif } return QStandardPaths::writableLocation(type); -- cgit v1.2.3 From 447a508d003ce487f2be69af9ab05aeec272e64d Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Wed, 9 Mar 2016 12:21:55 +0300 Subject: QHostInfo: optimize container usage Replace Java-style iterators with STL-style iterators. Java-style iterators have overhead. Use std::stable_partition with erase() instead of using remove() in a loop, with quadratic complexity. Introduce local template homebrew any_of (analog of std::any_of from C++11) to simplify current code. Also it's needed for following changes in this class. Change-Id: I2b11889ccc7630597c72aa20cdb266ae6ca2471a Reviewed-by: Marc Mutz --- src/network/kernel/qhostinfo.cpp | 62 ++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 24 deletions(-) (limited to 'src') diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp index cba0ab65b6..293633d6bc 100644 --- a/src/network/kernel/qhostinfo.cpp +++ b/src/network/kernel/qhostinfo.cpp @@ -49,6 +49,8 @@ #include #include +#include + #ifdef Q_OS_UNIX # include #endif @@ -59,6 +61,26 @@ QT_BEGIN_NAMESPACE Q_GLOBAL_STATIC(QHostInfoLookupManager, theHostInfoLookupManager) +namespace { +struct ToBeLookedUpEquals { + typedef bool result_type; + explicit ToBeLookedUpEquals(const QString &toBeLookedUp) Q_DECL_NOTHROW : m_toBeLookedUp(toBeLookedUp) {} + result_type operator()(QHostInfoRunnable* lookup) const Q_DECL_NOTHROW + { + return m_toBeLookedUp == lookup->toBeLookedUp; + } +private: + QString m_toBeLookedUp; +}; + +// ### C++11: remove once we can use std::any_of() +template +bool any_of(InputIt first, InputIt last, UnaryPredicate p) +{ + return std::find_if(first, last, p) != last; +} +} + /*! \class QHostInfo \brief The QHostInfo class provides static functions for host name lookups. @@ -496,17 +518,17 @@ void QHostInfoRunnable::run() // now also iterate through the postponed ones { QMutexLocker locker(&manager->mutex); - QMutableListIterator iterator(manager->postponedLookups); - while (iterator.hasNext()) { - QHostInfoRunnable* postponed = iterator.next(); - if (toBeLookedUp == postponed->toBeLookedUp) { - // we can now emit - iterator.remove(); - hostInfo.setLookupId(postponed->id); - postponed->resultEmitter.emitResultsReady(hostInfo); - delete postponed; - } + const auto partitionBegin = std::stable_partition(manager->postponedLookups.rbegin(), manager->postponedLookups.rend(), + ToBeLookedUpEquals(toBeLookedUp)).base(); + const auto partitionEnd = manager->postponedLookups.end(); + for (auto it = partitionBegin; it != partitionEnd; ++it) { + QHostInfoRunnable* postponed = *it; + // we can now emit + hostInfo.setLookupId(postponed->id); + postponed->resultEmitter.emitResultsReady(hostInfo); + delete postponed; } + manager->postponedLookups.erase(partitionBegin, partitionEnd); } manager->lookupFinished(this); @@ -573,13 +595,7 @@ void QHostInfoLookupManager::work() QHostInfoRunnable* postponed = iterator.next(); // check if none of the postponed hostnames is currently running - bool alreadyRunning = false; - for (int i = 0; i < currentLookups.length(); i++) { - if (currentLookups.at(i)->toBeLookedUp == postponed->toBeLookedUp) { - alreadyRunning = true; - break; - } - } + const bool alreadyRunning = any_of(currentLookups.cbegin(), currentLookups.cend(), ToBeLookedUpEquals(postponed->toBeLookedUp)); if (!alreadyRunning) { iterator.remove(); scheduledLookups.prepend(postponed); // prepend! we want to finish it ASAP @@ -594,13 +610,11 @@ void QHostInfoLookupManager::work() QHostInfoRunnable *scheduled = iterator.next(); // check if a lookup for this host is already running, then postpone - for (int i = 0; i < currentLookups.size(); i++) { - if (currentLookups.at(i)->toBeLookedUp == scheduled->toBeLookedUp) { - iterator.remove(); - postponedLookups.append(scheduled); - scheduled = 0; - break; - } + const bool alreadyRunning = any_of(currentLookups.cbegin(), currentLookups.cend(), ToBeLookedUpEquals(scheduled->toBeLookedUp)); + if (alreadyRunning) { + iterator.remove(); + postponedLookups.append(scheduled); + scheduled = 0; } if (scheduled && currentLookups.size() < threadPool.maxThreadCount()) { -- cgit v1.2.3 From c738e637b8b976d870c08619dd1201cf8b143efb Mon Sep 17 00:00:00 2001 From: Mark Brand Date: Fri, 4 Mar 2016 22:05:01 +0100 Subject: update bundled sqlite to 3.11.1.0 Since Qt 5.7 has dropped WinCE, including WEC2013, the patch for WinCE is no longer needed. The source code for the sqlite3 shell, shell.c, is not required for building the qsqlite driver or anything else in Qt, so there is no reason to keep bundling it with Qt sources. Change-Id: Id0b03945451f9e843a0424c9fe510d79555717fc Reviewed-by: Friedemann Kleint Reviewed-by: Gunnar Roth --- ...ixing-the-SQLite3-build-for-WEC2013-again.patch | 31 - src/3rdparty/sqlite/shell.c | 4958 ----------- src/3rdparty/sqlite/sqlite3.c | 9134 ++++++++++++-------- src/3rdparty/sqlite/sqlite3.h | 76 +- 4 files changed, 5712 insertions(+), 8487 deletions(-) delete mode 100644 src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch delete mode 100644 src/3rdparty/sqlite/shell.c (limited to 'src') diff --git a/src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch b/src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch deleted file mode 100644 index 43e61cba12..0000000000 --- a/src/3rdparty/sqlite/0001-Fixing-the-SQLite3-build-for-WEC2013-again.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 448df48c1610745cad734df210aa2f21f26c9ae4 Mon Sep 17 00:00:00 2001 -From: Gunnar Roth -Date: Fri, 22 Jan 2016 22:38:17 +0100 -Subject: [PATCH] Fixing the SQLite3 build for WEC2013 again. - -The new version broke the build again --> fix it again. - -Change-Id: I75761d134d97a2784f1de5076412aa814fdf9bcd - -diff --git a/src/3rdparty/sqlite/sqlite3.c b/src/3rdparty/sqlite/sqlite3.c -index c0ab233..b397726 100644 ---- a/src/3rdparty/sqlite/sqlite3.c -+++ b/src/3rdparty/sqlite/sqlite3.c -@@ -16867,6 +16867,13 @@ static void clearYMD_HMS_TZ(DateTime *p){ - #define HAVE_LOCALTIME_S 1 - #endif - -+#if defined(_WIN32_WCE) && _WIN32_WCE < 0x800 -+#undef HAVE_LOCALTIME_S -+struct tm *__cdecl localtime(const time_t *t); -+#elif defined(_WIN32_WCE) && _WIN32_WCE >= 0x800 -+#define SQLITE_MSVC_LOCALTIME_API 1 -+#endif -+ - #ifndef SQLITE_OMIT_LOCALTIME - /* - ** The following routine implements the rough equivalent of localtime_r() --- -2.5.0 - diff --git a/src/3rdparty/sqlite/shell.c b/src/3rdparty/sqlite/shell.c deleted file mode 100644 index b7a7abcd33..0000000000 --- a/src/3rdparty/sqlite/shell.c +++ /dev/null @@ -1,4958 +0,0 @@ -/* -** 2001 September 15 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* -** This file contains code to implement the "sqlite" command line -** utility for accessing SQLite databases. -*/ -#if (defined(_WIN32) || defined(WIN32)) && !defined(_CRT_SECURE_NO_WARNINGS) -/* This needs to come before any includes for MSVC compiler */ -#define _CRT_SECURE_NO_WARNINGS -#endif - -/* -** If requested, include the SQLite compiler options file for MSVC. -*/ -#if defined(INCLUDE_MSVC_H) -#include "msvc.h" -#endif - -/* -** No support for loadable extensions in VxWorks. -*/ -#if (defined(__RTP__) || defined(_WRS_KERNEL)) && !SQLITE_OMIT_LOAD_EXTENSION -# define SQLITE_OMIT_LOAD_EXTENSION 1 -#endif - -/* -** Enable large-file support for fopen() and friends on unix. -*/ -#ifndef SQLITE_DISABLE_LFS -# define _LARGE_FILE 1 -# ifndef _FILE_OFFSET_BITS -# define _FILE_OFFSET_BITS 64 -# endif -# define _LARGEFILE_SOURCE 1 -#endif - -#include -#include -#include -#include -#include "sqlite3.h" -#if SQLITE_USER_AUTHENTICATION -# include "sqlite3userauth.h" -#endif -#include -#include - -#if !defined(_WIN32) && !defined(WIN32) -# include -# if !defined(__RTP__) && !defined(_WRS_KERNEL) -# include -# endif -# include -# include -#endif - -#if HAVE_READLINE -# include -# include -#endif - -#if HAVE_EDITLINE -# include -#endif - -#if HAVE_EDITLINE || HAVE_READLINE - -# define shell_add_history(X) add_history(X) -# define shell_read_history(X) read_history(X) -# define shell_write_history(X) write_history(X) -# define shell_stifle_history(X) stifle_history(X) -# define shell_readline(X) readline(X) - -#elif HAVE_LINENOISE - -# include "linenoise.h" -# define shell_add_history(X) linenoiseHistoryAdd(X) -# define shell_read_history(X) linenoiseHistoryLoad(X) -# define shell_write_history(X) linenoiseHistorySave(X) -# define shell_stifle_history(X) linenoiseHistorySetMaxLen(X) -# define shell_readline(X) linenoise(X) - -#else - -# define shell_read_history(X) -# define shell_write_history(X) -# define shell_stifle_history(X) - -# define SHELL_USE_LOCAL_GETLINE 1 -#endif - - -#if defined(_WIN32) || defined(WIN32) -# include -# include -# define isatty(h) _isatty(h) -# ifndef access -# define access(f,m) _access((f),(m)) -# endif -# undef popen -# define popen _popen -# undef pclose -# define pclose _pclose -#else - /* Make sure isatty() has a prototype. */ - extern int isatty(int); - -# if !defined(__RTP__) && !defined(_WRS_KERNEL) - /* popen and pclose are not C89 functions and so are - ** sometimes omitted from the header */ - extern FILE *popen(const char*,const char*); - extern int pclose(FILE*); -# else -# define SQLITE_OMIT_POPEN 1 -# endif -#endif - -#if defined(_WIN32_WCE) -/* Windows CE (arm-wince-mingw32ce-gcc) does not provide isatty() - * thus we always assume that we have a console. That can be - * overridden with the -batch command line option. - */ -#define isatty(x) 1 -#endif - -/* ctype macros that work with signed characters */ -#define IsSpace(X) isspace((unsigned char)X) -#define IsDigit(X) isdigit((unsigned char)X) -#define ToLower(X) (char)tolower((unsigned char)X) - -/* On Windows, we normally run with output mode of TEXT so that \n characters -** are automatically translated into \r\n. However, this behavior needs -** to be disabled in some cases (ex: when generating CSV output and when -** rendering quoted strings that contain \n characters). The following -** routines take care of that. -*/ -#if defined(_WIN32) || defined(WIN32) -static void setBinaryMode(FILE *out){ - fflush(out); - _setmode(_fileno(out), _O_BINARY); -} -static void setTextMode(FILE *out){ - fflush(out); - _setmode(_fileno(out), _O_TEXT); -} -#else -# define setBinaryMode(X) -# define setTextMode(X) -#endif - - -/* True if the timer is enabled */ -static int enableTimer = 0; - -/* Return the current wall-clock time */ -static sqlite3_int64 timeOfDay(void){ - static sqlite3_vfs *clockVfs = 0; - sqlite3_int64 t; - if( clockVfs==0 ) clockVfs = sqlite3_vfs_find(0); - if( clockVfs->iVersion>=2 && clockVfs->xCurrentTimeInt64!=0 ){ - clockVfs->xCurrentTimeInt64(clockVfs, &t); - }else{ - double r; - clockVfs->xCurrentTime(clockVfs, &r); - t = (sqlite3_int64)(r*86400000.0); - } - return t; -} - -#if !defined(_WIN32) && !defined(WIN32) && !defined(__minux) -#include -#include - -/* VxWorks does not support getrusage() as far as we can determine */ -#if defined(_WRS_KERNEL) || defined(__RTP__) -struct rusage { - struct timeval ru_utime; /* user CPU time used */ - struct timeval ru_stime; /* system CPU time used */ -}; -#define getrusage(A,B) memset(B,0,sizeof(*B)) -#endif - -/* Saved resource information for the beginning of an operation */ -static struct rusage sBegin; /* CPU time at start */ -static sqlite3_int64 iBegin; /* Wall-clock time at start */ - -/* -** Begin timing an operation -*/ -static void beginTimer(void){ - if( enableTimer ){ - getrusage(RUSAGE_SELF, &sBegin); - iBegin = timeOfDay(); - } -} - -/* Return the difference of two time_structs in seconds */ -static double timeDiff(struct timeval *pStart, struct timeval *pEnd){ - return (pEnd->tv_usec - pStart->tv_usec)*0.000001 + - (double)(pEnd->tv_sec - pStart->tv_sec); -} - -/* -** Print the timing results. -*/ -static void endTimer(void){ - if( enableTimer ){ - sqlite3_int64 iEnd = timeOfDay(); - struct rusage sEnd; - getrusage(RUSAGE_SELF, &sEnd); - printf("Run Time: real %.3f user %f sys %f\n", - (iEnd - iBegin)*0.001, - timeDiff(&sBegin.ru_utime, &sEnd.ru_utime), - timeDiff(&sBegin.ru_stime, &sEnd.ru_stime)); - } -} - -#define BEGIN_TIMER beginTimer() -#define END_TIMER endTimer() -#define HAS_TIMER 1 - -#elif (defined(_WIN32) || defined(WIN32)) - -#include - -/* Saved resource information for the beginning of an operation */ -static HANDLE hProcess; -static FILETIME ftKernelBegin; -static FILETIME ftUserBegin; -static sqlite3_int64 ftWallBegin; -typedef BOOL (WINAPI *GETPROCTIMES)(HANDLE, LPFILETIME, LPFILETIME, - LPFILETIME, LPFILETIME); -static GETPROCTIMES getProcessTimesAddr = NULL; - -/* -** Check to see if we have timer support. Return 1 if necessary -** support found (or found previously). -*/ -static int hasTimer(void){ - if( getProcessTimesAddr ){ - return 1; - } else { - /* GetProcessTimes() isn't supported in WIN95 and some other Windows - ** versions. See if the version we are running on has it, and if it - ** does, save off a pointer to it and the current process handle. - */ - hProcess = GetCurrentProcess(); - if( hProcess ){ - HINSTANCE hinstLib = LoadLibrary(TEXT("Kernel32.dll")); - if( NULL != hinstLib ){ - getProcessTimesAddr = - (GETPROCTIMES) GetProcAddress(hinstLib, "GetProcessTimes"); - if( NULL != getProcessTimesAddr ){ - return 1; - } - FreeLibrary(hinstLib); - } - } - } - return 0; -} - -/* -** Begin timing an operation -*/ -static void beginTimer(void){ - if( enableTimer && getProcessTimesAddr ){ - FILETIME ftCreation, ftExit; - getProcessTimesAddr(hProcess,&ftCreation,&ftExit, - &ftKernelBegin,&ftUserBegin); - ftWallBegin = timeOfDay(); - } -} - -/* Return the difference of two FILETIME structs in seconds */ -static double timeDiff(FILETIME *pStart, FILETIME *pEnd){ - sqlite_int64 i64Start = *((sqlite_int64 *) pStart); - sqlite_int64 i64End = *((sqlite_int64 *) pEnd); - return (double) ((i64End - i64Start) / 10000000.0); -} - -/* -** Print the timing results. -*/ -static void endTimer(void){ - if( enableTimer && getProcessTimesAddr){ - FILETIME ftCreation, ftExit, ftKernelEnd, ftUserEnd; - sqlite3_int64 ftWallEnd = timeOfDay(); - getProcessTimesAddr(hProcess,&ftCreation,&ftExit,&ftKernelEnd,&ftUserEnd); - printf("Run Time: real %.3f user %f sys %f\n", - (ftWallEnd - ftWallBegin)*0.001, - timeDiff(&ftUserBegin, &ftUserEnd), - timeDiff(&ftKernelBegin, &ftKernelEnd)); - } -} - -#define BEGIN_TIMER beginTimer() -#define END_TIMER endTimer() -#define HAS_TIMER hasTimer() - -#else -#define BEGIN_TIMER -#define END_TIMER -#define HAS_TIMER 0 -#endif - -/* -** Used to prevent warnings about unused parameters -*/ -#define UNUSED_PARAMETER(x) (void)(x) - -/* -** If the following flag is set, then command execution stops -** at an error if we are not interactive. -*/ -static int bail_on_error = 0; - -/* -** Threat stdin as an interactive input if the following variable -** is true. Otherwise, assume stdin is connected to a file or pipe. -*/ -static int stdin_is_interactive = 1; - -/* -** On Windows systems we have to know if standard output is a console -** in order to translate UTF-8 into MBCS. The following variable is -** true if translation is required. -*/ -static int stdout_is_console = 1; - -/* -** The following is the open SQLite database. We make a pointer -** to this database a static variable so that it can be accessed -** by the SIGINT handler to interrupt database processing. -*/ -static sqlite3 *globalDb = 0; - -/* -** True if an interrupt (Control-C) has been received. -*/ -static volatile int seenInterrupt = 0; - -/* -** This is the name of our program. It is set in main(), used -** in a number of other places, mostly for error messages. -*/ -static char *Argv0; - -/* -** Prompt strings. Initialized in main. Settable with -** .prompt main continue -*/ -static char mainPrompt[20]; /* First line prompt. default: "sqlite> "*/ -static char continuePrompt[20]; /* Continuation prompt. default: " ...> " */ - -/* -** Write I/O traces to the following stream. -*/ -#ifdef SQLITE_ENABLE_IOTRACE -static FILE *iotrace = 0; -#endif - -/* -** This routine works like printf in that its first argument is a -** format string and subsequent arguments are values to be substituted -** in place of % fields. The result of formatting this string -** is written to iotrace. -*/ -#ifdef SQLITE_ENABLE_IOTRACE -static void SQLITE_CDECL iotracePrintf(const char *zFormat, ...){ - va_list ap; - char *z; - if( iotrace==0 ) return; - va_start(ap, zFormat); - z = sqlite3_vmprintf(zFormat, ap); - va_end(ap); - fprintf(iotrace, "%s", z); - sqlite3_free(z); -} -#endif - - -/* -** Determines if a string is a number of not. -*/ -static int isNumber(const char *z, int *realnum){ - if( *z=='-' || *z=='+' ) z++; - if( !IsDigit(*z) ){ - return 0; - } - z++; - if( realnum ) *realnum = 0; - while( IsDigit(*z) ){ z++; } - if( *z=='.' ){ - z++; - if( !IsDigit(*z) ) return 0; - while( IsDigit(*z) ){ z++; } - if( realnum ) *realnum = 1; - } - if( *z=='e' || *z=='E' ){ - z++; - if( *z=='+' || *z=='-' ) z++; - if( !IsDigit(*z) ) return 0; - while( IsDigit(*z) ){ z++; } - if( realnum ) *realnum = 1; - } - return *z==0; -} - -/* -** A global char* and an SQL function to access its current value -** from within an SQL statement. This program used to use the -** sqlite_exec_printf() API to substitue a string into an SQL statement. -** The correct way to do this with sqlite3 is to use the bind API, but -** since the shell is built around the callback paradigm it would be a lot -** of work. Instead just use this hack, which is quite harmless. -*/ -static const char *zShellStatic = 0; -static void shellstaticFunc( - sqlite3_context *context, - int argc, - sqlite3_value **argv -){ - assert( 0==argc ); - assert( zShellStatic ); - UNUSED_PARAMETER(argc); - UNUSED_PARAMETER(argv); - sqlite3_result_text(context, zShellStatic, -1, SQLITE_STATIC); -} - - -/* -** Compute a string length that is limited to what can be stored in -** lower 30 bits of a 32-bit signed integer. -*/ -static int strlen30(const char *z){ - const char *z2 = z; - while( *z2 ){ z2++; } - return 0x3fffffff & (int)(z2 - z); -} - -/* -** This routine reads a line of text from FILE in, stores -** the text in memory obtained from malloc() and returns a pointer -** to the text. NULL is returned at end of file, or if malloc() -** fails. -** -** If zLine is not NULL then it is a malloced buffer returned from -** a previous call to this routine that may be reused. -*/ -static char *local_getline(char *zLine, FILE *in){ - int nLine = zLine==0 ? 0 : 100; - int n = 0; - - while( 1 ){ - if( n+100>nLine ){ - nLine = nLine*2 + 100; - zLine = realloc(zLine, nLine); - if( zLine==0 ) return 0; - } - if( fgets(&zLine[n], nLine - n, in)==0 ){ - if( n==0 ){ - free(zLine); - return 0; - } - zLine[n] = 0; - break; - } - while( zLine[n] ) n++; - if( n>0 && zLine[n-1]=='\n' ){ - n--; - if( n>0 && zLine[n-1]=='\r' ) n--; - zLine[n] = 0; - break; - } - } -#if defined(_WIN32) || defined(WIN32) - /* For interactive input on Windows systems, translate the - ** multi-byte characterset characters into UTF-8. */ - if( stdin_is_interactive ){ - extern char *sqlite3_win32_mbcs_to_utf8(const char*); - char *zTrans = sqlite3_win32_mbcs_to_utf8(zLine); - if( zTrans ){ - int nTrans = strlen30(zTrans)+1; - if( nTrans>nLine ){ - zLine = realloc(zLine, nTrans); - if( zLine==0 ){ - sqlite3_free(zTrans); - return 0; - } - } - memcpy(zLine, zTrans, nTrans); - sqlite3_free(zTrans); - } - } -#endif /* defined(_WIN32) || defined(WIN32) */ - return zLine; -} - -/* -** Retrieve a single line of input text. -** -** If in==0 then read from standard input and prompt before each line. -** If isContinuation is true, then a continuation prompt is appropriate. -** If isContinuation is zero, then the main prompt should be used. -** -** If zPrior is not NULL then it is a buffer from a prior call to this -** routine that can be reused. -** -** The result is stored in space obtained from malloc() and must either -** be freed by the caller or else passed back into this routine via the -** zPrior argument for reuse. -*/ -static char *one_input_line(FILE *in, char *zPrior, int isContinuation){ - char *zPrompt; - char *zResult; - if( in!=0 ){ - zResult = local_getline(zPrior, in); - }else{ - zPrompt = isContinuation ? continuePrompt : mainPrompt; -#if SHELL_USE_LOCAL_GETLINE - printf("%s", zPrompt); - fflush(stdout); - zResult = local_getline(zPrior, stdin); -#else - free(zPrior); - zResult = shell_readline(zPrompt); - if( zResult && *zResult ) shell_add_history(zResult); -#endif - } - return zResult; -} - -/* -** Render output like fprintf(). Except, if the output is going to the -** console and if this is running on a Windows machine, translate the -** output from UTF-8 into MBCS. -*/ -#if defined(_WIN32) || defined(WIN32) -void utf8_printf(FILE *out, const char *zFormat, ...){ - va_list ap; - va_start(ap, zFormat); - if( stdout_is_console && (out==stdout || out==stderr) ){ - extern char *sqlite3_win32_utf8_to_mbcs(const char*); - char *z1 = sqlite3_vmprintf(zFormat, ap); - char *z2 = sqlite3_win32_utf8_to_mbcs(z1); - sqlite3_free(z1); - fputs(z2, out); - sqlite3_free(z2); - }else{ - vfprintf(out, zFormat, ap); - } - va_end(ap); -} -#elif !defined(utf8_printf) -# define utf8_printf fprintf -#endif - -/* -** Render output like fprintf(). This should not be used on anything that -** includes string formatting (e.g. "%s"). -*/ -#if !defined(raw_printf) -# define raw_printf fprintf -#endif - -/* -** Shell output mode information from before ".explain on", -** saved so that it can be restored by ".explain off" -*/ -typedef struct SavedModeInfo SavedModeInfo; -struct SavedModeInfo { - int valid; /* Is there legit data in here? */ - int mode; /* Mode prior to ".explain on" */ - int showHeader; /* The ".header" setting prior to ".explain on" */ - int colWidth[100]; /* Column widths prior to ".explain on" */ -}; - -/* -** State information about the database connection is contained in an -** instance of the following structure. -*/ -typedef struct ShellState ShellState; -struct ShellState { - sqlite3 *db; /* The database */ - int echoOn; /* True to echo input commands */ - int autoEQP; /* Run EXPLAIN QUERY PLAN prior to seach SQL stmt */ - int statsOn; /* True to display memory stats before each finalize */ - int scanstatsOn; /* True to display scan stats before each finalize */ - int countChanges; /* True to display change counts */ - int backslashOn; /* Resolve C-style \x escapes in SQL input text */ - int outCount; /* Revert to stdout when reaching zero */ - int cnt; /* Number of records displayed so far */ - FILE *out; /* Write results here */ - FILE *traceOut; /* Output for sqlite3_trace() */ - int nErr; /* Number of errors seen */ - int mode; /* An output mode setting */ - int writableSchema; /* True if PRAGMA writable_schema=ON */ - int showHeader; /* True to show column names in List or Column mode */ - unsigned shellFlgs; /* Various flags */ - char *zDestTable; /* Name of destination table when MODE_Insert */ - char colSeparator[20]; /* Column separator character for several modes */ - char rowSeparator[20]; /* Row separator character for MODE_Ascii */ - int colWidth[100]; /* Requested width of each column when in column mode*/ - int actualWidth[100]; /* Actual width of each column */ - char nullValue[20]; /* The text to print when a NULL comes back from - ** the database */ - SavedModeInfo normalMode;/* Holds the mode just before .explain ON */ - char outfile[FILENAME_MAX]; /* Filename for *out */ - const char *zDbFilename; /* name of the database file */ - char *zFreeOnClose; /* Filename to free when closing */ - const char *zVfs; /* Name of VFS to use */ - sqlite3_stmt *pStmt; /* Current statement if any. */ - FILE *pLog; /* Write log output here */ - int *aiIndent; /* Array of indents used in MODE_Explain */ - int nIndent; /* Size of array aiIndent[] */ - int iIndent; /* Index of current op in aiIndent[] */ -}; - -/* -** These are the allowed shellFlgs values -*/ -#define SHFLG_Scratch 0x00001 /* The --scratch option is used */ -#define SHFLG_Pagecache 0x00002 /* The --pagecache option is used */ -#define SHFLG_Lookaside 0x00004 /* Lookaside memory is used */ - -/* -** These are the allowed modes. -*/ -#define MODE_Line 0 /* One column per line. Blank line between records */ -#define MODE_Column 1 /* One record per line in neat columns */ -#define MODE_List 2 /* One record per line with a separator */ -#define MODE_Semi 3 /* Same as MODE_List but append ";" to each line */ -#define MODE_Html 4 /* Generate an XHTML table */ -#define MODE_Insert 5 /* Generate SQL "insert" statements */ -#define MODE_Tcl 6 /* Generate ANSI-C or TCL quoted elements */ -#define MODE_Csv 7 /* Quote strings, numbers are plain */ -#define MODE_Explain 8 /* Like MODE_Column, but do not truncate data */ -#define MODE_Ascii 9 /* Use ASCII unit and record separators (0x1F/0x1E) */ - -static const char *modeDescr[] = { - "line", - "column", - "list", - "semi", - "html", - "insert", - "tcl", - "csv", - "explain", - "ascii", -}; - -/* -** These are the column/row/line separators used by the various -** import/export modes. -*/ -#define SEP_Column "|" -#define SEP_Row "\n" -#define SEP_Tab "\t" -#define SEP_Space " " -#define SEP_Comma "," -#define SEP_CrLf "\r\n" -#define SEP_Unit "\x1F" -#define SEP_Record "\x1E" - -/* -** Number of elements in an array -*/ -#define ArraySize(X) (int)(sizeof(X)/sizeof(X[0])) - -/* -** A callback for the sqlite3_log() interface. -*/ -static void shellLog(void *pArg, int iErrCode, const char *zMsg){ - ShellState *p = (ShellState*)pArg; - if( p->pLog==0 ) return; - utf8_printf(p->pLog, "(%d) %s\n", iErrCode, zMsg); - fflush(p->pLog); -} - -/* -** Output the given string as a hex-encoded blob (eg. X'1234' ) -*/ -static void output_hex_blob(FILE *out, const void *pBlob, int nBlob){ - int i; - char *zBlob = (char *)pBlob; - raw_printf(out,"X'"); - for(i=0; i0 ){ - utf8_printf(out,"%.*s",i,z); - } - if( z[i]=='<' ){ - raw_printf(out,"<"); - }else if( z[i]=='&' ){ - raw_printf(out,"&"); - }else if( z[i]=='>' ){ - raw_printf(out,">"); - }else if( z[i]=='\"' ){ - raw_printf(out,"""); - }else if( z[i]=='\'' ){ - raw_printf(out,"'"); - }else{ - break; - } - z += i + 1; - } -} - -/* -** If a field contains any character identified by a 1 in the following -** array, then the string must be quoted for CSV. -*/ -static const char needCsvQuote[] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -}; - -/* -** Output a single term of CSV. Actually, p->colSeparator is used for -** the separator, which may or may not be a comma. p->nullValue is -** the null value. Strings are quoted if necessary. The separator -** is only issued if bSep is true. -*/ -static void output_csv(ShellState *p, const char *z, int bSep){ - FILE *out = p->out; - if( z==0 ){ - utf8_printf(out,"%s",p->nullValue); - }else{ - int i; - int nSep = strlen30(p->colSeparator); - for(i=0; z[i]; i++){ - if( needCsvQuote[((unsigned char*)z)[i]] - || (z[i]==p->colSeparator[0] && - (nSep==1 || memcmp(z, p->colSeparator, nSep)==0)) ){ - i = 0; - break; - } - } - if( i==0 ){ - putc('"', out); - for(i=0; z[i]; i++){ - if( z[i]=='"' ) putc('"', out); - putc(z[i], out); - } - putc('"', out); - }else{ - utf8_printf(out, "%s", z); - } - } - if( bSep ){ - utf8_printf(p->out, "%s", p->colSeparator); - } -} - -#ifdef SIGINT -/* -** This routine runs when the user presses Ctrl-C -*/ -static void interrupt_handler(int NotUsed){ - UNUSED_PARAMETER(NotUsed); - seenInterrupt++; - if( seenInterrupt>2 ) exit(1); - if( globalDb ) sqlite3_interrupt(globalDb); -} -#endif - -/* -** This is the callback routine that the shell -** invokes for each row of a query result. -*/ -static int shell_callback( - void *pArg, - int nArg, /* Number of result columns */ - char **azArg, /* Text of each result column */ - char **azCol, /* Column names */ - int *aiType /* Column types */ -){ - int i; - ShellState *p = (ShellState*)pArg; - - switch( p->mode ){ - case MODE_Line: { - int w = 5; - if( azArg==0 ) break; - for(i=0; iw ) w = len; - } - if( p->cnt++>0 ) utf8_printf(p->out, "%s", p->rowSeparator); - for(i=0; iout,"%*s = %s%s", w, azCol[i], - azArg[i] ? azArg[i] : p->nullValue, p->rowSeparator); - } - break; - } - case MODE_Explain: - case MODE_Column: { - if( p->cnt++==0 ){ - for(i=0; icolWidth) ){ - w = p->colWidth[i]; - }else{ - w = 0; - } - if( w==0 ){ - w = strlen30(azCol[i] ? azCol[i] : ""); - if( w<10 ) w = 10; - n = strlen30(azArg && azArg[i] ? azArg[i] : p->nullValue); - if( wactualWidth) ){ - p->actualWidth[i] = w; - } - if( p->showHeader ){ - if( w<0 ){ - utf8_printf(p->out,"%*.*s%s",-w,-w,azCol[i], - i==nArg-1 ? p->rowSeparator : " "); - }else{ - utf8_printf(p->out,"%-*.*s%s",w,w,azCol[i], - i==nArg-1 ? p->rowSeparator : " "); - } - } - } - if( p->showHeader ){ - for(i=0; iactualWidth) ){ - w = p->actualWidth[i]; - if( w<0 ) w = -w; - }else{ - w = 10; - } - utf8_printf(p->out,"%-*.*s%s",w,w, - "----------------------------------------------------------" - "----------------------------------------------------------", - i==nArg-1 ? p->rowSeparator : " "); - } - } - } - if( azArg==0 ) break; - for(i=0; iactualWidth) ){ - w = p->actualWidth[i]; - }else{ - w = 10; - } - if( p->mode==MODE_Explain && azArg[i] && strlen30(azArg[i])>w ){ - w = strlen30(azArg[i]); - } - if( i==1 && p->aiIndent && p->pStmt ){ - if( p->iIndentnIndent ){ - utf8_printf(p->out, "%*.s", p->aiIndent[p->iIndent], ""); - } - p->iIndent++; - } - if( w<0 ){ - utf8_printf(p->out,"%*.*s%s",-w,-w, - azArg[i] ? azArg[i] : p->nullValue, - i==nArg-1 ? p->rowSeparator : " "); - }else{ - utf8_printf(p->out,"%-*.*s%s",w,w, - azArg[i] ? azArg[i] : p->nullValue, - i==nArg-1 ? p->rowSeparator : " "); - } - } - break; - } - case MODE_Semi: - case MODE_List: { - if( p->cnt++==0 && p->showHeader ){ - for(i=0; iout,"%s%s",azCol[i], - i==nArg-1 ? p->rowSeparator : p->colSeparator); - } - } - if( azArg==0 ) break; - for(i=0; inullValue; - utf8_printf(p->out, "%s", z); - if( iout, "%s", p->colSeparator); - }else if( p->mode==MODE_Semi ){ - utf8_printf(p->out, ";%s", p->rowSeparator); - }else{ - utf8_printf(p->out, "%s", p->rowSeparator); - } - } - break; - } - case MODE_Html: { - if( p->cnt++==0 && p->showHeader ){ - raw_printf(p->out,""); - for(i=0; iout,"\n"); - } - raw_printf(p->out,"\n"); - } - if( azArg==0 ) break; - raw_printf(p->out,""); - for(i=0; iout,"\n"); - } - raw_printf(p->out,"\n"); - break; - } - case MODE_Tcl: { - if( p->cnt++==0 && p->showHeader ){ - for(i=0; iout,azCol[i] ? azCol[i] : ""); - if(iout, "%s", p->colSeparator); - } - utf8_printf(p->out, "%s", p->rowSeparator); - } - if( azArg==0 ) break; - for(i=0; iout, azArg[i] ? azArg[i] : p->nullValue); - if(iout, "%s", p->colSeparator); - } - utf8_printf(p->out, "%s", p->rowSeparator); - break; - } - case MODE_Csv: { - setBinaryMode(p->out); - if( p->cnt++==0 && p->showHeader ){ - for(i=0; iout, "%s", p->rowSeparator); - } - if( nArg>0 ){ - for(i=0; iout, "%s", p->rowSeparator); - } - setTextMode(p->out); - break; - } - case MODE_Insert: { - p->cnt++; - if( azArg==0 ) break; - utf8_printf(p->out,"INSERT INTO %s",p->zDestTable); - if( p->showHeader ){ - raw_printf(p->out,"("); - for(i=0; i0 ? ",": ""; - utf8_printf(p->out, "%s%s", zSep, azCol[i]); - } - raw_printf(p->out,")"); - } - raw_printf(p->out," VALUES("); - for(i=0; i0 ? ",": ""; - if( (azArg[i]==0) || (aiType && aiType[i]==SQLITE_NULL) ){ - utf8_printf(p->out,"%sNULL",zSep); - }else if( aiType && aiType[i]==SQLITE_TEXT ){ - if( zSep[0] ) utf8_printf(p->out,"%s",zSep); - output_quoted_string(p->out, azArg[i]); - }else if( aiType && (aiType[i]==SQLITE_INTEGER - || aiType[i]==SQLITE_FLOAT) ){ - utf8_printf(p->out,"%s%s",zSep, azArg[i]); - }else if( aiType && aiType[i]==SQLITE_BLOB && p->pStmt ){ - const void *pBlob = sqlite3_column_blob(p->pStmt, i); - int nBlob = sqlite3_column_bytes(p->pStmt, i); - if( zSep[0] ) utf8_printf(p->out,"%s",zSep); - output_hex_blob(p->out, pBlob, nBlob); - }else if( isNumber(azArg[i], 0) ){ - utf8_printf(p->out,"%s%s",zSep, azArg[i]); - }else{ - if( zSep[0] ) utf8_printf(p->out,"%s",zSep); - output_quoted_string(p->out, azArg[i]); - } - } - raw_printf(p->out,");\n"); - break; - } - case MODE_Ascii: { - if( p->cnt++==0 && p->showHeader ){ - for(i=0; i0 ) utf8_printf(p->out, "%s", p->colSeparator); - utf8_printf(p->out,"%s",azCol[i] ? azCol[i] : ""); - } - utf8_printf(p->out, "%s", p->rowSeparator); - } - if( azArg==0 ) break; - for(i=0; i0 ) utf8_printf(p->out, "%s", p->colSeparator); - utf8_printf(p->out,"%s",azArg[i] ? azArg[i] : p->nullValue); - } - utf8_printf(p->out, "%s", p->rowSeparator); - break; - } - } - return 0; -} - -/* -** This is the callback routine that the SQLite library -** invokes for each row of a query result. -*/ -static int callback(void *pArg, int nArg, char **azArg, char **azCol){ - /* since we don't have type info, call the shell_callback with a NULL value */ - return shell_callback(pArg, nArg, azArg, azCol, NULL); -} - -/* -** Set the destination table field of the ShellState structure to -** the name of the table given. Escape any quote characters in the -** table name. -*/ -static void set_table_name(ShellState *p, const char *zName){ - int i, n; - int needQuote; - char *z; - - if( p->zDestTable ){ - free(p->zDestTable); - p->zDestTable = 0; - } - if( zName==0 ) return; - needQuote = !isalpha((unsigned char)*zName) && *zName!='_'; - for(i=n=0; zName[i]; i++, n++){ - if( !isalnum((unsigned char)zName[i]) && zName[i]!='_' ){ - needQuote = 1; - if( zName[i]=='\'' ) n++; - } - } - if( needQuote ) n += 2; - z = p->zDestTable = malloc( n+1 ); - if( z==0 ){ - raw_printf(stderr,"Error: out of memory\n"); - exit(1); - } - n = 0; - if( needQuote ) z[n++] = '\''; - for(i=0; zName[i]; i++){ - z[n++] = zName[i]; - if( zName[i]=='\'' ) z[n++] = '\''; - } - if( needQuote ) z[n++] = '\''; - z[n] = 0; -} - -/* zIn is either a pointer to a NULL-terminated string in memory obtained -** from malloc(), or a NULL pointer. The string pointed to by zAppend is -** added to zIn, and the result returned in memory obtained from malloc(). -** zIn, if it was not NULL, is freed. -** -** If the third argument, quote, is not '\0', then it is used as a -** quote character for zAppend. -*/ -static char *appendText(char *zIn, char const *zAppend, char quote){ - int len; - int i; - int nAppend = strlen30(zAppend); - int nIn = (zIn?strlen30(zIn):0); - - len = nAppend+nIn+1; - if( quote ){ - len += 2; - for(i=0; idb, zSelect, -1, &pSelect, 0); - if( rc!=SQLITE_OK || !pSelect ){ - utf8_printf(p->out, "/**** ERROR: (%d) %s *****/\n", rc, - sqlite3_errmsg(p->db)); - if( (rc&0xff)!=SQLITE_CORRUPT ) p->nErr++; - return rc; - } - rc = sqlite3_step(pSelect); - nResult = sqlite3_column_count(pSelect); - while( rc==SQLITE_ROW ){ - if( zFirstRow ){ - utf8_printf(p->out, "%s", zFirstRow); - zFirstRow = 0; - } - z = (const char*)sqlite3_column_text(pSelect, 0); - utf8_printf(p->out, "%s", z); - for(i=1; iout, ",%s", sqlite3_column_text(pSelect, i)); - } - if( z==0 ) z = ""; - while( z[0] && (z[0]!='-' || z[1]!='-') ) z++; - if( z[0] ){ - raw_printf(p->out, "\n;\n"); - }else{ - raw_printf(p->out, ";\n"); - } - rc = sqlite3_step(pSelect); - } - rc = sqlite3_finalize(pSelect); - if( rc!=SQLITE_OK ){ - utf8_printf(p->out, "/**** ERROR: (%d) %s *****/\n", rc, - sqlite3_errmsg(p->db)); - if( (rc&0xff)!=SQLITE_CORRUPT ) p->nErr++; - } - return rc; -} - -/* -** Allocate space and save off current error string. -*/ -static char *save_err_msg( - sqlite3 *db /* Database to query */ -){ - int nErrMsg = 1+strlen30(sqlite3_errmsg(db)); - char *zErrMsg = sqlite3_malloc64(nErrMsg); - if( zErrMsg ){ - memcpy(zErrMsg, sqlite3_errmsg(db), nErrMsg); - } - return zErrMsg; -} - -/* -** Display memory stats. -*/ -static int display_stats( - sqlite3 *db, /* Database to query */ - ShellState *pArg, /* Pointer to ShellState */ - int bReset /* True to reset the stats */ -){ - int iCur; - int iHiwtr; - - if( pArg && pArg->out ){ - - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_MEMORY_USED, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, - "Memory Used: %d (max %d) bytes\n", - iCur, iHiwtr); - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_MALLOC_COUNT, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Number of Outstanding Allocations: %d (max %d)\n", - iCur, iHiwtr); - if( pArg->shellFlgs & SHFLG_Pagecache ){ - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_PAGECACHE_USED, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, - "Number of Pcache Pages Used: %d (max %d) pages\n", - iCur, iHiwtr); - } - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_PAGECACHE_OVERFLOW, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, - "Number of Pcache Overflow Bytes: %d (max %d) bytes\n", - iCur, iHiwtr); - if( pArg->shellFlgs & SHFLG_Scratch ){ - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_SCRATCH_USED, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, - "Number of Scratch Allocations Used: %d (max %d)\n", - iCur, iHiwtr); - } - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_SCRATCH_OVERFLOW, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, - "Number of Scratch Overflow Bytes: %d (max %d) bytes\n", - iCur, iHiwtr); - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_MALLOC_SIZE, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Largest Allocation: %d bytes\n", - iHiwtr); - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_PAGECACHE_SIZE, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Largest Pcache Allocation: %d bytes\n", - iHiwtr); - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_SCRATCH_SIZE, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Largest Scratch Allocation: %d bytes\n", - iHiwtr); -#ifdef YYTRACKMAXSTACKDEPTH - iHiwtr = iCur = -1; - sqlite3_status(SQLITE_STATUS_PARSER_STACK, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Deepest Parser Stack: %d (max %d)\n", - iCur, iHiwtr); -#endif - } - - if( pArg && pArg->out && db ){ - if( pArg->shellFlgs & SHFLG_Lookaside ){ - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_USED, - &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, - "Lookaside Slots Used: %d (max %d)\n", - iCur, iHiwtr); - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_HIT, - &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Successful lookaside attempts: %d\n", - iHiwtr); - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, - &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Lookaside failures due to size: %d\n", - iHiwtr); - sqlite3_db_status(db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, - &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Lookaside failures due to OOM: %d\n", - iHiwtr); - } - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_USED, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Pager Heap Usage: %d bytes\n", - iCur); - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_HIT, &iCur, &iHiwtr, 1); - raw_printf(pArg->out, "Page cache hits: %d\n", iCur); - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_MISS, &iCur, &iHiwtr, 1); - raw_printf(pArg->out, "Page cache misses: %d\n", iCur); - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_WRITE, &iCur, &iHiwtr, 1); - raw_printf(pArg->out, "Page cache writes: %d\n", iCur); - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_SCHEMA_USED, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Schema Heap Usage: %d bytes\n", - iCur); - iHiwtr = iCur = -1; - sqlite3_db_status(db, SQLITE_DBSTATUS_STMT_USED, &iCur, &iHiwtr, bReset); - raw_printf(pArg->out, "Statement Heap/Lookaside Usage: %d bytes\n", - iCur); - } - - if( pArg && pArg->out && db && pArg->pStmt ){ - iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_FULLSCAN_STEP, - bReset); - raw_printf(pArg->out, "Fullscan Steps: %d\n", iCur); - iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_SORT, bReset); - raw_printf(pArg->out, "Sort Operations: %d\n", iCur); - iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_AUTOINDEX,bReset); - raw_printf(pArg->out, "Autoindex Inserts: %d\n", iCur); - iCur = sqlite3_stmt_status(pArg->pStmt, SQLITE_STMTSTATUS_VM_STEP, bReset); - raw_printf(pArg->out, "Virtual Machine Steps: %d\n", iCur); - } - - /* Do not remove this machine readable comment: extra-stats-output-here */ - - return 0; -} - -/* -** Display scan stats. -*/ -static void display_scanstats( - sqlite3 *db, /* Database to query */ - ShellState *pArg /* Pointer to ShellState */ -){ -#ifndef SQLITE_ENABLE_STMT_SCANSTATUS - UNUSED_PARAMETER(db); - UNUSED_PARAMETER(pArg); -#else - int i, k, n, mx; - raw_printf(pArg->out, "-------- scanstats --------\n"); - mx = 0; - for(k=0; k<=mx; k++){ - double rEstLoop = 1.0; - for(i=n=0; 1; i++){ - sqlite3_stmt *p = pArg->pStmt; - sqlite3_int64 nLoop, nVisit; - double rEst; - int iSid; - const char *zExplain; - if( sqlite3_stmt_scanstatus(p, i, SQLITE_SCANSTAT_NLOOP, (void*)&nLoop) ){ - break; - } - sqlite3_stmt_scanstatus(p, i, SQLITE_SCANSTAT_SELECTID, (void*)&iSid); - if( iSid>mx ) mx = iSid; - if( iSid!=k ) continue; - if( n==0 ){ - rEstLoop = (double)nLoop; - if( k>0 ) raw_printf(pArg->out, "-------- subquery %d -------\n", k); - } - n++; - sqlite3_stmt_scanstatus(p, i, SQLITE_SCANSTAT_NVISIT, (void*)&nVisit); - sqlite3_stmt_scanstatus(p, i, SQLITE_SCANSTAT_EST, (void*)&rEst); - sqlite3_stmt_scanstatus(p, i, SQLITE_SCANSTAT_EXPLAIN, (void*)&zExplain); - utf8_printf(pArg->out, "Loop %2d: %s\n", n, zExplain); - rEstLoop *= rEst; - raw_printf(pArg->out, - " nLoop=%-8lld nRow=%-8lld estRow=%-8lld estRow/Loop=%-8g\n", - nLoop, nVisit, (sqlite3_int64)(rEstLoop+0.5), rEst - ); - } - } - raw_printf(pArg->out, "---------------------------\n"); -#endif -} - -/* -** Parameter azArray points to a zero-terminated array of strings. zStr -** points to a single nul-terminated string. Return non-zero if zStr -** is equal, according to strcmp(), to any of the strings in the array. -** Otherwise, return zero. -*/ -static int str_in_array(const char *zStr, const char **azArray){ - int i; - for(i=0; azArray[i]; i++){ - if( 0==strcmp(zStr, azArray[i]) ) return 1; - } - return 0; -} - -/* -** If compiled statement pSql appears to be an EXPLAIN statement, allocate -** and populate the ShellState.aiIndent[] array with the number of -** spaces each opcode should be indented before it is output. -** -** The indenting rules are: -** -** * For each "Next", "Prev", "VNext" or "VPrev" instruction, indent -** all opcodes that occur between the p2 jump destination and the opcode -** itself by 2 spaces. -** -** * For each "Goto", if the jump destination is earlier in the program -** and ends on one of: -** Yield SeekGt SeekLt RowSetRead Rewind -** or if the P1 parameter is one instead of zero, -** then indent all opcodes between the earlier instruction -** and "Goto" by 2 spaces. -*/ -static void explain_data_prepare(ShellState *p, sqlite3_stmt *pSql){ - const char *zSql; /* The text of the SQL statement */ - const char *z; /* Used to check if this is an EXPLAIN */ - int *abYield = 0; /* True if op is an OP_Yield */ - int nAlloc = 0; /* Allocated size of p->aiIndent[], abYield */ - int iOp; /* Index of operation in p->aiIndent[] */ - - const char *azNext[] = { "Next", "Prev", "VPrev", "VNext", "SorterNext", - "NextIfOpen", "PrevIfOpen", 0 }; - const char *azYield[] = { "Yield", "SeekLT", "SeekGT", "RowSetRead", - "Rewind", 0 }; - const char *azGoto[] = { "Goto", 0 }; - - /* Try to figure out if this is really an EXPLAIN statement. If this - ** cannot be verified, return early. */ - zSql = sqlite3_sql(pSql); - if( zSql==0 ) return; - for(z=zSql; *z==' ' || *z=='\t' || *z=='\n' || *z=='\f' || *z=='\r'; z++); - if( sqlite3_strnicmp(z, "explain", 7) ) return; - - for(iOp=0; SQLITE_ROW==sqlite3_step(pSql); iOp++){ - int i; - int iAddr = sqlite3_column_int(pSql, 0); - const char *zOp = (const char*)sqlite3_column_text(pSql, 1); - - /* Set p2 to the P2 field of the current opcode. Then, assuming that - ** p2 is an instruction address, set variable p2op to the index of that - ** instruction in the aiIndent[] array. p2 and p2op may be different if - ** the current instruction is part of a sub-program generated by an - ** SQL trigger or foreign key. */ - int p2 = sqlite3_column_int(pSql, 3); - int p2op = (p2 + (iOp-iAddr)); - - /* Grow the p->aiIndent array as required */ - if( iOp>=nAlloc ){ - nAlloc += 100; - p->aiIndent = (int*)sqlite3_realloc64(p->aiIndent, nAlloc*sizeof(int)); - abYield = (int*)sqlite3_realloc64(abYield, nAlloc*sizeof(int)); - } - abYield[iOp] = str_in_array(zOp, azYield); - p->aiIndent[iOp] = 0; - p->nIndent = iOp+1; - - if( str_in_array(zOp, azNext) ){ - for(i=p2op; iaiIndent[i] += 2; - } - if( str_in_array(zOp, azGoto) && p2opnIndent - && (abYield[p2op] || sqlite3_column_int(pSql, 2)) - ){ - for(i=p2op+1; iaiIndent[i] += 2; - } - } - - p->iIndent = 0; - sqlite3_free(abYield); - sqlite3_reset(pSql); -} - -/* -** Free the array allocated by explain_data_prepare(). -*/ -static void explain_data_delete(ShellState *p){ - sqlite3_free(p->aiIndent); - p->aiIndent = 0; - p->nIndent = 0; - p->iIndent = 0; -} - -/* -** Execute a statement or set of statements. Print -** any result rows/columns depending on the current mode -** set via the supplied callback. -** -** This is very similar to SQLite's built-in sqlite3_exec() -** function except it takes a slightly different callback -** and callback data argument. -*/ -static int shell_exec( - sqlite3 *db, /* An open database */ - const char *zSql, /* SQL to be evaluated */ - int (*xCallback)(void*,int,char**,char**,int*), /* Callback function */ - /* (not the same as sqlite3_exec) */ - ShellState *pArg, /* Pointer to ShellState */ - char **pzErrMsg /* Error msg written here */ -){ - sqlite3_stmt *pStmt = NULL; /* Statement to execute. */ - int rc = SQLITE_OK; /* Return Code */ - int rc2; - const char *zLeftover; /* Tail of unprocessed SQL */ - - if( pzErrMsg ){ - *pzErrMsg = NULL; - } - - while( zSql[0] && (SQLITE_OK == rc) ){ - rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, &zLeftover); - if( SQLITE_OK != rc ){ - if( pzErrMsg ){ - *pzErrMsg = save_err_msg(db); - } - }else{ - if( !pStmt ){ - /* this happens for a comment or white-space */ - zSql = zLeftover; - while( IsSpace(zSql[0]) ) zSql++; - continue; - } - - /* save off the prepared statment handle and reset row count */ - if( pArg ){ - pArg->pStmt = pStmt; - pArg->cnt = 0; - } - - /* echo the sql statement if echo on */ - if( pArg && pArg->echoOn ){ - const char *zStmtSql = sqlite3_sql(pStmt); - utf8_printf(pArg->out, "%s\n", zStmtSql ? zStmtSql : zSql); - } - - /* Show the EXPLAIN QUERY PLAN if .eqp is on */ - if( pArg && pArg->autoEQP ){ - sqlite3_stmt *pExplain; - char *zEQP = sqlite3_mprintf("EXPLAIN QUERY PLAN %s", - sqlite3_sql(pStmt)); - rc = sqlite3_prepare_v2(db, zEQP, -1, &pExplain, 0); - if( rc==SQLITE_OK ){ - while( sqlite3_step(pExplain)==SQLITE_ROW ){ - raw_printf(pArg->out,"--EQP-- %d,",sqlite3_column_int(pExplain, 0)); - raw_printf(pArg->out,"%d,", sqlite3_column_int(pExplain, 1)); - raw_printf(pArg->out,"%d,", sqlite3_column_int(pExplain, 2)); - utf8_printf(pArg->out,"%s\n", sqlite3_column_text(pExplain, 3)); - } - } - sqlite3_finalize(pExplain); - sqlite3_free(zEQP); - } - - /* If the shell is currently in ".explain" mode, gather the extra - ** data required to add indents to the output.*/ - if( pArg && pArg->mode==MODE_Explain ){ - explain_data_prepare(pArg, pStmt); - } - - /* perform the first step. this will tell us if we - ** have a result set or not and how wide it is. - */ - rc = sqlite3_step(pStmt); - /* if we have a result set... */ - if( SQLITE_ROW == rc ){ - /* if we have a callback... */ - if( xCallback ){ - /* allocate space for col name ptr, value ptr, and type */ - int nCol = sqlite3_column_count(pStmt); - void *pData = sqlite3_malloc64(3*nCol*sizeof(const char*) + 1); - if( !pData ){ - rc = SQLITE_NOMEM; - }else{ - char **azCols = (char **)pData; /* Names of result columns */ - char **azVals = &azCols[nCol]; /* Results */ - int *aiTypes = (int *)&azVals[nCol]; /* Result types */ - int i, x; - assert(sizeof(int) <= sizeof(char *)); - /* save off ptrs to column names */ - for(i=0; imode==MODE_Insert ){ - azVals[i] = ""; - }else{ - azVals[i] = (char*)sqlite3_column_text(pStmt, i); - } - if( !azVals[i] && (aiTypes[i]!=SQLITE_NULL) ){ - rc = SQLITE_NOMEM; - break; /* from for */ - } - } /* end for */ - - /* if data and types extracted successfully... */ - if( SQLITE_ROW == rc ){ - /* call the supplied callback with the result row data */ - if( xCallback(pArg, nCol, azVals, azCols, aiTypes) ){ - rc = SQLITE_ABORT; - }else{ - rc = sqlite3_step(pStmt); - } - } - } while( SQLITE_ROW == rc ); - sqlite3_free(pData); - } - }else{ - do{ - rc = sqlite3_step(pStmt); - } while( rc == SQLITE_ROW ); - } - } - - explain_data_delete(pArg); - - /* print usage stats if stats on */ - if( pArg && pArg->statsOn ){ - display_stats(db, pArg, 0); - } - - /* print loop-counters if required */ - if( pArg && pArg->scanstatsOn ){ - display_scanstats(db, pArg); - } - - /* Finalize the statement just executed. If this fails, save a - ** copy of the error message. Otherwise, set zSql to point to the - ** next statement to execute. */ - rc2 = sqlite3_finalize(pStmt); - if( rc!=SQLITE_NOMEM ) rc = rc2; - if( rc==SQLITE_OK ){ - zSql = zLeftover; - while( IsSpace(zSql[0]) ) zSql++; - }else if( pzErrMsg ){ - *pzErrMsg = save_err_msg(db); - } - - /* clear saved stmt handle */ - if( pArg ){ - pArg->pStmt = NULL; - } - } - } /* end while */ - - return rc; -} - - -/* -** This is a different callback routine used for dumping the database. -** Each row received by this callback consists of a table name, -** the table type ("index" or "table") and SQL to create the table. -** This routine should print text sufficient to recreate the table. -*/ -static int dump_callback(void *pArg, int nArg, char **azArg, char **azCol){ - int rc; - const char *zTable; - const char *zType; - const char *zSql; - const char *zPrepStmt = 0; - ShellState *p = (ShellState *)pArg; - - UNUSED_PARAMETER(azCol); - if( nArg!=3 ) return 1; - zTable = azArg[0]; - zType = azArg[1]; - zSql = azArg[2]; - - if( strcmp(zTable, "sqlite_sequence")==0 ){ - zPrepStmt = "DELETE FROM sqlite_sequence;\n"; - }else if( sqlite3_strglob("sqlite_stat?", zTable)==0 ){ - raw_printf(p->out, "ANALYZE sqlite_master;\n"); - }else if( strncmp(zTable, "sqlite_", 7)==0 ){ - return 0; - }else if( strncmp(zSql, "CREATE VIRTUAL TABLE", 20)==0 ){ - char *zIns; - if( !p->writableSchema ){ - raw_printf(p->out, "PRAGMA writable_schema=ON;\n"); - p->writableSchema = 1; - } - zIns = sqlite3_mprintf( - "INSERT INTO sqlite_master(type,name,tbl_name,rootpage,sql)" - "VALUES('table','%q','%q',0,'%q');", - zTable, zTable, zSql); - utf8_printf(p->out, "%s\n", zIns); - sqlite3_free(zIns); - return 0; - }else{ - utf8_printf(p->out, "%s;\n", zSql); - } - - if( strcmp(zType, "table")==0 ){ - sqlite3_stmt *pTableInfo = 0; - char *zSelect = 0; - char *zTableInfo = 0; - char *zTmp = 0; - int nRow = 0; - - zTableInfo = appendText(zTableInfo, "PRAGMA table_info(", 0); - zTableInfo = appendText(zTableInfo, zTable, '"'); - zTableInfo = appendText(zTableInfo, ");", 0); - - rc = sqlite3_prepare_v2(p->db, zTableInfo, -1, &pTableInfo, 0); - free(zTableInfo); - if( rc!=SQLITE_OK || !pTableInfo ){ - return 1; - } - - zSelect = appendText(zSelect, "SELECT 'INSERT INTO ' || ", 0); - /* Always quote the table name, even if it appears to be pure ascii, - ** in case it is a keyword. Ex: INSERT INTO "table" ... */ - zTmp = appendText(zTmp, zTable, '"'); - if( zTmp ){ - zSelect = appendText(zSelect, zTmp, '\''); - free(zTmp); - } - zSelect = appendText(zSelect, " || ' VALUES(' || ", 0); - rc = sqlite3_step(pTableInfo); - while( rc==SQLITE_ROW ){ - const char *zText = (const char *)sqlite3_column_text(pTableInfo, 1); - zSelect = appendText(zSelect, "quote(", 0); - zSelect = appendText(zSelect, zText, '"'); - rc = sqlite3_step(pTableInfo); - if( rc==SQLITE_ROW ){ - zSelect = appendText(zSelect, "), ", 0); - }else{ - zSelect = appendText(zSelect, ") ", 0); - } - nRow++; - } - rc = sqlite3_finalize(pTableInfo); - if( rc!=SQLITE_OK || nRow==0 ){ - free(zSelect); - return 1; - } - zSelect = appendText(zSelect, "|| ')' FROM ", 0); - zSelect = appendText(zSelect, zTable, '"'); - - rc = run_table_dump_query(p, zSelect, zPrepStmt); - if( rc==SQLITE_CORRUPT ){ - zSelect = appendText(zSelect, " ORDER BY rowid DESC", 0); - run_table_dump_query(p, zSelect, 0); - } - free(zSelect); - } - return 0; -} - -/* -** Run zQuery. Use dump_callback() as the callback routine so that -** the contents of the query are output as SQL statements. -** -** If we get a SQLITE_CORRUPT error, rerun the query after appending -** "ORDER BY rowid DESC" to the end. -*/ -static int run_schema_dump_query( - ShellState *p, - const char *zQuery -){ - int rc; - char *zErr = 0; - rc = sqlite3_exec(p->db, zQuery, dump_callback, p, &zErr); - if( rc==SQLITE_CORRUPT ){ - char *zQ2; - int len = strlen30(zQuery); - raw_printf(p->out, "/****** CORRUPTION ERROR *******/\n"); - if( zErr ){ - utf8_printf(p->out, "/****** %s ******/\n", zErr); - sqlite3_free(zErr); - zErr = 0; - } - zQ2 = malloc( len+100 ); - if( zQ2==0 ) return rc; - sqlite3_snprintf(len+100, zQ2, "%s ORDER BY rowid DESC", zQuery); - rc = sqlite3_exec(p->db, zQ2, dump_callback, p, &zErr); - if( rc ){ - utf8_printf(p->out, "/****** ERROR: %s ******/\n", zErr); - }else{ - rc = SQLITE_CORRUPT; - } - sqlite3_free(zErr); - free(zQ2); - } - return rc; -} - -/* -** Text of a help message -*/ -static char zHelp[] = - ".backup ?DB? FILE Backup DB (default \"main\") to FILE\n" - ".bail on|off Stop after hitting an error. Default OFF\n" - ".binary on|off Turn binary output on or off. Default OFF\n" - ".changes on|off Show number of rows changed by SQL\n" - ".clone NEWDB Clone data into NEWDB from the existing database\n" - ".databases List names and files of attached databases\n" - ".dbinfo ?DB? Show status information about the database\n" - ".dump ?TABLE? ... Dump the database in an SQL text format\n" - " If TABLE specified, only dump tables matching\n" - " LIKE pattern TABLE.\n" - ".echo on|off Turn command echo on or off\n" - ".eqp on|off Enable or disable automatic EXPLAIN QUERY PLAN\n" - ".exit Exit this program\n" - ".explain ?on|off? Turn output mode suitable for EXPLAIN on or off.\n" - " With no args, it turns EXPLAIN on.\n" - ".fullschema Show schema and the content of sqlite_stat tables\n" - ".headers on|off Turn display of headers on or off\n" - ".help Show this message\n" - ".import FILE TABLE Import data from FILE into TABLE\n" - ".indexes ?TABLE? Show names of all indexes\n" - " If TABLE specified, only show indexes for tables\n" - " matching LIKE pattern TABLE.\n" -#ifdef SQLITE_ENABLE_IOTRACE - ".iotrace FILE Enable I/O diagnostic logging to FILE\n" -#endif - ".limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT\n" -#ifndef SQLITE_OMIT_LOAD_EXTENSION - ".load FILE ?ENTRY? Load an extension library\n" -#endif - ".log FILE|off Turn logging on or off. FILE can be stderr/stdout\n" - ".mode MODE ?TABLE? Set output mode where MODE is one of:\n" - " ascii Columns/rows delimited by 0x1F and 0x1E\n" - " csv Comma-separated values\n" - " column Left-aligned columns. (See .width)\n" - " html HTML
"); - output_html_string(p->out, azCol[i]); - raw_printf(p->out,"
"); - output_html_string(p->out, azArg[i] ? azArg[i] : p->nullValue); - raw_printf(p->out,"
code\n" - " insert SQL insert statements for TABLE\n" - " line One value per line\n" - " list Values delimited by .separator strings\n" - " tabs Tab-separated values\n" - " tcl TCL list elements\n" - ".nullvalue STRING Use STRING in place of NULL values\n" - ".once FILENAME Output for the next SQL command only to FILENAME\n" - ".open ?FILENAME? Close existing database and reopen FILENAME\n" - ".output ?FILENAME? Send output to FILENAME or stdout\n" - ".print STRING... Print literal STRING\n" - ".prompt MAIN CONTINUE Replace the standard prompts\n" - ".quit Exit this program\n" - ".read FILENAME Execute SQL in FILENAME\n" - ".restore ?DB? FILE Restore content of DB (default \"main\") from FILE\n" - ".save FILE Write in-memory database into FILE\n" - ".scanstats on|off Turn sqlite3_stmt_scanstatus() metrics on or off\n" - ".schema ?TABLE? Show the CREATE statements\n" - " If TABLE specified, only show tables matching\n" - " LIKE pattern TABLE.\n" - ".separator COL ?ROW? Change the column separator and optionally the row\n" - " separator for both the output mode and .import\n" - ".shell CMD ARGS... Run CMD ARGS... in a system shell\n" - ".show Show the current values for various settings\n" - ".stats on|off Turn stats on or off\n" - ".system CMD ARGS... Run CMD ARGS... in a system shell\n" - ".tables ?TABLE? List names of tables\n" - " If TABLE specified, only list tables matching\n" - " LIKE pattern TABLE.\n" - ".timeout MS Try opening locked tables for MS milliseconds\n" - ".timer on|off Turn SQL timer on or off\n" - ".trace FILE|off Output each SQL statement as it is run\n" - ".vfsinfo ?AUX? Information about the top-level VFS\n" - ".vfsname ?AUX? Print the name of the VFS stack\n" - ".width NUM1 NUM2 ... Set column widths for \"column\" mode\n" - " Negative values right-justify\n" -; - -/* Forward reference */ -static int process_input(ShellState *p, FILE *in); -/* -** Implementation of the "readfile(X)" SQL function. The entire content -** of the file named X is read and returned as a BLOB. NULL is returned -** if the file does not exist or is unreadable. -*/ -static void readfileFunc( - sqlite3_context *context, - int argc, - sqlite3_value **argv -){ - const char *zName; - FILE *in; - long nIn; - void *pBuf; - - UNUSED_PARAMETER(argc); - zName = (const char*)sqlite3_value_text(argv[0]); - if( zName==0 ) return; - in = fopen(zName, "rb"); - if( in==0 ) return; - fseek(in, 0, SEEK_END); - nIn = ftell(in); - rewind(in); - pBuf = sqlite3_malloc64( nIn ); - if( pBuf && 1==fread(pBuf, nIn, 1, in) ){ - sqlite3_result_blob(context, pBuf, nIn, sqlite3_free); - }else{ - sqlite3_free(pBuf); - } - fclose(in); -} - -/* -** Implementation of the "writefile(X,Y)" SQL function. The argument Y -** is written into file X. The number of bytes written is returned. Or -** NULL is returned if something goes wrong, such as being unable to open -** file X for writing. -*/ -static void writefileFunc( - sqlite3_context *context, - int argc, - sqlite3_value **argv -){ - FILE *out; - const char *z; - sqlite3_int64 rc; - const char *zFile; - - UNUSED_PARAMETER(argc); - zFile = (const char*)sqlite3_value_text(argv[0]); - if( zFile==0 ) return; - out = fopen(zFile, "wb"); - if( out==0 ) return; - z = (const char*)sqlite3_value_blob(argv[1]); - if( z==0 ){ - rc = 0; - }else{ - rc = fwrite(z, 1, sqlite3_value_bytes(argv[1]), out); - } - fclose(out); - sqlite3_result_int64(context, rc); -} - -/* -** Make sure the database is open. If it is not, then open it. If -** the database fails to open, print an error message and exit. -*/ -static void open_db(ShellState *p, int keepAlive){ - if( p->db==0 ){ - sqlite3_initialize(); - sqlite3_open(p->zDbFilename, &p->db); - globalDb = p->db; - if( p->db && sqlite3_errcode(p->db)==SQLITE_OK ){ - sqlite3_create_function(p->db, "shellstatic", 0, SQLITE_UTF8, 0, - shellstaticFunc, 0, 0); - } - if( p->db==0 || SQLITE_OK!=sqlite3_errcode(p->db) ){ - utf8_printf(stderr,"Error: unable to open database \"%s\": %s\n", - p->zDbFilename, sqlite3_errmsg(p->db)); - if( keepAlive ) return; - exit(1); - } -#ifndef SQLITE_OMIT_LOAD_EXTENSION - sqlite3_enable_load_extension(p->db, 1); -#endif - sqlite3_create_function(p->db, "readfile", 1, SQLITE_UTF8, 0, - readfileFunc, 0, 0); - sqlite3_create_function(p->db, "writefile", 2, SQLITE_UTF8, 0, - writefileFunc, 0, 0); - } -} - -/* -** Do C-language style dequoting. -** -** \a -> alarm -** \b -> backspace -** \t -> tab -** \n -> newline -** \v -> vertical tab -** \f -> form feed -** \r -> carriage return -** \s -> space -** \" -> " -** \' -> ' -** \\ -> backslash -** \NNN -> ascii character NNN in octal -*/ -static void resolve_backslashes(char *z){ - int i, j; - char c; - while( *z && *z!='\\' ) z++; - for(i=j=0; (c = z[i])!=0; i++, j++){ - if( c=='\\' && z[i+1]!=0 ){ - c = z[++i]; - if( c=='a' ){ - c = '\a'; - }else if( c=='b' ){ - c = '\b'; - }else if( c=='t' ){ - c = '\t'; - }else if( c=='n' ){ - c = '\n'; - }else if( c=='v' ){ - c = '\v'; - }else if( c=='f' ){ - c = '\f'; - }else if( c=='r' ){ - c = '\r'; - }else if( c=='"' ){ - c = '"'; - }else if( c=='\'' ){ - c = '\''; - }else if( c=='\\' ){ - c = '\\'; - }else if( c>='0' && c<='7' ){ - c -= '0'; - if( z[i+1]>='0' && z[i+1]<='7' ){ - i++; - c = (c<<3) + z[i] - '0'; - if( z[i+1]>='0' && z[i+1]<='7' ){ - i++; - c = (c<<3) + z[i] - '0'; - } - } - } - } - z[j] = c; - } - if( j='0' && c<='9' ) return c - '0'; - if( c>='a' && c<='f' ) return c - 'a' + 10; - if( c>='A' && c<='F' ) return c - 'A' + 10; - return -1; -} - -/* -** Interpret zArg as an integer value, possibly with suffixes. -*/ -static sqlite3_int64 integerValue(const char *zArg){ - sqlite3_int64 v = 0; - static const struct { char *zSuffix; int iMult; } aMult[] = { - { "KiB", 1024 }, - { "MiB", 1024*1024 }, - { "GiB", 1024*1024*1024 }, - { "KB", 1000 }, - { "MB", 1000000 }, - { "GB", 1000000000 }, - { "K", 1000 }, - { "M", 1000000 }, - { "G", 1000000000 }, - }; - int i; - int isNeg = 0; - if( zArg[0]=='-' ){ - isNeg = 1; - zArg++; - }else if( zArg[0]=='+' ){ - zArg++; - } - if( zArg[0]=='0' && zArg[1]=='x' ){ - int x; - zArg += 2; - while( (x = hexDigitValue(zArg[0]))>=0 ){ - v = (v<<4) + x; - zArg++; - } - }else{ - while( IsDigit(zArg[0]) ){ - v = v*10 + zArg[0] - '0'; - zArg++; - } - } - for(i=0; i=0; i++){} - }else{ - for(i=0; zArg[i]>='0' && zArg[i]<='9'; i++){} - } - if( i>0 && zArg[i]==0 ) return (int)(integerValue(zArg) & 0xffffffff); - if( sqlite3_stricmp(zArg, "on")==0 || sqlite3_stricmp(zArg,"yes")==0 ){ - return 1; - } - if( sqlite3_stricmp(zArg, "off")==0 || sqlite3_stricmp(zArg,"no")==0 ){ - return 0; - } - utf8_printf(stderr, "ERROR: Not a boolean value: \"%s\". Assuming \"no\".\n", - zArg); - return 0; -} - -/* -** Close an output file, assuming it is not stderr or stdout -*/ -static void output_file_close(FILE *f){ - if( f && f!=stdout && f!=stderr ) fclose(f); -} - -/* -** Try to open an output file. The names "stdout" and "stderr" are -** recognized and do the right thing. NULL is returned if the output -** filename is "off". -*/ -static FILE *output_file_open(const char *zFile){ - FILE *f; - if( strcmp(zFile,"stdout")==0 ){ - f = stdout; - }else if( strcmp(zFile, "stderr")==0 ){ - f = stderr; - }else if( strcmp(zFile, "off")==0 ){ - f = 0; - }else{ - f = fopen(zFile, "wb"); - if( f==0 ){ - utf8_printf(stderr, "Error: cannot open \"%s\"\n", zFile); - } - } - return f; -} - -/* -** A routine for handling output from sqlite3_trace(). -*/ -static void sql_trace_callback(void *pArg, const char *z){ - FILE *f = (FILE*)pArg; - if( f ){ - int i = (int)strlen(z); - while( i>0 && z[i-1]==';' ){ i--; } - utf8_printf(f, "%.*s;\n", i, z); - } -} - -/* -** A no-op routine that runs with the ".breakpoint" doc-command. This is -** a useful spot to set a debugger breakpoint. -*/ -static void test_breakpoint(void){ - static int nCall = 0; - nCall++; -} - -/* -** An object used to read a CSV and other files for import. -*/ -typedef struct ImportCtx ImportCtx; -struct ImportCtx { - const char *zFile; /* Name of the input file */ - FILE *in; /* Read the CSV text from this input stream */ - char *z; /* Accumulated text for a field */ - int n; /* Number of bytes in z */ - int nAlloc; /* Space allocated for z[] */ - int nLine; /* Current line number */ - int cTerm; /* Character that terminated the most recent field */ - int cColSep; /* The column separator character. (Usually ",") */ - int cRowSep; /* The row separator character. (Usually "\n") */ -}; - -/* Append a single byte to z[] */ -static void import_append_char(ImportCtx *p, int c){ - if( p->n+1>=p->nAlloc ){ - p->nAlloc += p->nAlloc + 100; - p->z = sqlite3_realloc64(p->z, p->nAlloc); - if( p->z==0 ){ - raw_printf(stderr, "out of memory\n"); - exit(1); - } - } - p->z[p->n++] = (char)c; -} - -/* Read a single field of CSV text. Compatible with rfc4180 and extended -** with the option of having a separator other than ",". -** -** + Input comes from p->in. -** + Store results in p->z of length p->n. Space to hold p->z comes -** from sqlite3_malloc64(). -** + Use p->cSep as the column separator. The default is ",". -** + Use p->rSep as the row separator. The default is "\n". -** + Keep track of the line number in p->nLine. -** + Store the character that terminates the field in p->cTerm. Store -** EOF on end-of-file. -** + Report syntax errors on stderr -*/ -static char *SQLITE_CDECL csv_read_one_field(ImportCtx *p){ - int c; - int cSep = p->cColSep; - int rSep = p->cRowSep; - p->n = 0; - c = fgetc(p->in); - if( c==EOF || seenInterrupt ){ - p->cTerm = EOF; - return 0; - } - if( c=='"' ){ - int pc, ppc; - int startLine = p->nLine; - int cQuote = c; - pc = ppc = 0; - while( 1 ){ - c = fgetc(p->in); - if( c==rSep ) p->nLine++; - if( c==cQuote ){ - if( pc==cQuote ){ - pc = 0; - continue; - } - } - if( (c==cSep && pc==cQuote) - || (c==rSep && pc==cQuote) - || (c==rSep && pc=='\r' && ppc==cQuote) - || (c==EOF && pc==cQuote) - ){ - do{ p->n--; }while( p->z[p->n]!=cQuote ); - p->cTerm = c; - break; - } - if( pc==cQuote && c!='\r' ){ - utf8_printf(stderr, "%s:%d: unescaped %c character\n", - p->zFile, p->nLine, cQuote); - } - if( c==EOF ){ - utf8_printf(stderr, "%s:%d: unterminated %c-quoted field\n", - p->zFile, startLine, cQuote); - p->cTerm = c; - break; - } - import_append_char(p, c); - ppc = pc; - pc = c; - } - }else{ - while( c!=EOF && c!=cSep && c!=rSep ){ - import_append_char(p, c); - c = fgetc(p->in); - } - if( c==rSep ){ - p->nLine++; - if( p->n>0 && p->z[p->n-1]=='\r' ) p->n--; - } - p->cTerm = c; - } - if( p->z ) p->z[p->n] = 0; - return p->z; -} - -/* Read a single field of ASCII delimited text. -** -** + Input comes from p->in. -** + Store results in p->z of length p->n. Space to hold p->z comes -** from sqlite3_malloc64(). -** + Use p->cSep as the column separator. The default is "\x1F". -** + Use p->rSep as the row separator. The default is "\x1E". -** + Keep track of the row number in p->nLine. -** + Store the character that terminates the field in p->cTerm. Store -** EOF on end-of-file. -** + Report syntax errors on stderr -*/ -static char *SQLITE_CDECL ascii_read_one_field(ImportCtx *p){ - int c; - int cSep = p->cColSep; - int rSep = p->cRowSep; - p->n = 0; - c = fgetc(p->in); - if( c==EOF || seenInterrupt ){ - p->cTerm = EOF; - return 0; - } - while( c!=EOF && c!=cSep && c!=rSep ){ - import_append_char(p, c); - c = fgetc(p->in); - } - if( c==rSep ){ - p->nLine++; - } - p->cTerm = c; - if( p->z ) p->z[p->n] = 0; - return p->z; -} - -/* -** Try to transfer data for table zTable. If an error is seen while -** moving forward, try to go backwards. The backwards movement won't -** work for WITHOUT ROWID tables. -*/ -static void tryToCloneData( - ShellState *p, - sqlite3 *newDb, - const char *zTable -){ - sqlite3_stmt *pQuery = 0; - sqlite3_stmt *pInsert = 0; - char *zQuery = 0; - char *zInsert = 0; - int rc; - int i, j, n; - int nTable = (int)strlen(zTable); - int k = 0; - int cnt = 0; - const int spinRate = 10000; - - zQuery = sqlite3_mprintf("SELECT * FROM \"%w\"", zTable); - rc = sqlite3_prepare_v2(p->db, zQuery, -1, &pQuery, 0); - if( rc ){ - utf8_printf(stderr, "Error %d: %s on [%s]\n", - sqlite3_extended_errcode(p->db), sqlite3_errmsg(p->db), - zQuery); - goto end_data_xfer; - } - n = sqlite3_column_count(pQuery); - zInsert = sqlite3_malloc64(200 + nTable + n*3); - if( zInsert==0 ){ - raw_printf(stderr, "out of memory\n"); - goto end_data_xfer; - } - sqlite3_snprintf(200+nTable,zInsert, - "INSERT OR IGNORE INTO \"%s\" VALUES(?", zTable); - i = (int)strlen(zInsert); - for(j=1; jdb, zQuery, -1, &pQuery, 0); - if( rc ){ - utf8_printf(stderr, "Warning: cannot step \"%s\" backwards", zTable); - break; - } - } /* End for(k=0...) */ - -end_data_xfer: - sqlite3_finalize(pQuery); - sqlite3_finalize(pInsert); - sqlite3_free(zQuery); - sqlite3_free(zInsert); -} - - -/* -** Try to transfer all rows of the schema that match zWhere. For -** each row, invoke xForEach() on the object defined by that row. -** If an error is encountered while moving forward through the -** sqlite_master table, try again moving backwards. -*/ -static void tryToCloneSchema( - ShellState *p, - sqlite3 *newDb, - const char *zWhere, - void (*xForEach)(ShellState*,sqlite3*,const char*) -){ - sqlite3_stmt *pQuery = 0; - char *zQuery = 0; - int rc; - const unsigned char *zName; - const unsigned char *zSql; - char *zErrMsg = 0; - - zQuery = sqlite3_mprintf("SELECT name, sql FROM sqlite_master" - " WHERE %s", zWhere); - rc = sqlite3_prepare_v2(p->db, zQuery, -1, &pQuery, 0); - if( rc ){ - utf8_printf(stderr, "Error: (%d) %s on [%s]\n", - sqlite3_extended_errcode(p->db), sqlite3_errmsg(p->db), - zQuery); - goto end_schema_xfer; - } - while( (rc = sqlite3_step(pQuery))==SQLITE_ROW ){ - zName = sqlite3_column_text(pQuery, 0); - zSql = sqlite3_column_text(pQuery, 1); - printf("%s... ", zName); fflush(stdout); - sqlite3_exec(newDb, (const char*)zSql, 0, 0, &zErrMsg); - if( zErrMsg ){ - utf8_printf(stderr, "Error: %s\nSQL: [%s]\n", zErrMsg, zSql); - sqlite3_free(zErrMsg); - zErrMsg = 0; - } - if( xForEach ){ - xForEach(p, newDb, (const char*)zName); - } - printf("done\n"); - } - if( rc!=SQLITE_DONE ){ - sqlite3_finalize(pQuery); - sqlite3_free(zQuery); - zQuery = sqlite3_mprintf("SELECT name, sql FROM sqlite_master" - " WHERE %s ORDER BY rowid DESC", zWhere); - rc = sqlite3_prepare_v2(p->db, zQuery, -1, &pQuery, 0); - if( rc ){ - utf8_printf(stderr, "Error: (%d) %s on [%s]\n", - sqlite3_extended_errcode(p->db), sqlite3_errmsg(p->db), - zQuery); - goto end_schema_xfer; - } - while( (rc = sqlite3_step(pQuery))==SQLITE_ROW ){ - zName = sqlite3_column_text(pQuery, 0); - zSql = sqlite3_column_text(pQuery, 1); - printf("%s... ", zName); fflush(stdout); - sqlite3_exec(newDb, (const char*)zSql, 0, 0, &zErrMsg); - if( zErrMsg ){ - utf8_printf(stderr, "Error: %s\nSQL: [%s]\n", zErrMsg, zSql); - sqlite3_free(zErrMsg); - zErrMsg = 0; - } - if( xForEach ){ - xForEach(p, newDb, (const char*)zName); - } - printf("done\n"); - } - } -end_schema_xfer: - sqlite3_finalize(pQuery); - sqlite3_free(zQuery); -} - -/* -** Open a new database file named "zNewDb". Try to recover as much information -** as possible out of the main database (which might be corrupt) and write it -** into zNewDb. -*/ -static void tryToClone(ShellState *p, const char *zNewDb){ - int rc; - sqlite3 *newDb = 0; - if( access(zNewDb,0)==0 ){ - utf8_printf(stderr, "File \"%s\" already exists.\n", zNewDb); - return; - } - rc = sqlite3_open(zNewDb, &newDb); - if( rc ){ - utf8_printf(stderr, "Cannot create output database: %s\n", - sqlite3_errmsg(newDb)); - }else{ - sqlite3_exec(p->db, "PRAGMA writable_schema=ON;", 0, 0, 0); - sqlite3_exec(newDb, "BEGIN EXCLUSIVE;", 0, 0, 0); - tryToCloneSchema(p, newDb, "type='table'", tryToCloneData); - tryToCloneSchema(p, newDb, "type!='table'", 0); - sqlite3_exec(newDb, "COMMIT;", 0, 0, 0); - sqlite3_exec(p->db, "PRAGMA writable_schema=OFF;", 0, 0, 0); - } - sqlite3_close(newDb); -} - -/* -** Change the output file back to stdout -*/ -static void output_reset(ShellState *p){ - if( p->outfile[0]=='|' ){ -#ifndef SQLITE_OMIT_POPEN - pclose(p->out); -#endif - }else{ - output_file_close(p->out); - } - p->outfile[0] = 0; - p->out = stdout; -} - -/* -** Run an SQL command and return the single integer result. -*/ -static int db_int(ShellState *p, const char *zSql){ - sqlite3_stmt *pStmt; - int res = 0; - sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); - if( pStmt && sqlite3_step(pStmt)==SQLITE_ROW ){ - res = sqlite3_column_int(pStmt,0); - } - sqlite3_finalize(pStmt); - return res; -} - -/* -** Convert a 2-byte or 4-byte big-endian integer into a native integer -*/ -unsigned int get2byteInt(unsigned char *a){ - return (a[0]<<8) + a[1]; -} -unsigned int get4byteInt(unsigned char *a){ - return (a[0]<<24) + (a[1]<<16) + (a[2]<<8) + a[3]; -} - -/* -** Implementation of the ".info" command. -** -** Return 1 on error, 2 to exit, and 0 otherwise. -*/ -static int shell_dbinfo_command(ShellState *p, int nArg, char **azArg){ - static const struct { const char *zName; int ofst; } aField[] = { - { "file change counter:", 24 }, - { "database page count:", 28 }, - { "freelist page count:", 36 }, - { "schema cookie:", 40 }, - { "schema format:", 44 }, - { "default cache size:", 48 }, - { "autovacuum top root:", 52 }, - { "incremental vacuum:", 64 }, - { "text encoding:", 56 }, - { "user version:", 60 }, - { "application id:", 68 }, - { "software version:", 96 }, - }; - static const struct { const char *zName; const char *zSql; } aQuery[] = { - { "number of tables:", - "SELECT count(*) FROM %s WHERE type='table'" }, - { "number of indexes:", - "SELECT count(*) FROM %s WHERE type='index'" }, - { "number of triggers:", - "SELECT count(*) FROM %s WHERE type='trigger'" }, - { "number of views:", - "SELECT count(*) FROM %s WHERE type='view'" }, - { "schema size:", - "SELECT total(length(sql)) FROM %s" }, - }; - sqlite3_file *pFile = 0; - int i; - char *zSchemaTab; - char *zDb = nArg>=2 ? azArg[1] : "main"; - unsigned char aHdr[100]; - open_db(p, 0); - if( p->db==0 ) return 1; - sqlite3_file_control(p->db, zDb, SQLITE_FCNTL_FILE_POINTER, &pFile); - if( pFile==0 || pFile->pMethods==0 || pFile->pMethods->xRead==0 ){ - return 1; - } - i = pFile->pMethods->xRead(pFile, aHdr, 100, 0); - if( i!=SQLITE_OK ){ - raw_printf(stderr, "unable to read database header\n"); - return 1; - } - i = get2byteInt(aHdr+16); - if( i==1 ) i = 65536; - utf8_printf(p->out, "%-20s %d\n", "database page size:", i); - utf8_printf(p->out, "%-20s %d\n", "write format:", aHdr[18]); - utf8_printf(p->out, "%-20s %d\n", "read format:", aHdr[19]); - utf8_printf(p->out, "%-20s %d\n", "reserved bytes:", aHdr[20]); - for(i=0; iout, "%-20s %u", aField[i].zName, val); - switch( ofst ){ - case 56: { - if( val==1 ) raw_printf(p->out, " (utf8)"); - if( val==2 ) raw_printf(p->out, " (utf16le)"); - if( val==3 ) raw_printf(p->out, " (utf16be)"); - } - } - raw_printf(p->out, "\n"); - } - if( zDb==0 ){ - zSchemaTab = sqlite3_mprintf("main.sqlite_master"); - }else if( strcmp(zDb,"temp")==0 ){ - zSchemaTab = sqlite3_mprintf("%s", "sqlite_temp_master"); - }else{ - zSchemaTab = sqlite3_mprintf("\"%w\".sqlite_master", zDb); - } - for(i=0; iout, "%-20s %d\n", aQuery[i].zName, val); - } - sqlite3_free(zSchemaTab); - return 0; -} - -/* -** Print the current sqlite3_errmsg() value to stderr and return 1. -*/ -static int shellDatabaseError(sqlite3 *db){ - const char *zErr = sqlite3_errmsg(db); - utf8_printf(stderr, "Error: %s\n", zErr); - return 1; -} - -/* -** Print an out-of-memory message to stderr and return 1. -*/ -static int shellNomemError(void){ - raw_printf(stderr, "Error: out of memory\n"); - return 1; -} - -/* -** If an input line begins with "." then invoke this routine to -** process that line. -** -** Return 1 on error, 2 to exit, and 0 otherwise. -*/ -static int do_meta_command(char *zLine, ShellState *p){ - int h = 1; - int nArg = 0; - int n, c; - int rc = 0; - char *azArg[50]; - - /* Parse the input line into tokens. - */ - while( zLine[h] && nArg=3 && strncmp(azArg[0], "backup", n)==0) - || (c=='s' && n>=3 && strncmp(azArg[0], "save", n)==0) - ){ - const char *zDestFile = 0; - const char *zDb = 0; - sqlite3 *pDest; - sqlite3_backup *pBackup; - int j; - for(j=1; jdb, zDb); - if( pBackup==0 ){ - utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(pDest)); - sqlite3_close(pDest); - return 1; - } - while( (rc = sqlite3_backup_step(pBackup,100))==SQLITE_OK ){} - sqlite3_backup_finish(pBackup); - if( rc==SQLITE_DONE ){ - rc = 0; - }else{ - utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(pDest)); - rc = 1; - } - sqlite3_close(pDest); - }else - - if( c=='b' && n>=3 && strncmp(azArg[0], "bail", n)==0 ){ - if( nArg==2 ){ - bail_on_error = booleanValue(azArg[1]); - }else{ - raw_printf(stderr, "Usage: .bail on|off\n"); - rc = 1; - } - }else - - if( c=='b' && n>=3 && strncmp(azArg[0], "binary", n)==0 ){ - if( nArg==2 ){ - if( booleanValue(azArg[1]) ){ - setBinaryMode(p->out); - }else{ - setTextMode(p->out); - } - }else{ - raw_printf(stderr, "Usage: .binary on|off\n"); - rc = 1; - } - }else - - /* The undocumented ".breakpoint" command causes a call to the no-op - ** routine named test_breakpoint(). - */ - if( c=='b' && n>=3 && strncmp(azArg[0], "breakpoint", n)==0 ){ - test_breakpoint(); - }else - - if( c=='c' && n>=3 && strncmp(azArg[0], "changes", n)==0 ){ - if( nArg==2 ){ - p->countChanges = booleanValue(azArg[1]); - }else{ - raw_printf(stderr, "Usage: .changes on|off\n"); - rc = 1; - } - }else - - if( c=='c' && strncmp(azArg[0], "clone", n)==0 ){ - if( nArg==2 ){ - tryToClone(p, azArg[1]); - }else{ - raw_printf(stderr, "Usage: .clone FILENAME\n"); - rc = 1; - } - }else - - if( c=='d' && n>1 && strncmp(azArg[0], "databases", n)==0 ){ - ShellState data; - char *zErrMsg = 0; - open_db(p, 0); - memcpy(&data, p, sizeof(data)); - data.showHeader = 1; - data.mode = MODE_Column; - data.colWidth[0] = 3; - data.colWidth[1] = 15; - data.colWidth[2] = 58; - data.cnt = 0; - sqlite3_exec(p->db, "PRAGMA database_list; ", callback, &data, &zErrMsg); - if( zErrMsg ){ - utf8_printf(stderr,"Error: %s\n", zErrMsg); - sqlite3_free(zErrMsg); - rc = 1; - } - }else - - if( c=='d' && strncmp(azArg[0], "dbinfo", n)==0 ){ - rc = shell_dbinfo_command(p, nArg, azArg); - }else - - if( c=='d' && strncmp(azArg[0], "dump", n)==0 ){ - open_db(p, 0); - /* When playing back a "dump", the content might appear in an order - ** which causes immediate foreign key constraints to be violated. - ** So disable foreign-key constraint enforcement to prevent problems. */ - if( nArg!=1 && nArg!=2 ){ - raw_printf(stderr, "Usage: .dump ?LIKE-PATTERN?\n"); - rc = 1; - goto meta_command_exit; - } - raw_printf(p->out, "PRAGMA foreign_keys=OFF;\n"); - raw_printf(p->out, "BEGIN TRANSACTION;\n"); - p->writableSchema = 0; - sqlite3_exec(p->db, "SAVEPOINT dump; PRAGMA writable_schema=ON", 0, 0, 0); - p->nErr = 0; - if( nArg==1 ){ - run_schema_dump_query(p, - "SELECT name, type, sql FROM sqlite_master " - "WHERE sql NOT NULL AND type=='table' AND name!='sqlite_sequence'" - ); - run_schema_dump_query(p, - "SELECT name, type, sql FROM sqlite_master " - "WHERE name=='sqlite_sequence'" - ); - run_table_dump_query(p, - "SELECT sql FROM sqlite_master " - "WHERE sql NOT NULL AND type IN ('index','trigger','view')", 0 - ); - }else{ - int i; - for(i=1; iwritableSchema ){ - raw_printf(p->out, "PRAGMA writable_schema=OFF;\n"); - p->writableSchema = 0; - } - sqlite3_exec(p->db, "PRAGMA writable_schema=OFF;", 0, 0, 0); - sqlite3_exec(p->db, "RELEASE dump;", 0, 0, 0); - raw_printf(p->out, p->nErr ? "ROLLBACK; -- due to errors\n" : "COMMIT;\n"); - }else - - if( c=='e' && strncmp(azArg[0], "echo", n)==0 ){ - if( nArg==2 ){ - p->echoOn = booleanValue(azArg[1]); - }else{ - raw_printf(stderr, "Usage: .echo on|off\n"); - rc = 1; - } - }else - - if( c=='e' && strncmp(azArg[0], "eqp", n)==0 ){ - if( nArg==2 ){ - p->autoEQP = booleanValue(azArg[1]); - }else{ - raw_printf(stderr, "Usage: .eqp on|off\n"); - rc = 1; - } - }else - - if( c=='e' && strncmp(azArg[0], "exit", n)==0 ){ - if( nArg>1 && (rc = (int)integerValue(azArg[1]))!=0 ) exit(rc); - rc = 2; - }else - - if( c=='e' && strncmp(azArg[0], "explain", n)==0 ){ - int val = nArg>=2 ? booleanValue(azArg[1]) : 1; - if(val == 1) { - if(!p->normalMode.valid) { - p->normalMode.valid = 1; - p->normalMode.mode = p->mode; - p->normalMode.showHeader = p->showHeader; - memcpy(p->normalMode.colWidth,p->colWidth,sizeof(p->colWidth)); - } - /* We could put this code under the !p->explainValid - ** condition so that it does not execute if we are already in - ** explain mode. However, always executing it allows us an easy - ** was to reset to explain mode in case the user previously - ** did an .explain followed by a .width, .mode or .header - ** command. - */ - p->mode = MODE_Explain; - p->showHeader = 1; - memset(p->colWidth,0,sizeof(p->colWidth)); - p->colWidth[0] = 4; /* addr */ - p->colWidth[1] = 13; /* opcode */ - p->colWidth[2] = 4; /* P1 */ - p->colWidth[3] = 4; /* P2 */ - p->colWidth[4] = 4; /* P3 */ - p->colWidth[5] = 13; /* P4 */ - p->colWidth[6] = 2; /* P5 */ - p->colWidth[7] = 13; /* Comment */ - }else if (p->normalMode.valid) { - p->normalMode.valid = 0; - p->mode = p->normalMode.mode; - p->showHeader = p->normalMode.showHeader; - memcpy(p->colWidth,p->normalMode.colWidth,sizeof(p->colWidth)); - } - }else - - if( c=='f' && strncmp(azArg[0], "fullschema", n)==0 ){ - ShellState data; - char *zErrMsg = 0; - int doStats = 0; - if( nArg!=1 ){ - raw_printf(stderr, "Usage: .fullschema\n"); - rc = 1; - goto meta_command_exit; - } - open_db(p, 0); - memcpy(&data, p, sizeof(data)); - data.showHeader = 0; - data.mode = MODE_Semi; - rc = sqlite3_exec(p->db, - "SELECT sql FROM" - " (SELECT sql sql, type type, tbl_name tbl_name, name name, rowid x" - " FROM sqlite_master UNION ALL" - " SELECT sql, type, tbl_name, name, rowid FROM sqlite_temp_master) " - "WHERE type!='meta' AND sql NOTNULL AND name NOT LIKE 'sqlite_%' " - "ORDER BY rowid", - callback, &data, &zErrMsg - ); - if( rc==SQLITE_OK ){ - sqlite3_stmt *pStmt; - rc = sqlite3_prepare_v2(p->db, - "SELECT rowid FROM sqlite_master" - " WHERE name GLOB 'sqlite_stat[134]'", - -1, &pStmt, 0); - doStats = sqlite3_step(pStmt)==SQLITE_ROW; - sqlite3_finalize(pStmt); - } - if( doStats==0 ){ - raw_printf(p->out, "/* No STAT tables available */\n"); - }else{ - raw_printf(p->out, "ANALYZE sqlite_master;\n"); - sqlite3_exec(p->db, "SELECT 'ANALYZE sqlite_master'", - callback, &data, &zErrMsg); - data.mode = MODE_Insert; - data.zDestTable = "sqlite_stat1"; - shell_exec(p->db, "SELECT * FROM sqlite_stat1", - shell_callback, &data,&zErrMsg); - data.zDestTable = "sqlite_stat3"; - shell_exec(p->db, "SELECT * FROM sqlite_stat3", - shell_callback, &data,&zErrMsg); - data.zDestTable = "sqlite_stat4"; - shell_exec(p->db, "SELECT * FROM sqlite_stat4", - shell_callback, &data, &zErrMsg); - raw_printf(p->out, "ANALYZE sqlite_master;\n"); - } - }else - - if( c=='h' && strncmp(azArg[0], "headers", n)==0 ){ - if( nArg==2 ){ - p->showHeader = booleanValue(azArg[1]); - }else{ - raw_printf(stderr, "Usage: .headers on|off\n"); - rc = 1; - } - }else - - if( c=='h' && strncmp(azArg[0], "help", n)==0 ){ - utf8_printf(p->out, "%s", zHelp); - }else - - if( c=='i' && strncmp(azArg[0], "import", n)==0 ){ - char *zTable; /* Insert data into this table */ - char *zFile; /* Name of file to extra content from */ - sqlite3_stmt *pStmt = NULL; /* A statement */ - int nCol; /* Number of columns in the table */ - int nByte; /* Number of bytes in an SQL string */ - int i, j; /* Loop counters */ - int needCommit; /* True to COMMIT or ROLLBACK at end */ - int nSep; /* Number of bytes in p->colSeparator[] */ - char *zSql; /* An SQL statement */ - ImportCtx sCtx; /* Reader context */ - char *(SQLITE_CDECL *xRead)(ImportCtx*); /* Func to read one value */ - int (SQLITE_CDECL *xCloser)(FILE*); /* Func to close file */ - - if( nArg!=3 ){ - raw_printf(stderr, "Usage: .import FILE TABLE\n"); - goto meta_command_exit; - } - zFile = azArg[1]; - zTable = azArg[2]; - seenInterrupt = 0; - memset(&sCtx, 0, sizeof(sCtx)); - open_db(p, 0); - nSep = strlen30(p->colSeparator); - if( nSep==0 ){ - raw_printf(stderr, - "Error: non-null column separator required for import\n"); - return 1; - } - if( nSep>1 ){ - raw_printf(stderr, "Error: multi-character column separators not allowed" - " for import\n"); - return 1; - } - nSep = strlen30(p->rowSeparator); - if( nSep==0 ){ - raw_printf(stderr, "Error: non-null row separator required for import\n"); - return 1; - } - if( nSep==2 && p->mode==MODE_Csv && strcmp(p->rowSeparator, SEP_CrLf)==0 ){ - /* When importing CSV (only), if the row separator is set to the - ** default output row separator, change it to the default input - ** row separator. This avoids having to maintain different input - ** and output row separators. */ - sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Row); - nSep = strlen30(p->rowSeparator); - } - if( nSep>1 ){ - raw_printf(stderr, "Error: multi-character row separators not allowed" - " for import\n"); - return 1; - } - sCtx.zFile = zFile; - sCtx.nLine = 1; - if( sCtx.zFile[0]=='|' ){ -#ifdef SQLITE_OMIT_POPEN - raw_printf(stderr, "Error: pipes are not supported in this OS\n"); - return 1; -#else - sCtx.in = popen(sCtx.zFile+1, "r"); - sCtx.zFile = ""; - xCloser = pclose; -#endif - }else{ - sCtx.in = fopen(sCtx.zFile, "rb"); - xCloser = fclose; - } - if( p->mode==MODE_Ascii ){ - xRead = ascii_read_one_field; - }else{ - xRead = csv_read_one_field; - } - if( sCtx.in==0 ){ - utf8_printf(stderr, "Error: cannot open \"%s\"\n", zFile); - return 1; - } - sCtx.cColSep = p->colSeparator[0]; - sCtx.cRowSep = p->rowSeparator[0]; - zSql = sqlite3_mprintf("SELECT * FROM %s", zTable); - if( zSql==0 ){ - raw_printf(stderr, "Error: out of memory\n"); - xCloser(sCtx.in); - return 1; - } - nByte = strlen30(zSql); - rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); - import_append_char(&sCtx, 0); /* To ensure sCtx.z is allocated */ - if( rc && sqlite3_strglob("no such table: *", sqlite3_errmsg(p->db))==0 ){ - char *zCreate = sqlite3_mprintf("CREATE TABLE %s", zTable); - char cSep = '('; - while( xRead(&sCtx) ){ - zCreate = sqlite3_mprintf("%z%c\n \"%s\" TEXT", zCreate, cSep, sCtx.z); - cSep = ','; - if( sCtx.cTerm!=sCtx.cColSep ) break; - } - if( cSep=='(' ){ - sqlite3_free(zCreate); - sqlite3_free(sCtx.z); - xCloser(sCtx.in); - utf8_printf(stderr,"%s: empty file\n", sCtx.zFile); - return 1; - } - zCreate = sqlite3_mprintf("%z\n)", zCreate); - rc = sqlite3_exec(p->db, zCreate, 0, 0, 0); - sqlite3_free(zCreate); - if( rc ){ - utf8_printf(stderr, "CREATE TABLE %s(...) failed: %s\n", zTable, - sqlite3_errmsg(p->db)); - sqlite3_free(sCtx.z); - xCloser(sCtx.in); - return 1; - } - rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); - } - sqlite3_free(zSql); - if( rc ){ - if (pStmt) sqlite3_finalize(pStmt); - utf8_printf(stderr,"Error: %s\n", sqlite3_errmsg(p->db)); - xCloser(sCtx.in); - return 1; - } - nCol = sqlite3_column_count(pStmt); - sqlite3_finalize(pStmt); - pStmt = 0; - if( nCol==0 ) return 0; /* no columns, no error */ - zSql = sqlite3_malloc64( nByte*2 + 20 + nCol*2 ); - if( zSql==0 ){ - raw_printf(stderr, "Error: out of memory\n"); - xCloser(sCtx.in); - return 1; - } - sqlite3_snprintf(nByte+20, zSql, "INSERT INTO \"%w\" VALUES(?", zTable); - j = strlen30(zSql); - for(i=1; idb, zSql, -1, &pStmt, 0); - sqlite3_free(zSql); - if( rc ){ - utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(p->db)); - if (pStmt) sqlite3_finalize(pStmt); - xCloser(sCtx.in); - return 1; - } - needCommit = sqlite3_get_autocommit(p->db); - if( needCommit ) sqlite3_exec(p->db, "BEGIN", 0, 0, 0); - do{ - int startLine = sCtx.nLine; - for(i=0; imode==MODE_Ascii && (z==0 || z[0]==0) && i==0 ) break; - sqlite3_bind_text(pStmt, i+1, z, -1, SQLITE_TRANSIENT); - if( i=nCol ){ - sqlite3_step(pStmt); - rc = sqlite3_reset(pStmt); - if( rc!=SQLITE_OK ){ - utf8_printf(stderr, "%s:%d: INSERT failed: %s\n", sCtx.zFile, - startLine, sqlite3_errmsg(p->db)); - } - } - }while( sCtx.cTerm!=EOF ); - - xCloser(sCtx.in); - sqlite3_free(sCtx.z); - sqlite3_finalize(pStmt); - if( needCommit ) sqlite3_exec(p->db, "COMMIT", 0, 0, 0); - }else - - if( c=='i' && (strncmp(azArg[0], "indices", n)==0 - || strncmp(azArg[0], "indexes", n)==0) ){ - ShellState data; - char *zErrMsg = 0; - open_db(p, 0); - memcpy(&data, p, sizeof(data)); - data.showHeader = 0; - data.mode = MODE_List; - if( nArg==1 ){ - rc = sqlite3_exec(p->db, - "SELECT name FROM sqlite_master " - "WHERE type='index' AND name NOT LIKE 'sqlite_%' " - "UNION ALL " - "SELECT name FROM sqlite_temp_master " - "WHERE type='index' " - "ORDER BY 1", - callback, &data, &zErrMsg - ); - }else if( nArg==2 ){ - zShellStatic = azArg[1]; - rc = sqlite3_exec(p->db, - "SELECT name FROM sqlite_master " - "WHERE type='index' AND tbl_name LIKE shellstatic() " - "UNION ALL " - "SELECT name FROM sqlite_temp_master " - "WHERE type='index' AND tbl_name LIKE shellstatic() " - "ORDER BY 1", - callback, &data, &zErrMsg - ); - zShellStatic = 0; - }else{ - raw_printf(stderr, "Usage: .indexes ?LIKE-PATTERN?\n"); - rc = 1; - goto meta_command_exit; - } - if( zErrMsg ){ - utf8_printf(stderr,"Error: %s\n", zErrMsg); - sqlite3_free(zErrMsg); - rc = 1; - }else if( rc != SQLITE_OK ){ - raw_printf(stderr, - "Error: querying sqlite_master and sqlite_temp_master\n"); - rc = 1; - } - }else - -#ifdef SQLITE_ENABLE_IOTRACE - if( c=='i' && strncmp(azArg[0], "iotrace", n)==0 ){ - SQLITE_API extern void (SQLITE_CDECL *sqlite3IoTrace)(const char*, ...); - if( iotrace && iotrace!=stdout ) fclose(iotrace); - iotrace = 0; - if( nArg<2 ){ - sqlite3IoTrace = 0; - }else if( strcmp(azArg[1], "-")==0 ){ - sqlite3IoTrace = iotracePrintf; - iotrace = stdout; - }else{ - iotrace = fopen(azArg[1], "w"); - if( iotrace==0 ){ - utf8_printf(stderr, "Error: cannot open \"%s\"\n", azArg[1]); - sqlite3IoTrace = 0; - rc = 1; - }else{ - sqlite3IoTrace = iotracePrintf; - } - } - }else -#endif - if( c=='l' && n>=5 && strncmp(azArg[0], "limits", n)==0 ){ - static const struct { - const char *zLimitName; /* Name of a limit */ - int limitCode; /* Integer code for that limit */ - } aLimit[] = { - { "length", SQLITE_LIMIT_LENGTH }, - { "sql_length", SQLITE_LIMIT_SQL_LENGTH }, - { "column", SQLITE_LIMIT_COLUMN }, - { "expr_depth", SQLITE_LIMIT_EXPR_DEPTH }, - { "compound_select", SQLITE_LIMIT_COMPOUND_SELECT }, - { "vdbe_op", SQLITE_LIMIT_VDBE_OP }, - { "function_arg", SQLITE_LIMIT_FUNCTION_ARG }, - { "attached", SQLITE_LIMIT_ATTACHED }, - { "like_pattern_length", SQLITE_LIMIT_LIKE_PATTERN_LENGTH }, - { "variable_number", SQLITE_LIMIT_VARIABLE_NUMBER }, - { "trigger_depth", SQLITE_LIMIT_TRIGGER_DEPTH }, - { "worker_threads", SQLITE_LIMIT_WORKER_THREADS }, - }; - int i, n2; - open_db(p, 0); - if( nArg==1 ){ - for(i=0; idb, aLimit[i].limitCode, -1)); - } - }else if( nArg>3 ){ - raw_printf(stderr, "Usage: .limit NAME ?NEW-VALUE?\n"); - rc = 1; - goto meta_command_exit; - }else{ - int iLimit = -1; - n2 = strlen30(azArg[1]); - for(i=0; idb, aLimit[iLimit].limitCode, - (int)integerValue(azArg[2])); - } - printf("%20s %d\n", aLimit[iLimit].zLimitName, - sqlite3_limit(p->db, aLimit[iLimit].limitCode, -1)); - } - }else - -#ifndef SQLITE_OMIT_LOAD_EXTENSION - if( c=='l' && strncmp(azArg[0], "load", n)==0 ){ - const char *zFile, *zProc; - char *zErrMsg = 0; - if( nArg<2 ){ - raw_printf(stderr, "Usage: .load FILE ?ENTRYPOINT?\n"); - rc = 1; - goto meta_command_exit; - } - zFile = azArg[1]; - zProc = nArg>=3 ? azArg[2] : 0; - open_db(p, 0); - rc = sqlite3_load_extension(p->db, zFile, zProc, &zErrMsg); - if( rc!=SQLITE_OK ){ - utf8_printf(stderr, "Error: %s\n", zErrMsg); - sqlite3_free(zErrMsg); - rc = 1; - } - }else -#endif - - if( c=='l' && strncmp(azArg[0], "log", n)==0 ){ - if( nArg!=2 ){ - raw_printf(stderr, "Usage: .log FILENAME\n"); - rc = 1; - }else{ - const char *zFile = azArg[1]; - output_file_close(p->pLog); - p->pLog = output_file_open(zFile); - } - }else - - if( c=='m' && strncmp(azArg[0], "mode", n)==0 ){ - const char *zMode = nArg>=2 ? azArg[1] : ""; - int n2 = (int)strlen(zMode); - int c2 = zMode[0]; - if( c2=='l' && n2>2 && strncmp(azArg[1],"lines",n2)==0 ){ - p->mode = MODE_Line; - }else if( c2=='c' && strncmp(azArg[1],"columns",n2)==0 ){ - p->mode = MODE_Column; - }else if( c2=='l' && n2>2 && strncmp(azArg[1],"list",n2)==0 ){ - p->mode = MODE_List; - }else if( c2=='h' && strncmp(azArg[1],"html",n2)==0 ){ - p->mode = MODE_Html; - }else if( c2=='t' && strncmp(azArg[1],"tcl",n2)==0 ){ - p->mode = MODE_Tcl; - sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Space); - }else if( c2=='c' && strncmp(azArg[1],"csv",n2)==0 ){ - p->mode = MODE_Csv; - sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Comma); - sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_CrLf); - }else if( c2=='t' && strncmp(azArg[1],"tabs",n2)==0 ){ - p->mode = MODE_List; - sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Tab); - }else if( c2=='i' && strncmp(azArg[1],"insert",n2)==0 ){ - p->mode = MODE_Insert; - set_table_name(p, nArg>=3 ? azArg[2] : "table"); - }else if( c2=='a' && strncmp(azArg[1],"ascii",n2)==0 ){ - p->mode = MODE_Ascii; - sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, SEP_Unit); - sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, SEP_Record); - }else { - raw_printf(stderr, "Error: mode should be one of: " - "ascii column csv html insert line list tabs tcl\n"); - rc = 1; - } - }else - - if( c=='n' && strncmp(azArg[0], "nullvalue", n)==0 ){ - if( nArg==2 ){ - sqlite3_snprintf(sizeof(p->nullValue), p->nullValue, - "%.*s", (int)ArraySize(p->nullValue)-1, azArg[1]); - }else{ - raw_printf(stderr, "Usage: .nullvalue STRING\n"); - rc = 1; - } - }else - - if( c=='o' && strncmp(azArg[0], "open", n)==0 && n>=2 ){ - sqlite3 *savedDb = p->db; - const char *zSavedFilename = p->zDbFilename; - char *zNewFilename = 0; - p->db = 0; - if( nArg>=2 ) zNewFilename = sqlite3_mprintf("%s", azArg[1]); - p->zDbFilename = zNewFilename; - open_db(p, 1); - if( p->db!=0 ){ - sqlite3_close(savedDb); - sqlite3_free(p->zFreeOnClose); - p->zFreeOnClose = zNewFilename; - }else{ - sqlite3_free(zNewFilename); - p->db = savedDb; - p->zDbFilename = zSavedFilename; - } - }else - - if( c=='o' - && (strncmp(azArg[0], "output", n)==0 || strncmp(azArg[0], "once", n)==0) - ){ - const char *zFile = nArg>=2 ? azArg[1] : "stdout"; - if( nArg>2 ){ - utf8_printf(stderr, "Usage: .%s FILE\n", azArg[0]); - rc = 1; - goto meta_command_exit; - } - if( n>1 && strncmp(azArg[0], "once", n)==0 ){ - if( nArg<2 ){ - raw_printf(stderr, "Usage: .once FILE\n"); - rc = 1; - goto meta_command_exit; - } - p->outCount = 2; - }else{ - p->outCount = 0; - } - output_reset(p); - if( zFile[0]=='|' ){ -#ifdef SQLITE_OMIT_POPEN - raw_printf(stderr, "Error: pipes are not supported in this OS\n"); - rc = 1; - p->out = stdout; -#else - p->out = popen(zFile + 1, "w"); - if( p->out==0 ){ - utf8_printf(stderr,"Error: cannot open pipe \"%s\"\n", zFile + 1); - p->out = stdout; - rc = 1; - }else{ - sqlite3_snprintf(sizeof(p->outfile), p->outfile, "%s", zFile); - } -#endif - }else{ - p->out = output_file_open(zFile); - if( p->out==0 ){ - if( strcmp(zFile,"off")!=0 ){ - utf8_printf(stderr,"Error: cannot write to \"%s\"\n", zFile); - } - p->out = stdout; - rc = 1; - } else { - sqlite3_snprintf(sizeof(p->outfile), p->outfile, "%s", zFile); - } - } - }else - - if( c=='p' && n>=3 && strncmp(azArg[0], "print", n)==0 ){ - int i; - for(i=1; i1 ) raw_printf(p->out, " "); - utf8_printf(p->out, "%s", azArg[i]); - } - raw_printf(p->out, "\n"); - }else - - if( c=='p' && strncmp(azArg[0], "prompt", n)==0 ){ - if( nArg >= 2) { - strncpy(mainPrompt,azArg[1],(int)ArraySize(mainPrompt)-1); - } - if( nArg >= 3) { - strncpy(continuePrompt,azArg[2],(int)ArraySize(continuePrompt)-1); - } - }else - - if( c=='q' && strncmp(azArg[0], "quit", n)==0 ){ - rc = 2; - }else - - if( c=='r' && n>=3 && strncmp(azArg[0], "read", n)==0 ){ - FILE *alt; - if( nArg!=2 ){ - raw_printf(stderr, "Usage: .read FILE\n"); - rc = 1; - goto meta_command_exit; - } - alt = fopen(azArg[1], "rb"); - if( alt==0 ){ - utf8_printf(stderr,"Error: cannot open \"%s\"\n", azArg[1]); - rc = 1; - }else{ - rc = process_input(p, alt); - fclose(alt); - } - }else - - if( c=='r' && n>=3 && strncmp(azArg[0], "restore", n)==0 ){ - const char *zSrcFile; - const char *zDb; - sqlite3 *pSrc; - sqlite3_backup *pBackup; - int nTimeout = 0; - - if( nArg==2 ){ - zSrcFile = azArg[1]; - zDb = "main"; - }else if( nArg==3 ){ - zSrcFile = azArg[2]; - zDb = azArg[1]; - }else{ - raw_printf(stderr, "Usage: .restore ?DB? FILE\n"); - rc = 1; - goto meta_command_exit; - } - rc = sqlite3_open(zSrcFile, &pSrc); - if( rc!=SQLITE_OK ){ - utf8_printf(stderr, "Error: cannot open \"%s\"\n", zSrcFile); - sqlite3_close(pSrc); - return 1; - } - open_db(p, 0); - pBackup = sqlite3_backup_init(p->db, zDb, pSrc, "main"); - if( pBackup==0 ){ - utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(p->db)); - sqlite3_close(pSrc); - return 1; - } - while( (rc = sqlite3_backup_step(pBackup,100))==SQLITE_OK - || rc==SQLITE_BUSY ){ - if( rc==SQLITE_BUSY ){ - if( nTimeout++ >= 3 ) break; - sqlite3_sleep(100); - } - } - sqlite3_backup_finish(pBackup); - if( rc==SQLITE_DONE ){ - rc = 0; - }else if( rc==SQLITE_BUSY || rc==SQLITE_LOCKED ){ - raw_printf(stderr, "Error: source database is busy\n"); - rc = 1; - }else{ - utf8_printf(stderr, "Error: %s\n", sqlite3_errmsg(p->db)); - rc = 1; - } - sqlite3_close(pSrc); - }else - - - if( c=='s' && strncmp(azArg[0], "scanstats", n)==0 ){ - if( nArg==2 ){ - p->scanstatsOn = booleanValue(azArg[1]); -#ifndef SQLITE_ENABLE_STMT_SCANSTATUS - raw_printf(stderr, "Warning: .scanstats not available in this build.\n"); -#endif - }else{ - raw_printf(stderr, "Usage: .scanstats on|off\n"); - rc = 1; - } - }else - - if( c=='s' && strncmp(azArg[0], "schema", n)==0 ){ - ShellState data; - char *zErrMsg = 0; - open_db(p, 0); - memcpy(&data, p, sizeof(data)); - data.showHeader = 0; - data.mode = MODE_Semi; - if( nArg==2 ){ - int i; - for(i=0; azArg[1][i]; i++) azArg[1][i] = ToLower(azArg[1][i]); - if( strcmp(azArg[1],"sqlite_master")==0 ){ - char *new_argv[2], *new_colv[2]; - new_argv[0] = "CREATE TABLE sqlite_master (\n" - " type text,\n" - " name text,\n" - " tbl_name text,\n" - " rootpage integer,\n" - " sql text\n" - ")"; - new_argv[1] = 0; - new_colv[0] = "sql"; - new_colv[1] = 0; - callback(&data, 1, new_argv, new_colv); - rc = SQLITE_OK; - }else if( strcmp(azArg[1],"sqlite_temp_master")==0 ){ - char *new_argv[2], *new_colv[2]; - new_argv[0] = "CREATE TEMP TABLE sqlite_temp_master (\n" - " type text,\n" - " name text,\n" - " tbl_name text,\n" - " rootpage integer,\n" - " sql text\n" - ")"; - new_argv[1] = 0; - new_colv[0] = "sql"; - new_colv[1] = 0; - callback(&data, 1, new_argv, new_colv); - rc = SQLITE_OK; - }else{ - zShellStatic = azArg[1]; - rc = sqlite3_exec(p->db, - "SELECT sql FROM " - " (SELECT sql sql, type type, tbl_name tbl_name, name name, rowid x" - " FROM sqlite_master UNION ALL" - " SELECT sql, type, tbl_name, name, rowid FROM sqlite_temp_master) " - "WHERE lower(tbl_name) LIKE shellstatic()" - " AND type!='meta' AND sql NOTNULL " - "ORDER BY rowid", - callback, &data, &zErrMsg); - zShellStatic = 0; - } - }else if( nArg==1 ){ - rc = sqlite3_exec(p->db, - "SELECT sql FROM " - " (SELECT sql sql, type type, tbl_name tbl_name, name name, rowid x" - " FROM sqlite_master UNION ALL" - " SELECT sql, type, tbl_name, name, rowid FROM sqlite_temp_master) " - "WHERE type!='meta' AND sql NOTNULL AND name NOT LIKE 'sqlite_%' " - "ORDER BY rowid", - callback, &data, &zErrMsg - ); - }else{ - raw_printf(stderr, "Usage: .schema ?LIKE-PATTERN?\n"); - rc = 1; - goto meta_command_exit; - } - if( zErrMsg ){ - utf8_printf(stderr,"Error: %s\n", zErrMsg); - sqlite3_free(zErrMsg); - rc = 1; - }else if( rc != SQLITE_OK ){ - raw_printf(stderr,"Error: querying schema information\n"); - rc = 1; - }else{ - rc = 0; - } - }else - - -#if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_SELECTTRACE) - if( c=='s' && n==11 && strncmp(azArg[0], "selecttrace", n)==0 ){ - extern int sqlite3SelectTrace; - sqlite3SelectTrace = integerValue(azArg[1]); - }else -#endif - - -#ifdef SQLITE_DEBUG - /* Undocumented commands for internal testing. Subject to change - ** without notice. */ - if( c=='s' && n>=10 && strncmp(azArg[0], "selftest-", 9)==0 ){ - if( strncmp(azArg[0]+9, "boolean", n-9)==0 ){ - int i, v; - for(i=1; iout, "%s: %d 0x%x\n", azArg[i], v, v); - } - } - if( strncmp(azArg[0]+9, "integer", n-9)==0 ){ - int i; sqlite3_int64 v; - for(i=1; iout, "%s", zBuf); - } - } - }else -#endif - - if( c=='s' && strncmp(azArg[0], "separator", n)==0 ){ - if( nArg<2 || nArg>3 ){ - raw_printf(stderr, "Usage: .separator COL ?ROW?\n"); - rc = 1; - } - if( nArg>=2 ){ - sqlite3_snprintf(sizeof(p->colSeparator), p->colSeparator, - "%.*s", (int)ArraySize(p->colSeparator)-1, azArg[1]); - } - if( nArg>=3 ){ - sqlite3_snprintf(sizeof(p->rowSeparator), p->rowSeparator, - "%.*s", (int)ArraySize(p->rowSeparator)-1, azArg[2]); - } - }else - - if( c=='s' - && (strncmp(azArg[0], "shell", n)==0 || strncmp(azArg[0],"system",n)==0) - ){ - char *zCmd; - int i, x; - if( nArg<2 ){ - raw_printf(stderr, "Usage: .system COMMAND\n"); - rc = 1; - goto meta_command_exit; - } - zCmd = sqlite3_mprintf(strchr(azArg[1],' ')==0?"%s":"\"%s\"", azArg[1]); - for(i=2; iout, "%12.12s: %s\n","echo", p->echoOn ? "on" : "off"); - utf8_printf(p->out, "%12.12s: %s\n","eqp", p->autoEQP ? "on" : "off"); - utf8_printf(p->out,"%9.9s: %s\n","explain",p->normalMode.valid?"on":"off"); - utf8_printf(p->out,"%12.12s: %s\n","headers", p->showHeader ? "on" : "off"); - utf8_printf(p->out, "%12.12s: %s\n","mode", modeDescr[p->mode]); - utf8_printf(p->out, "%12.12s: ", "nullvalue"); - output_c_string(p->out, p->nullValue); - raw_printf(p->out, "\n"); - utf8_printf(p->out,"%12.12s: %s\n","output", - strlen30(p->outfile) ? p->outfile : "stdout"); - utf8_printf(p->out,"%12.12s: ", "colseparator"); - output_c_string(p->out, p->colSeparator); - raw_printf(p->out, "\n"); - utf8_printf(p->out,"%12.12s: ", "rowseparator"); - output_c_string(p->out, p->rowSeparator); - raw_printf(p->out, "\n"); - utf8_printf(p->out, "%12.12s: %s\n","stats", p->statsOn ? "on" : "off"); - utf8_printf(p->out, "%12.12s: ", "width"); - for (i=0;i<(int)ArraySize(p->colWidth) && p->colWidth[i] != 0;i++) { - raw_printf(p->out, "%d ", p->colWidth[i]); - } - raw_printf(p->out, "\n"); - }else - - if( c=='s' && strncmp(azArg[0], "stats", n)==0 ){ - if( nArg==2 ){ - p->statsOn = booleanValue(azArg[1]); - }else{ - raw_printf(stderr, "Usage: .stats on|off\n"); - rc = 1; - } - }else - - if( c=='t' && n>1 && strncmp(azArg[0], "tables", n)==0 ){ - sqlite3_stmt *pStmt; - char **azResult; - int nRow, nAlloc; - char *zSql = 0; - int ii; - open_db(p, 0); - rc = sqlite3_prepare_v2(p->db, "PRAGMA database_list", -1, &pStmt, 0); - if( rc ) return shellDatabaseError(p->db); - - /* Create an SQL statement to query for the list of tables in the - ** main and all attached databases where the table name matches the - ** LIKE pattern bound to variable "?1". */ - zSql = sqlite3_mprintf( - "SELECT name FROM sqlite_master" - " WHERE type IN ('table','view')" - " AND name NOT LIKE 'sqlite_%%'" - " AND name LIKE ?1"); - while( zSql && sqlite3_step(pStmt)==SQLITE_ROW ){ - const char *zDbName = (const char*)sqlite3_column_text(pStmt, 1); - if( zDbName==0 || strcmp(zDbName,"main")==0 ) continue; - if( strcmp(zDbName,"temp")==0 ){ - zSql = sqlite3_mprintf( - "%z UNION ALL " - "SELECT 'temp.' || name FROM sqlite_temp_master" - " WHERE type IN ('table','view')" - " AND name NOT LIKE 'sqlite_%%'" - " AND name LIKE ?1", zSql); - }else{ - zSql = sqlite3_mprintf( - "%z UNION ALL " - "SELECT '%q.' || name FROM \"%w\".sqlite_master" - " WHERE type IN ('table','view')" - " AND name NOT LIKE 'sqlite_%%'" - " AND name LIKE ?1", zSql, zDbName, zDbName); - } - } - rc = sqlite3_finalize(pStmt); - if( zSql && rc==SQLITE_OK ){ - zSql = sqlite3_mprintf("%z ORDER BY 1", zSql); - if( zSql ) rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); - } - sqlite3_free(zSql); - if( !zSql ) return shellNomemError(); - if( rc ) return shellDatabaseError(p->db); - - /* Run the SQL statement prepared by the above block. Store the results - ** as an array of nul-terminated strings in azResult[]. */ - nRow = nAlloc = 0; - azResult = 0; - if( nArg>1 ){ - sqlite3_bind_text(pStmt, 1, azArg[1], -1, SQLITE_TRANSIENT); - }else{ - sqlite3_bind_text(pStmt, 1, "%", -1, SQLITE_STATIC); - } - while( sqlite3_step(pStmt)==SQLITE_ROW ){ - if( nRow>=nAlloc ){ - char **azNew; - int n2 = nAlloc*2 + 10; - azNew = sqlite3_realloc64(azResult, sizeof(azResult[0])*n2); - if( azNew==0 ){ - rc = shellNomemError(); - break; - } - nAlloc = n2; - azResult = azNew; - } - azResult[nRow] = sqlite3_mprintf("%s", sqlite3_column_text(pStmt, 0)); - if( 0==azResult[nRow] ){ - rc = shellNomemError(); - break; - } - nRow++; - } - if( sqlite3_finalize(pStmt)!=SQLITE_OK ){ - rc = shellDatabaseError(p->db); - } - - /* Pretty-print the contents of array azResult[] to the output */ - if( rc==0 && nRow>0 ){ - int len, maxlen = 0; - int i, j; - int nPrintCol, nPrintRow; - for(i=0; imaxlen ) maxlen = len; - } - nPrintCol = 80/(maxlen+2); - if( nPrintCol<1 ) nPrintCol = 1; - nPrintRow = (nRow + nPrintCol - 1)/nPrintCol; - for(i=0; iout, "%s%-*s", zSp, maxlen, - azResult[j] ? azResult[j]:""); - } - raw_printf(p->out, "\n"); - } - } - - for(ii=0; ii=8 && strncmp(azArg[0], "testctrl", n)==0 && nArg>=2 ){ - static const struct { - const char *zCtrlName; /* Name of a test-control option */ - int ctrlCode; /* Integer code for that option */ - } aCtrl[] = { - { "prng_save", SQLITE_TESTCTRL_PRNG_SAVE }, - { "prng_restore", SQLITE_TESTCTRL_PRNG_RESTORE }, - { "prng_reset", SQLITE_TESTCTRL_PRNG_RESET }, - { "bitvec_test", SQLITE_TESTCTRL_BITVEC_TEST }, - { "fault_install", SQLITE_TESTCTRL_FAULT_INSTALL }, - { "benign_malloc_hooks", SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS }, - { "pending_byte", SQLITE_TESTCTRL_PENDING_BYTE }, - { "assert", SQLITE_TESTCTRL_ASSERT }, - { "always", SQLITE_TESTCTRL_ALWAYS }, - { "reserve", SQLITE_TESTCTRL_RESERVE }, - { "optimizations", SQLITE_TESTCTRL_OPTIMIZATIONS }, - { "iskeyword", SQLITE_TESTCTRL_ISKEYWORD }, - { "scratchmalloc", SQLITE_TESTCTRL_SCRATCHMALLOC }, - { "byteorder", SQLITE_TESTCTRL_BYTEORDER }, - { "never_corrupt", SQLITE_TESTCTRL_NEVER_CORRUPT }, - { "imposter", SQLITE_TESTCTRL_IMPOSTER }, - }; - int testctrl = -1; - int rc2 = 0; - int i, n2; - open_db(p, 0); - - /* convert testctrl text option to value. allow any unique prefix - ** of the option name, or a numerical value. */ - n2 = strlen30(azArg[1]); - for(i=0; iSQLITE_TESTCTRL_LAST) ){ - utf8_printf(stderr,"Error: invalid testctrl option: %s\n", azArg[1]); - }else{ - switch(testctrl){ - - /* sqlite3_test_control(int, db, int) */ - case SQLITE_TESTCTRL_OPTIMIZATIONS: - case SQLITE_TESTCTRL_RESERVE: - if( nArg==3 ){ - int opt = (int)strtol(azArg[2], 0, 0); - rc2 = sqlite3_test_control(testctrl, p->db, opt); - raw_printf(p->out, "%d (0x%08x)\n", rc2, rc2); - } else { - utf8_printf(stderr,"Error: testctrl %s takes a single int option\n", - azArg[1]); - } - break; - - /* sqlite3_test_control(int) */ - case SQLITE_TESTCTRL_PRNG_SAVE: - case SQLITE_TESTCTRL_PRNG_RESTORE: - case SQLITE_TESTCTRL_PRNG_RESET: - case SQLITE_TESTCTRL_BYTEORDER: - if( nArg==2 ){ - rc2 = sqlite3_test_control(testctrl); - raw_printf(p->out, "%d (0x%08x)\n", rc2, rc2); - } else { - utf8_printf(stderr,"Error: testctrl %s takes no options\n", - azArg[1]); - } - break; - - /* sqlite3_test_control(int, uint) */ - case SQLITE_TESTCTRL_PENDING_BYTE: - if( nArg==3 ){ - unsigned int opt = (unsigned int)integerValue(azArg[2]); - rc2 = sqlite3_test_control(testctrl, opt); - raw_printf(p->out, "%d (0x%08x)\n", rc2, rc2); - } else { - utf8_printf(stderr,"Error: testctrl %s takes a single unsigned" - " int option\n", azArg[1]); - } - break; - - /* sqlite3_test_control(int, int) */ - case SQLITE_TESTCTRL_ASSERT: - case SQLITE_TESTCTRL_ALWAYS: - case SQLITE_TESTCTRL_NEVER_CORRUPT: - if( nArg==3 ){ - int opt = booleanValue(azArg[2]); - rc2 = sqlite3_test_control(testctrl, opt); - raw_printf(p->out, "%d (0x%08x)\n", rc2, rc2); - } else { - utf8_printf(stderr,"Error: testctrl %s takes a single int option\n", - azArg[1]); - } - break; - - /* sqlite3_test_control(int, char *) */ -#ifdef SQLITE_N_KEYWORD - case SQLITE_TESTCTRL_ISKEYWORD: - if( nArg==3 ){ - const char *opt = azArg[2]; - rc2 = sqlite3_test_control(testctrl, opt); - raw_printf(p->out, "%d (0x%08x)\n", rc2, rc2); - } else { - utf8_printf(stderr, - "Error: testctrl %s takes a single char * option\n", - azArg[1]); - } - break; -#endif - - case SQLITE_TESTCTRL_IMPOSTER: - if( nArg==5 ){ - rc2 = sqlite3_test_control(testctrl, p->db, - azArg[2], - integerValue(azArg[3]), - integerValue(azArg[4])); - raw_printf(p->out, "%d (0x%08x)\n", rc2, rc2); - }else{ - raw_printf(stderr,"Usage: .testctrl imposter dbName onoff tnum\n"); - } - break; - - case SQLITE_TESTCTRL_BITVEC_TEST: - case SQLITE_TESTCTRL_FAULT_INSTALL: - case SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS: - case SQLITE_TESTCTRL_SCRATCHMALLOC: - default: - utf8_printf(stderr, - "Error: CLI support for testctrl %s not implemented\n", - azArg[1]); - break; - } - } - }else - - if( c=='t' && n>4 && strncmp(azArg[0], "timeout", n)==0 ){ - open_db(p, 0); - sqlite3_busy_timeout(p->db, nArg>=2 ? (int)integerValue(azArg[1]) : 0); - }else - - if( c=='t' && n>=5 && strncmp(azArg[0], "timer", n)==0 ){ - if( nArg==2 ){ - enableTimer = booleanValue(azArg[1]); - if( enableTimer && !HAS_TIMER ){ - raw_printf(stderr, "Error: timer not available on this system.\n"); - enableTimer = 0; - } - }else{ - raw_printf(stderr, "Usage: .timer on|off\n"); - rc = 1; - } - }else - - if( c=='t' && strncmp(azArg[0], "trace", n)==0 ){ - open_db(p, 0); - if( nArg!=2 ){ - raw_printf(stderr, "Usage: .trace FILE|off\n"); - rc = 1; - goto meta_command_exit; - } - output_file_close(p->traceOut); - p->traceOut = output_file_open(azArg[1]); -#if !defined(SQLITE_OMIT_TRACE) && !defined(SQLITE_OMIT_FLOATING_POINT) - if( p->traceOut==0 ){ - sqlite3_trace(p->db, 0, 0); - }else{ - sqlite3_trace(p->db, sql_trace_callback, p->traceOut); - } -#endif - }else - -#if SQLITE_USER_AUTHENTICATION - if( c=='u' && strncmp(azArg[0], "user", n)==0 ){ - if( nArg<2 ){ - raw_printf(stderr, "Usage: .user SUBCOMMAND ...\n"); - rc = 1; - goto meta_command_exit; - } - open_db(p, 0); - if( strcmp(azArg[1],"login")==0 ){ - if( nArg!=4 ){ - raw_printf(stderr, "Usage: .user login USER PASSWORD\n"); - rc = 1; - goto meta_command_exit; - } - rc = sqlite3_user_authenticate(p->db, azArg[2], azArg[3], - (int)strlen(azArg[3])); - if( rc ){ - utf8_printf(stderr, "Authentication failed for user %s\n", azArg[2]); - rc = 1; - } - }else if( strcmp(azArg[1],"add")==0 ){ - if( nArg!=5 ){ - raw_printf(stderr, "Usage: .user add USER PASSWORD ISADMIN\n"); - rc = 1; - goto meta_command_exit; - } - rc = sqlite3_user_add(p->db, azArg[2], - azArg[3], (int)strlen(azArg[3]), - booleanValue(azArg[4])); - if( rc ){ - raw_printf(stderr, "User-Add failed: %d\n", rc); - rc = 1; - } - }else if( strcmp(azArg[1],"edit")==0 ){ - if( nArg!=5 ){ - raw_printf(stderr, "Usage: .user edit USER PASSWORD ISADMIN\n"); - rc = 1; - goto meta_command_exit; - } - rc = sqlite3_user_change(p->db, azArg[2], - azArg[3], (int)strlen(azArg[3]), - booleanValue(azArg[4])); - if( rc ){ - raw_printf(stderr, "User-Edit failed: %d\n", rc); - rc = 1; - } - }else if( strcmp(azArg[1],"delete")==0 ){ - if( nArg!=3 ){ - raw_printf(stderr, "Usage: .user delete USER\n"); - rc = 1; - goto meta_command_exit; - } - rc = sqlite3_user_delete(p->db, azArg[2]); - if( rc ){ - raw_printf(stderr, "User-Delete failed: %d\n", rc); - rc = 1; - } - }else{ - raw_printf(stderr, "Usage: .user login|add|edit|delete ...\n"); - rc = 1; - goto meta_command_exit; - } - }else -#endif /* SQLITE_USER_AUTHENTICATION */ - - if( c=='v' && strncmp(azArg[0], "version", n)==0 ){ - utf8_printf(p->out, "SQLite %s %s\n" /*extra-version-info*/, - sqlite3_libversion(), sqlite3_sourceid()); - }else - - if( c=='v' && strncmp(azArg[0], "vfsinfo", n)==0 ){ - const char *zDbName = nArg==2 ? azArg[1] : "main"; - sqlite3_vfs *pVfs; - if( p->db ){ - sqlite3_file_control(p->db, zDbName, SQLITE_FCNTL_VFS_POINTER, &pVfs); - if( pVfs ){ - utf8_printf(p->out, "vfs.zName = \"%s\"\n", pVfs->zName); - raw_printf(p->out, "vfs.iVersion = %d\n", pVfs->iVersion); - raw_printf(p->out, "vfs.szOsFile = %d\n", pVfs->szOsFile); - raw_printf(p->out, "vfs.mxPathname = %d\n", pVfs->mxPathname); - } - } - }else - - if( c=='v' && strncmp(azArg[0], "vfsname", n)==0 ){ - const char *zDbName = nArg==2 ? azArg[1] : "main"; - char *zVfsName = 0; - if( p->db ){ - sqlite3_file_control(p->db, zDbName, SQLITE_FCNTL_VFSNAME, &zVfsName); - if( zVfsName ){ - utf8_printf(p->out, "%s\n", zVfsName); - sqlite3_free(zVfsName); - } - } - }else - -#if defined(SQLITE_DEBUG) && defined(SQLITE_ENABLE_WHERETRACE) - if( c=='w' && strncmp(azArg[0], "wheretrace", n)==0 ){ - extern int sqlite3WhereTrace; - sqlite3WhereTrace = nArg>=2 ? booleanValue(azArg[1]) : 0xff; - }else -#endif - - if( c=='w' && strncmp(azArg[0], "width", n)==0 ){ - int j; - assert( nArg<=ArraySize(azArg) ); - for(j=1; jcolWidth); j++){ - p->colWidth[j-1] = (int)integerValue(azArg[j]); - } - }else - - { - utf8_printf(stderr, "Error: unknown command or invalid arguments: " - " \"%s\". Enter \".help\" for help\n", azArg[0]); - rc = 1; - } - -meta_command_exit: - if( p->outCount ){ - p->outCount--; - if( p->outCount==0 ) output_reset(p); - } - return rc; -} - -/* -** Return TRUE if a semicolon occurs anywhere in the first N characters -** of string z[]. -*/ -static int line_contains_semicolon(const char *z, int N){ - int i; - for(i=0; iout); - zLine = one_input_line(in, zLine, nSql>0); - if( zLine==0 ){ - /* End of input */ - if( stdin_is_interactive ) printf("\n"); - break; - } - if( seenInterrupt ){ - if( in!=0 ) break; - seenInterrupt = 0; - } - lineno++; - if( nSql==0 && _all_whitespace(zLine) ){ - if( p->echoOn ) printf("%s\n", zLine); - continue; - } - if( zLine && zLine[0]=='.' && nSql==0 ){ - if( p->echoOn ) printf("%s\n", zLine); - rc = do_meta_command(zLine, p); - if( rc==2 ){ /* exit requested */ - break; - }else if( rc ){ - errCnt++; - } - continue; - } - if( line_is_command_terminator(zLine) && line_is_complete(zSql, nSql) ){ - memcpy(zLine,";",2); - } - nLine = strlen30(zLine); - if( nSql+nLine+2>=nAlloc ){ - nAlloc = nSql+nLine+100; - zSql = realloc(zSql, nAlloc); - if( zSql==0 ){ - raw_printf(stderr, "Error: out of memory\n"); - exit(1); - } - } - nSqlPrior = nSql; - if( nSql==0 ){ - int i; - for(i=0; zLine[i] && IsSpace(zLine[i]); i++){} - assert( nAlloc>0 && zSql!=0 ); - memcpy(zSql, zLine+i, nLine+1-i); - startline = lineno; - nSql = nLine-i; - }else{ - zSql[nSql++] = '\n'; - memcpy(zSql+nSql, zLine, nLine+1); - nSql += nLine; - } - if( nSql && line_contains_semicolon(&zSql[nSqlPrior], nSql-nSqlPrior) - && sqlite3_complete(zSql) ){ - p->cnt = 0; - open_db(p, 0); - if( p->backslashOn ) resolve_backslashes(zSql); - BEGIN_TIMER; - rc = shell_exec(p->db, zSql, shell_callback, p, &zErrMsg); - END_TIMER; - if( rc || zErrMsg ){ - char zPrefix[100]; - if( in!=0 || !stdin_is_interactive ){ - sqlite3_snprintf(sizeof(zPrefix), zPrefix, - "Error: near line %d:", startline); - }else{ - sqlite3_snprintf(sizeof(zPrefix), zPrefix, "Error:"); - } - if( zErrMsg!=0 ){ - utf8_printf(stderr, "%s %s\n", zPrefix, zErrMsg); - sqlite3_free(zErrMsg); - zErrMsg = 0; - }else{ - utf8_printf(stderr, "%s %s\n", zPrefix, sqlite3_errmsg(p->db)); - } - errCnt++; - }else if( p->countChanges ){ - raw_printf(p->out, "changes: %3d total_changes: %d\n", - sqlite3_changes(p->db), sqlite3_total_changes(p->db)); - } - nSql = 0; - if( p->outCount ){ - output_reset(p); - p->outCount = 0; - } - }else if( nSql && _all_whitespace(zSql) ){ - if( p->echoOn ) printf("%s\n", zSql); - nSql = 0; - } - } - if( nSql ){ - if( !_all_whitespace(zSql) ){ - utf8_printf(stderr, "Error: incomplete SQL: %s\n", zSql); - errCnt++; - } - } - free(zSql); - free(zLine); - return errCnt>0; -} - -/* -** Return a pathname which is the user's home directory. A -** 0 return indicates an error of some kind. -*/ -static char *find_home_dir(void){ - static char *home_dir = NULL; - if( home_dir ) return home_dir; - -#if !defined(_WIN32) && !defined(WIN32) && !defined(_WIN32_WCE) \ - && !defined(__RTP__) && !defined(_WRS_KERNEL) - { - struct passwd *pwent; - uid_t uid = getuid(); - if( (pwent=getpwuid(uid)) != NULL) { - home_dir = pwent->pw_dir; - } - } -#endif - -#if defined(_WIN32_WCE) - /* Windows CE (arm-wince-mingw32ce-gcc) does not provide getenv() - */ - home_dir = "/"; -#else - -#if defined(_WIN32) || defined(WIN32) - if (!home_dir) { - home_dir = getenv("USERPROFILE"); - } -#endif - - if (!home_dir) { - home_dir = getenv("HOME"); - } - -#if defined(_WIN32) || defined(WIN32) - if (!home_dir) { - char *zDrive, *zPath; - int n; - zDrive = getenv("HOMEDRIVE"); - zPath = getenv("HOMEPATH"); - if( zDrive && zPath ){ - n = strlen30(zDrive) + strlen30(zPath) + 1; - home_dir = malloc( n ); - if( home_dir==0 ) return 0; - sqlite3_snprintf(n, home_dir, "%s%s", zDrive, zPath); - return home_dir; - } - home_dir = "c:\\"; - } -#endif - -#endif /* !_WIN32_WCE */ - - if( home_dir ){ - int n = strlen30(home_dir) + 1; - char *z = malloc( n ); - if( z ) memcpy(z, home_dir, n); - home_dir = z; - } - - return home_dir; -} - -/* -** Read input from the file given by sqliterc_override. Or if that -** parameter is NULL, take input from ~/.sqliterc -** -** Returns the number of errors. -*/ -static void process_sqliterc( - ShellState *p, /* Configuration data */ - const char *sqliterc_override /* Name of config file. NULL to use default */ -){ - char *home_dir = NULL; - const char *sqliterc = sqliterc_override; - char *zBuf = 0; - FILE *in = NULL; - - if (sqliterc == NULL) { - home_dir = find_home_dir(); - if( home_dir==0 ){ - raw_printf(stderr, "-- warning: cannot find home directory;" - " cannot read ~/.sqliterc\n"); - return; - } - sqlite3_initialize(); - zBuf = sqlite3_mprintf("%s/.sqliterc",home_dir); - sqliterc = zBuf; - } - in = fopen(sqliterc,"rb"); - if( in ){ - if( stdin_is_interactive ){ - utf8_printf(stderr,"-- Loading resources from %s\n",sqliterc); - } - process_input(p,in); - fclose(in); - } - sqlite3_free(zBuf); -} - -/* -** Show available command line options -*/ -static const char zOptions[] = - " -ascii set output mode to 'ascii'\n" - " -bail stop after hitting an error\n" - " -batch force batch I/O\n" - " -column set output mode to 'column'\n" - " -cmd COMMAND run \"COMMAND\" before reading stdin\n" - " -csv set output mode to 'csv'\n" - " -echo print commands before execution\n" - " -init FILENAME read/process named file\n" - " -[no]header turn headers on or off\n" -#if defined(SQLITE_ENABLE_MEMSYS3) || defined(SQLITE_ENABLE_MEMSYS5) - " -heap SIZE Size of heap for memsys3 or memsys5\n" -#endif - " -help show this message\n" - " -html set output mode to HTML\n" - " -interactive force interactive I/O\n" - " -line set output mode to 'line'\n" - " -list set output mode to 'list'\n" - " -lookaside SIZE N use N entries of SZ bytes for lookaside memory\n" - " -mmap N default mmap size set to N\n" -#ifdef SQLITE_ENABLE_MULTIPLEX - " -multiplex enable the multiplexor VFS\n" -#endif - " -newline SEP set output row separator. Default: '\\n'\n" - " -nullvalue TEXT set text string for NULL values. Default ''\n" - " -pagecache SIZE N use N slots of SZ bytes each for page cache memory\n" - " -scratch SIZE N use N slots of SZ bytes each for scratch memory\n" - " -separator SEP set output column separator. Default: '|'\n" - " -stats print memory stats before each finalize\n" - " -version show SQLite version\n" - " -vfs NAME use NAME as the default VFS\n" -#ifdef SQLITE_ENABLE_VFSTRACE - " -vfstrace enable tracing of all VFS calls\n" -#endif -; -static void usage(int showDetail){ - utf8_printf(stderr, - "Usage: %s [OPTIONS] FILENAME [SQL]\n" - "FILENAME is the name of an SQLite database. A new database is created\n" - "if the file does not previously exist.\n", Argv0); - if( showDetail ){ - utf8_printf(stderr, "OPTIONS include:\n%s", zOptions); - }else{ - raw_printf(stderr, "Use the -help option for additional information\n"); - } - exit(1); -} - -/* -** Initialize the state information in data -*/ -static void main_init(ShellState *data) { - memset(data, 0, sizeof(*data)); - data->mode = MODE_List; - memcpy(data->colSeparator,SEP_Column, 2); - memcpy(data->rowSeparator,SEP_Row, 2); - data->showHeader = 0; - data->shellFlgs = SHFLG_Lookaside; - sqlite3_config(SQLITE_CONFIG_URI, 1); - sqlite3_config(SQLITE_CONFIG_LOG, shellLog, data); - sqlite3_config(SQLITE_CONFIG_MULTITHREAD); - sqlite3_snprintf(sizeof(mainPrompt), mainPrompt,"sqlite> "); - sqlite3_snprintf(sizeof(continuePrompt), continuePrompt," ...> "); -} - -/* -** Output text to the console in a font that attracts extra attention. -*/ -#ifdef _WIN32 -static void printBold(const char *zText){ - HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); - CONSOLE_SCREEN_BUFFER_INFO defaultScreenInfo; - GetConsoleScreenBufferInfo(out, &defaultScreenInfo); - SetConsoleTextAttribute(out, - FOREGROUND_RED|FOREGROUND_INTENSITY - ); - printf("%s", zText); - SetConsoleTextAttribute(out, defaultScreenInfo.wAttributes); -} -#else -static void printBold(const char *zText){ - printf("\033[1m%s\033[0m", zText); -} -#endif - -/* -** Get the argument to an --option. Throw an error and die if no argument -** is available. -*/ -static char *cmdline_option_value(int argc, char **argv, int i){ - if( i==argc ){ - utf8_printf(stderr, "%s: Error: missing argument to %s\n", - argv[0], argv[argc-1]); - exit(1); - } - return argv[i]; -} - -int SQLITE_CDECL main(int argc, char **argv){ - char *zErrMsg = 0; - ShellState data; - const char *zInitFile = 0; - int i; - int rc = 0; - int warnInmemoryDb = 0; - int readStdin = 1; - int nCmd = 0; - char **azCmd = 0; - -#if USE_SYSTEM_SQLITE+0!=1 - if( strcmp(sqlite3_sourceid(),SQLITE_SOURCE_ID)!=0 ){ - utf8_printf(stderr, "SQLite header and source version mismatch\n%s\n%s\n", - sqlite3_sourceid(), SQLITE_SOURCE_ID); - exit(1); - } -#endif - setBinaryMode(stdin); - setvbuf(stderr, 0, _IONBF, 0); /* Make sure stderr is unbuffered */ - Argv0 = argv[0]; - main_init(&data); - stdin_is_interactive = isatty(0); - stdout_is_console = isatty(1); - - /* Make sure we have a valid signal handler early, before anything - ** else is done. - */ -#ifdef SIGINT - signal(SIGINT, interrupt_handler); -#endif - -#ifdef SQLITE_SHELL_DBNAME_PROC - { - /* If the SQLITE_SHELL_DBNAME_PROC macro is defined, then it is the name - ** of a C-function that will provide the name of the database file. Use - ** this compile-time option to embed this shell program in larger - ** applications. */ - extern void SQLITE_SHELL_DBNAME_PROC(const char**); - SQLITE_SHELL_DBNAME_PROC(&data.zDbFilename); - warnInmemoryDb = 0; - } -#endif - - /* Do an initial pass through the command-line argument to locate - ** the name of the database file, the name of the initialization file, - ** the size of the alternative malloc heap, - ** and the first command to execute. - */ - for(i=1; i0x7fff0000 ) szHeap = 0x7fff0000; - sqlite3_config(SQLITE_CONFIG_HEAP, malloc((int)szHeap), (int)szHeap, 64); -#endif - }else if( strcmp(z,"-scratch")==0 ){ - int n, sz; - sz = (int)integerValue(cmdline_option_value(argc,argv,++i)); - if( sz>400000 ) sz = 400000; - if( sz<2500 ) sz = 2500; - n = (int)integerValue(cmdline_option_value(argc,argv,++i)); - if( n>10 ) n = 10; - if( n<1 ) n = 1; - sqlite3_config(SQLITE_CONFIG_SCRATCH, malloc(n*sz+1), sz, n); - data.shellFlgs |= SHFLG_Scratch; - }else if( strcmp(z,"-pagecache")==0 ){ - int n, sz; - sz = (int)integerValue(cmdline_option_value(argc,argv,++i)); - if( sz>70000 ) sz = 70000; - if( sz<0 ) sz = 0; - n = (int)integerValue(cmdline_option_value(argc,argv,++i)); - sqlite3_config(SQLITE_CONFIG_PAGECACHE, - (n>0 && sz>0) ? malloc(n*sz) : 0, sz, n); - data.shellFlgs |= SHFLG_Pagecache; - }else if( strcmp(z,"-lookaside")==0 ){ - int n, sz; - sz = (int)integerValue(cmdline_option_value(argc,argv,++i)); - if( sz<0 ) sz = 0; - n = (int)integerValue(cmdline_option_value(argc,argv,++i)); - if( n<0 ) n = 0; - sqlite3_config(SQLITE_CONFIG_LOOKASIDE, sz, n); - if( sz*n==0 ) data.shellFlgs &= ~SHFLG_Lookaside; -#ifdef SQLITE_ENABLE_VFSTRACE - }else if( strcmp(z,"-vfstrace")==0 ){ - extern int vfstrace_register( - const char *zTraceName, - const char *zOldVfsName, - int (*xOut)(const char*,void*), - void *pOutArg, - int makeDefault - ); - vfstrace_register("trace",0,(int(*)(const char*,void*))fputs,stderr,1); -#endif -#ifdef SQLITE_ENABLE_MULTIPLEX - }else if( strcmp(z,"-multiplex")==0 ){ - extern int sqlite3_multiple_initialize(const char*,int); - sqlite3_multiplex_initialize(0, 1); -#endif - }else if( strcmp(z,"-mmap")==0 ){ - sqlite3_int64 sz = integerValue(cmdline_option_value(argc,argv,++i)); - sqlite3_config(SQLITE_CONFIG_MMAP_SIZE, sz, sz); - }else if( strcmp(z,"-vfs")==0 ){ - sqlite3_vfs *pVfs = sqlite3_vfs_find(cmdline_option_value(argc,argv,++i)); - if( pVfs ){ - sqlite3_vfs_register(pVfs, 1); - }else{ - utf8_printf(stderr, "no such VFS: \"%s\"\n", argv[i]); - exit(1); - } - } - } - if( data.zDbFilename==0 ){ -#ifndef SQLITE_OMIT_MEMORYDB - data.zDbFilename = ":memory:"; - warnInmemoryDb = argc==1; -#else - utf8_printf(stderr,"%s: Error: no database filename specified\n", Argv0); - return 1; -#endif - } - data.out = stdout; - - /* Go ahead and open the database file if it already exists. If the - ** file does not exist, delay opening it. This prevents empty database - ** files from being created if a user mistypes the database name argument - ** to the sqlite command-line tool. - */ - if( access(data.zDbFilename, 0)==0 ){ - open_db(&data, 0); - } - - /* Process the initialization file if there is one. If no -init option - ** is given on the command line, look for a file named ~/.sqliterc and - ** try to process it. - */ - process_sqliterc(&data,zInitFile); - - /* Make a second pass through the command-line argument and set - ** options. This second pass is delayed until after the initialization - ** file is processed so that the command-line arguments will override - ** settings in the initialization file. - */ - for(i=1; ixPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff); -** iOff>=0; +** iCol>=0; ** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff) ** ){ ** // An instance of phrase iPhrase at offset iOff of column iCol @@ -8527,13 +8547,51 @@ struct Fts5PhraseIter { ** ** The Fts5PhraseIter structure is defined above. Applications should not ** modify this structure directly - it should only be used as shown above -** with the xPhraseFirst() and xPhraseNext() API methods. +** with the xPhraseFirst() and xPhraseNext() API methods (and by +** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below). +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always iterates +** through an empty set (all calls to xPhraseFirst() set iCol to -1). ** ** xPhraseNext() ** See xPhraseFirst above. +** +** xPhraseFirstColumn() +** This function and xPhraseNextColumn() are similar to the xPhraseFirst() +** and xPhraseNext() APIs described above. The difference is that instead +** of iterating through all instances of a phrase in the current row, these +** APIs are used to iterate through the set of columns in the current row +** that contain one or more instances of a specified phrase. For example: +** +** Fts5PhraseIter iter; +** int iCol; +** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol); +** iCol>=0; +** pApi->xPhraseNextColumn(pFts, &iter, &iCol) +** ){ +** // Column iCol contains at least one instance of phrase iPhrase +** } +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" option. If the FTS5 table is created with either +** "detail=none" "content=" option (i.e. if it is a contentless table), +** then this API always iterates through an empty set (all calls to +** xPhraseFirstColumn() set iCol to -1). +** +** The information accessed using this API and its companion +** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext +** (or xInst/xInstCount). The chief advantage of this API is that it is +** significantly more efficient than those alternatives when used with +** "detail=column" tables. +** +** xPhraseNextColumn() +** See xPhraseFirstColumn above. */ struct Fts5ExtensionApi { - int iVersion; /* Currently always set to 1 */ + int iVersion; /* Currently always set to 3 */ void *(*xUserData)(Fts5Context*); @@ -8563,8 +8621,11 @@ struct Fts5ExtensionApi { int (*xSetAuxdata)(Fts5Context*, void *pAux, void(*xDelete)(void*)); void *(*xGetAuxdata)(Fts5Context*, int bClear); - void (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); + int (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); void (*xPhraseNext)(Fts5Context*, Fts5PhraseIter*, int *piCol, int *piOff); + + int (*xPhraseFirstColumn)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*); + void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*, int *piCol); }; /* @@ -9348,6 +9409,21 @@ SQLITE_PRIVATE void sqlite3Coverage(int); # define NEVER(X) (X) #endif +/* +** Some malloc failures are only possible if SQLITE_TEST_REALLOC_STRESS is +** defined. We need to defend against those failures when testing with +** SQLITE_TEST_REALLOC_STRESS, but we don't want the unreachable branches +** during a normal build. The following macro can be used to disable tests +** that are always false except when SQLITE_TEST_REALLOC_STRESS is set. +*/ +#if defined(SQLITE_TEST_REALLOC_STRESS) +# define ONLY_IF_REALLOC_STRESS(X) (X) +#elif !defined(NDEBUG) +# define ONLY_IF_REALLOC_STRESS(X) ((X)?(assert(0),1):0) +#else +# define ONLY_IF_REALLOC_STRESS(X) (0) +#endif + /* ** Declarations used for tracing the operating system interfaces. */ @@ -9984,10 +10060,6 @@ typedef INT16_TYPE LogEst; */ #ifdef __APPLE__ # include -# if TARGET_OS_IPHONE -# undef SQLITE_MAX_MMAP_SIZE -# define SQLITE_MAX_MMAP_SIZE 0 -# endif #endif #ifndef SQLITE_MAX_MMAP_SIZE # if defined(__linux__) \ @@ -10399,14 +10471,24 @@ SQLITE_PRIVATE int sqlite3BtreeNewDb(Btree *p); ** Flags passed as the third argument to sqlite3BtreeCursor(). ** ** For read-only cursors the wrFlag argument is always zero. For read-write -** cursors it may be set to either (BTREE_WRCSR|BTREE_FORDELETE) or -** (BTREE_WRCSR). If the BTREE_FORDELETE flag is set, then the cursor will +** cursors it may be set to either (BTREE_WRCSR|BTREE_FORDELETE) or just +** (BTREE_WRCSR). If the BTREE_FORDELETE bit is set, then the cursor will ** only be used by SQLite for the following: ** -** * to seek to and delete specific entries, and/or +** * to seek to and then delete specific entries, and/or ** ** * to read values that will be used to create keys that other ** BTREE_FORDELETE cursors will seek to and delete. +** +** The BTREE_FORDELETE flag is an optimization hint. It is not used by +** by this, the native b-tree engine of SQLite, but it is available to +** alternative storage engines that might be substituted in place of this +** b-tree system. For alternative storage engines in which a delete of +** the main table row automatically deletes corresponding index rows, +** the FORDELETE flag hint allows those alternative storage engines to +** skip a lot of work. Namely: FORDELETE cursors may treat all SEEK +** and DELETE operations as no-ops, and any READ operation against a +** FORDELETE cursor may return a null row: 0x01 0x00. */ #define BTREE_WRCSR 0x00000004 /* read-write cursor */ #define BTREE_FORDELETE 0x00000008 /* Cursor is for seek/delete only */ @@ -10435,7 +10517,12 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( ); SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor*); SQLITE_PRIVATE int sqlite3BtreeCursorRestore(BtCursor*, int*); -SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor*, int); +SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor*, u8 flags); + +/* Allowed flags for the 2nd argument to sqlite3BtreeDelete() */ +#define BTREE_SAVEPOSITION 0x02 /* Leave cursor pointing at NEXT or PREV */ +#define BTREE_AUXDELETE 0x04 /* not the primary delete operation */ + SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const void *pKey, i64 nKey, const void *pData, int nData, int nZero, int bias, int seekResult); @@ -10487,15 +10574,17 @@ SQLITE_PRIVATE int sqlite3BtreeCheckpoint(Btree*, int, int *, int *); #ifndef SQLITE_OMIT_SHARED_CACHE SQLITE_PRIVATE void sqlite3BtreeEnter(Btree*); SQLITE_PRIVATE void sqlite3BtreeEnterAll(sqlite3*); +SQLITE_PRIVATE int sqlite3BtreeSharable(Btree*); +SQLITE_PRIVATE void sqlite3BtreeEnterCursor(BtCursor*); #else # define sqlite3BtreeEnter(X) # define sqlite3BtreeEnterAll(X) +# define sqlite3BtreeSharable(X) 0 +# define sqlite3BtreeEnterCursor(X) #endif #if !defined(SQLITE_OMIT_SHARED_CACHE) && SQLITE_THREADSAFE -SQLITE_PRIVATE int sqlite3BtreeSharable(Btree*); SQLITE_PRIVATE void sqlite3BtreeLeave(Btree*); -SQLITE_PRIVATE void sqlite3BtreeEnterCursor(BtCursor*); SQLITE_PRIVATE void sqlite3BtreeLeaveCursor(BtCursor*); SQLITE_PRIVATE void sqlite3BtreeLeaveAll(sqlite3*); #ifndef NDEBUG @@ -10506,9 +10595,7 @@ SQLITE_PRIVATE int sqlite3SchemaMutexHeld(sqlite3*,int,Schema*); #endif #else -# define sqlite3BtreeSharable(X) 0 # define sqlite3BtreeLeave(X) -# define sqlite3BtreeEnterCursor(X) # define sqlite3BtreeLeaveCursor(X) # define sqlite3BtreeLeaveAll(X) @@ -10693,81 +10780,82 @@ typedef struct VdbeOpList VdbeOpList; /************** Begin file opcodes.h *****************************************/ /* Automatically generated. Do not edit */ /* See the tool/mkopcodeh.tcl script for details */ -#define OP_Savepoint 1 -#define OP_AutoCommit 2 -#define OP_Transaction 3 -#define OP_SorterNext 4 -#define OP_PrevIfOpen 5 -#define OP_NextIfOpen 6 -#define OP_Prev 7 -#define OP_Next 8 -#define OP_Checkpoint 9 -#define OP_JournalMode 10 -#define OP_Vacuum 11 -#define OP_VFilter 12 /* synopsis: iplan=r[P3] zplan='P4' */ -#define OP_VUpdate 13 /* synopsis: data=r[P3@P2] */ -#define OP_Goto 14 -#define OP_Gosub 15 -#define OP_Return 16 -#define OP_InitCoroutine 17 -#define OP_EndCoroutine 18 +#define OP_Savepoint 0 +#define OP_AutoCommit 1 +#define OP_Transaction 2 +#define OP_SorterNext 3 +#define OP_PrevIfOpen 4 +#define OP_NextIfOpen 5 +#define OP_Prev 6 +#define OP_Next 7 +#define OP_Checkpoint 8 +#define OP_JournalMode 9 +#define OP_Vacuum 10 +#define OP_VFilter 11 /* synopsis: iplan=r[P3] zplan='P4' */ +#define OP_VUpdate 12 /* synopsis: data=r[P3@P2] */ +#define OP_Goto 13 +#define OP_Gosub 14 +#define OP_Return 15 +#define OP_InitCoroutine 16 +#define OP_EndCoroutine 17 +#define OP_Yield 18 #define OP_Not 19 /* same as TK_NOT, synopsis: r[P2]= !r[P1] */ -#define OP_Yield 20 -#define OP_HaltIfNull 21 /* synopsis: if r[P3]=null halt */ -#define OP_Halt 22 -#define OP_Integer 23 /* synopsis: r[P2]=P1 */ -#define OP_Int64 24 /* synopsis: r[P2]=P4 */ -#define OP_String 25 /* synopsis: r[P2]='P4' (len=P1) */ -#define OP_Null 26 /* synopsis: r[P2..P3]=NULL */ -#define OP_SoftNull 27 /* synopsis: r[P1]=NULL */ -#define OP_Blob 28 /* synopsis: r[P2]=P4 (len=P1) */ -#define OP_Variable 29 /* synopsis: r[P2]=parameter(P1,P4) */ -#define OP_Move 30 /* synopsis: r[P2@P3]=r[P1@P3] */ -#define OP_Copy 31 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ -#define OP_SCopy 32 /* synopsis: r[P2]=r[P1] */ -#define OP_IntCopy 33 /* synopsis: r[P2]=r[P1] */ -#define OP_ResultRow 34 /* synopsis: output=r[P1@P2] */ -#define OP_CollSeq 35 -#define OP_Function0 36 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_Function 37 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_AddImm 38 /* synopsis: r[P1]=r[P1]+P2 */ -#define OP_MustBeInt 39 -#define OP_RealAffinity 40 -#define OP_Cast 41 /* synopsis: affinity(r[P1]) */ -#define OP_Permutation 42 -#define OP_Compare 43 /* synopsis: r[P1@P3] <-> r[P2@P3] */ -#define OP_Jump 44 -#define OP_Once 45 -#define OP_If 46 -#define OP_IfNot 47 -#define OP_Column 48 /* synopsis: r[P3]=PX */ -#define OP_Affinity 49 /* synopsis: affinity(r[P1@P2]) */ -#define OP_MakeRecord 50 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ -#define OP_Count 51 /* synopsis: r[P2]=count() */ -#define OP_ReadCookie 52 -#define OP_SetCookie 53 -#define OP_ReopenIdx 54 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenRead 55 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenWrite 56 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenAutoindex 57 /* synopsis: nColumn=P2 */ -#define OP_OpenEphemeral 58 /* synopsis: nColumn=P2 */ -#define OP_SorterOpen 59 -#define OP_SequenceTest 60 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ -#define OP_OpenPseudo 61 /* synopsis: P3 columns in r[P2] */ -#define OP_Close 62 -#define OP_ColumnsUsed 63 -#define OP_SeekLT 64 /* synopsis: key=r[P3@P4] */ -#define OP_SeekLE 65 /* synopsis: key=r[P3@P4] */ -#define OP_SeekGE 66 /* synopsis: key=r[P3@P4] */ -#define OP_SeekGT 67 /* synopsis: key=r[P3@P4] */ -#define OP_Seek 68 /* synopsis: intkey=r[P2] */ -#define OP_NoConflict 69 /* synopsis: key=r[P3@P4] */ -#define OP_NotFound 70 /* synopsis: key=r[P3@P4] */ +#define OP_HaltIfNull 20 /* synopsis: if r[P3]=null halt */ +#define OP_Halt 21 +#define OP_Integer 22 /* synopsis: r[P2]=P1 */ +#define OP_Int64 23 /* synopsis: r[P2]=P4 */ +#define OP_String 24 /* synopsis: r[P2]='P4' (len=P1) */ +#define OP_Null 25 /* synopsis: r[P2..P3]=NULL */ +#define OP_SoftNull 26 /* synopsis: r[P1]=NULL */ +#define OP_Blob 27 /* synopsis: r[P2]=P4 (len=P1) */ +#define OP_Variable 28 /* synopsis: r[P2]=parameter(P1,P4) */ +#define OP_Move 29 /* synopsis: r[P2@P3]=r[P1@P3] */ +#define OP_Copy 30 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ +#define OP_SCopy 31 /* synopsis: r[P2]=r[P1] */ +#define OP_IntCopy 32 /* synopsis: r[P2]=r[P1] */ +#define OP_ResultRow 33 /* synopsis: output=r[P1@P2] */ +#define OP_CollSeq 34 +#define OP_Function0 35 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_Function 36 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_AddImm 37 /* synopsis: r[P1]=r[P1]+P2 */ +#define OP_MustBeInt 38 +#define OP_RealAffinity 39 +#define OP_Cast 40 /* synopsis: affinity(r[P1]) */ +#define OP_Permutation 41 +#define OP_Compare 42 /* synopsis: r[P1@P3] <-> r[P2@P3] */ +#define OP_Jump 43 +#define OP_Once 44 +#define OP_If 45 +#define OP_IfNot 46 +#define OP_Column 47 /* synopsis: r[P3]=PX */ +#define OP_Affinity 48 /* synopsis: affinity(r[P1@P2]) */ +#define OP_MakeRecord 49 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ +#define OP_Count 50 /* synopsis: r[P2]=count() */ +#define OP_ReadCookie 51 +#define OP_SetCookie 52 +#define OP_ReopenIdx 53 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenRead 54 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenWrite 55 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenAutoindex 56 /* synopsis: nColumn=P2 */ +#define OP_OpenEphemeral 57 /* synopsis: nColumn=P2 */ +#define OP_SorterOpen 58 +#define OP_SequenceTest 59 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ +#define OP_OpenPseudo 60 /* synopsis: P3 columns in r[P2] */ +#define OP_Close 61 +#define OP_ColumnsUsed 62 +#define OP_SeekLT 63 /* synopsis: key=r[P3@P4] */ +#define OP_SeekLE 64 /* synopsis: key=r[P3@P4] */ +#define OP_SeekGE 65 /* synopsis: key=r[P3@P4] */ +#define OP_SeekGT 66 /* synopsis: key=r[P3@P4] */ +#define OP_NoConflict 67 /* synopsis: key=r[P3@P4] */ +#define OP_NotFound 68 /* synopsis: key=r[P3@P4] */ +#define OP_Found 69 /* synopsis: key=r[P3@P4] */ +#define OP_NotExists 70 /* synopsis: intkey=r[P3] */ #define OP_Or 71 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */ #define OP_And 72 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */ -#define OP_Found 73 /* synopsis: key=r[P3@P4] */ -#define OP_NotExists 74 /* synopsis: intkey=r[P3] */ -#define OP_Sequence 75 /* synopsis: r[P2]=cursor[P1].ctr++ */ +#define OP_Sequence 73 /* synopsis: r[P2]=cursor[P1].ctr++ */ +#define OP_NewRowid 74 /* synopsis: r[P2]=rowid */ +#define OP_Insert 75 /* synopsis: intkey=r[P3] data=r[P2] */ #define OP_IsNull 76 /* same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ #define OP_NotNull 77 /* same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ #define OP_Ne 78 /* same as TK_NE, synopsis: if r[P1]!=r[P3] goto P2 */ @@ -10776,7 +10864,7 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Le 81 /* same as TK_LE, synopsis: if r[P1]<=r[P3] goto P2 */ #define OP_Lt 82 /* same as TK_LT, synopsis: if r[P1]=r[P3] goto P2 */ -#define OP_NewRowid 84 /* synopsis: r[P2]=rowid */ +#define OP_InsertInt 84 /* synopsis: intkey=P3 data=r[P2] */ #define OP_BitAnd 85 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ #define OP_BitOr 86 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ #define OP_ShiftLeft 87 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<0 then r[P1]-=P3, goto P2 */ -#define OP_SetIfNotPos 140 /* synopsis: if r[P1]<=0 then r[P2]=P3 */ -#define OP_IfNotZero 141 /* synopsis: if r[P1]!=0 then r[P1]-=P3, goto P2 */ -#define OP_DecrJumpZero 142 /* synopsis: if (--r[P1])==0 goto P2 */ -#define OP_JumpZeroIncr 143 /* synopsis: if (r[P1]++)==0 ) goto P2 */ -#define OP_AggStep0 144 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggStep 145 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggFinal 146 /* synopsis: accum=r[P1] N=P2 */ -#define OP_IncrVacuum 147 -#define OP_Expire 148 -#define OP_TableLock 149 /* synopsis: iDb=P1 root=P2 write=P3 */ -#define OP_VBegin 150 -#define OP_VCreate 151 -#define OP_VDestroy 152 -#define OP_VOpen 153 -#define OP_VColumn 154 /* synopsis: r[P3]=vcolumn(P2) */ -#define OP_VNext 155 -#define OP_VRename 156 -#define OP_Pagecount 157 -#define OP_MaxPgcnt 158 -#define OP_Init 159 /* synopsis: Start at P2 */ -#define OP_CursorHint 160 -#define OP_Noop 161 -#define OP_Explain 162 +#define OP_Param 134 +#define OP_FkCounter 135 /* synopsis: fkctr[P1]+=P2 */ +#define OP_FkIfZero 136 /* synopsis: if fkctr[P1]==0 goto P2 */ +#define OP_MemMax 137 /* synopsis: r[P1]=max(r[P1],r[P2]) */ +#define OP_IfPos 138 /* synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */ +#define OP_OffsetLimit 139 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ +#define OP_IfNotZero 140 /* synopsis: if r[P1]!=0 then r[P1]-=P3, goto P2 */ +#define OP_DecrJumpZero 141 /* synopsis: if (--r[P1])==0 goto P2 */ +#define OP_JumpZeroIncr 142 /* synopsis: if (r[P1]++)==0 ) goto P2 */ +#define OP_AggStep0 143 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggStep 144 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggFinal 145 /* synopsis: accum=r[P1] N=P2 */ +#define OP_IncrVacuum 146 +#define OP_Expire 147 +#define OP_TableLock 148 /* synopsis: iDb=P1 root=P2 write=P3 */ +#define OP_VBegin 149 +#define OP_VCreate 150 +#define OP_VDestroy 151 +#define OP_VOpen 152 +#define OP_VColumn 153 /* synopsis: r[P3]=vcolumn(P2) */ +#define OP_VNext 154 +#define OP_VRename 155 +#define OP_Pagecount 156 +#define OP_MaxPgcnt 157 +#define OP_Init 158 /* synopsis: Start at P2 */ +#define OP_CursorHint 159 +#define OP_Noop 160 +#define OP_Explain 161 /* Properties such as "out2" or "jump" that are specified in ** comments following the "case" for each opcode in the vdbe.c ** are encoded into bitvectors as follows: */ -#define OPFLG_JUMP 0x0001 /* jump: P2 holds jmp target */ -#define OPFLG_IN1 0x0002 /* in1: P1 is an input */ -#define OPFLG_IN2 0x0004 /* in2: P2 is an input */ -#define OPFLG_IN3 0x0008 /* in3: P3 is an input */ -#define OPFLG_OUT2 0x0010 /* out2: P2 is an output */ -#define OPFLG_OUT3 0x0020 /* out3: P3 is an output */ +#define OPFLG_JUMP 0x01 /* jump: P2 holds jmp target */ +#define OPFLG_IN1 0x02 /* in1: P1 is an input */ +#define OPFLG_IN2 0x04 /* in2: P2 is an input */ +#define OPFLG_IN3 0x08 /* in3: P3 is an input */ +#define OPFLG_OUT2 0x10 /* out2: P2 is an output */ +#define OPFLG_OUT3 0x20 /* out3: P3 is an output */ #define OPFLG_INITIALIZER {\ -/* 0 */ 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,\ -/* 8 */ 0x01, 0x00, 0x10, 0x00, 0x01, 0x00, 0x01, 0x01,\ -/* 16 */ 0x02, 0x01, 0x02, 0x12, 0x03, 0x08, 0x00, 0x10,\ -/* 24 */ 0x10, 0x10, 0x10, 0x00, 0x10, 0x10, 0x00, 0x00,\ -/* 32 */ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03,\ -/* 40 */ 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03,\ -/* 48 */ 0x00, 0x00, 0x00, 0x10, 0x10, 0x08, 0x00, 0x00,\ -/* 56 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 64 */ 0x09, 0x09, 0x09, 0x09, 0x04, 0x09, 0x09, 0x26,\ -/* 72 */ 0x26, 0x09, 0x09, 0x10, 0x03, 0x03, 0x0b, 0x0b,\ -/* 80 */ 0x0b, 0x0b, 0x0b, 0x0b, 0x10, 0x26, 0x26, 0x26,\ +/* 0 */ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,\ +/* 8 */ 0x00, 0x10, 0x00, 0x01, 0x00, 0x01, 0x01, 0x02,\ +/* 16 */ 0x01, 0x02, 0x03, 0x12, 0x08, 0x00, 0x10, 0x10,\ +/* 24 */ 0x10, 0x10, 0x00, 0x10, 0x10, 0x00, 0x00, 0x10,\ +/* 32 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x02,\ +/* 40 */ 0x02, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x00,\ +/* 48 */ 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,\ +/* 56 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,\ +/* 64 */ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x26,\ +/* 72 */ 0x26, 0x10, 0x10, 0x00, 0x03, 0x03, 0x0b, 0x0b,\ +/* 80 */ 0x0b, 0x0b, 0x0b, 0x0b, 0x00, 0x26, 0x26, 0x26,\ /* 88 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x00,\ -/* 96 */ 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 104 */ 0x00, 0x10, 0x00, 0x01, 0x01, 0x01, 0x01, 0x04,\ -/* 112 */ 0x04, 0x00, 0x10, 0x01, 0x01, 0x01, 0x01, 0x10,\ -/* 120 */ 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00,\ -/* 128 */ 0x00, 0x00, 0x06, 0x23, 0x0b, 0x10, 0x01, 0x10,\ -/* 136 */ 0x00, 0x01, 0x04, 0x03, 0x06, 0x03, 0x03, 0x03,\ -/* 144 */ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,\ -/* 152 */ 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x10, 0x01,\ -/* 160 */ 0x00, 0x00, 0x00,} +/* 96 */ 0x12, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,\ +/* 104 */ 0x00, 0x01, 0x01, 0x01, 0x01, 0x04, 0x04, 0x00,\ +/* 112 */ 0x00, 0x10, 0x01, 0x01, 0x01, 0x01, 0x10, 0x00,\ +/* 120 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 128 */ 0x00, 0x06, 0x23, 0x0b, 0x01, 0x10, 0x10, 0x00,\ +/* 136 */ 0x01, 0x04, 0x03, 0x1a, 0x03, 0x03, 0x03, 0x00,\ +/* 144 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 152 */ 0x00, 0x00, 0x01, 0x00, 0x10, 0x10, 0x01, 0x00,\ +/* 160 */ 0x00, 0x00,} /************** End of opcodes.h *********************************************/ /************** Continuing where we left off in vdbe.h ***********************/ @@ -10907,7 +10994,13 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp3(Vdbe*,int,int,int,int); SQLITE_PRIVATE int sqlite3VdbeAddOp4(Vdbe*,int,int,int,int,const char *zP4,int); SQLITE_PRIVATE int sqlite3VdbeAddOp4Dup8(Vdbe*,int,int,int,int,const u8*,int); SQLITE_PRIVATE int sqlite3VdbeAddOp4Int(Vdbe*,int,int,int,int,int); -SQLITE_PRIVATE int sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp, int iLineno); +SQLITE_PRIVATE void sqlite3VdbeEndCoroutine(Vdbe*,int); +#if defined(SQLITE_DEBUG) && !defined(SQLITE_TEST_REALLOC_STRESS) +SQLITE_PRIVATE void sqlite3VdbeVerifyNoMallocRequired(Vdbe *p, int N); +#else +# define sqlite3VdbeVerifyNoMallocRequired(A,B) +#endif +SQLITE_PRIVATE VdbeOp *sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp, int iLineno); SQLITE_PRIVATE void sqlite3VdbeAddParseSchemaOp(Vdbe*,int,char*); SQLITE_PRIVATE void sqlite3VdbeChangeOpcode(Vdbe*, u32 addr, u8); SQLITE_PRIVATE void sqlite3VdbeChangeP1(Vdbe*, u32 addr, int P1); @@ -10915,7 +11008,7 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe*, u32 addr, int P2); SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe*, u32 addr, int P3); SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe*, u8 P5); SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe*, int addr); -SQLITE_PRIVATE void sqlite3VdbeChangeToNoop(Vdbe*, int addr); +SQLITE_PRIVATE int sqlite3VdbeChangeToNoop(Vdbe*, int addr); SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe*, u8 op); SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe*, int addr, const char *zP4, int N); SQLITE_PRIVATE void sqlite3VdbeSetP4KeyInfo(Parse*, Index*); @@ -11125,11 +11218,12 @@ typedef struct PgHdr DbPage; #define PAGER_SYNCHRONOUS_OFF 0x01 /* PRAGMA synchronous=OFF */ #define PAGER_SYNCHRONOUS_NORMAL 0x02 /* PRAGMA synchronous=NORMAL */ #define PAGER_SYNCHRONOUS_FULL 0x03 /* PRAGMA synchronous=FULL */ -#define PAGER_SYNCHRONOUS_MASK 0x03 /* Mask for three values above */ -#define PAGER_FULLFSYNC 0x04 /* PRAGMA fullfsync=ON */ -#define PAGER_CKPT_FULLFSYNC 0x08 /* PRAGMA checkpoint_fullfsync=ON */ -#define PAGER_CACHESPILL 0x10 /* PRAGMA cache_spill=ON */ -#define PAGER_FLAGS_MASK 0x1c /* All above except SYNCHRONOUS */ +#define PAGER_SYNCHRONOUS_EXTRA 0x04 /* PRAGMA synchronous=EXTRA */ +#define PAGER_SYNCHRONOUS_MASK 0x07 /* Mask for four values above */ +#define PAGER_FULLFSYNC 0x08 /* PRAGMA fullfsync=ON */ +#define PAGER_CKPT_FULLFSYNC 0x10 /* PRAGMA checkpoint_fullfsync=ON */ +#define PAGER_CACHESPILL 0x20 /* PRAGMA cache_spill=ON */ +#define PAGER_FLAGS_MASK 0x38 /* All above except SYNCHRONOUS */ /* ** The remainder of this file contains the declarations of the functions @@ -11319,6 +11413,8 @@ struct PgHdr { #define PGHDR_DONT_WRITE 0x020 /* Do not write content to disk */ #define PGHDR_MMAP 0x040 /* This is an mmap page object */ +#define PGHDR_WAL_APPEND 0x080 /* Appended to wal file */ + /* Initialize and shutdown the page cache subsystem */ SQLITE_PRIVATE int sqlite3PcacheInitialize(void); SQLITE_PRIVATE void sqlite3PcacheShutdown(void); @@ -11887,8 +11983,8 @@ struct Schema { ** lookaside allocations are not used to construct the schema objects. */ struct Lookaside { + u32 bDisable; /* Only operate the lookaside when zero */ u16 sz; /* Size of each buffer in bytes */ - u8 bEnabled; /* False to disable new lookaside allocations */ u8 bMalloced; /* True if pStart obtained from sqlite3_malloc() */ int nOut; /* Number of buffers currently checked out */ int mxOut; /* Highwater mark for nOut */ @@ -11971,6 +12067,7 @@ struct sqlite3 { u8 autoCommit; /* The auto-commit flag. */ u8 temp_store; /* 1: file 2: memory 0: default */ u8 mallocFailed; /* True if we have seen a malloc failure */ + u8 bBenignMalloc; /* Do not require OOMs if true */ u8 dfltLockMode; /* Default locking-mode for attached dbs */ signed char nextAutovac; /* Autovac setting after VACUUM if >=0 */ u8 suppressErr; /* Do not issue error messages if true */ @@ -12079,10 +12176,10 @@ struct sqlite3 { */ #define SQLITE_VdbeTrace 0x00000001 /* True to trace VDBE execution */ #define SQLITE_InternChanges 0x00000002 /* Uncommitted Hash table changes */ -#define SQLITE_FullFSync 0x00000004 /* Use full fsync on the backend */ -#define SQLITE_CkptFullFSync 0x00000008 /* Use full fsync for checkpoint */ -#define SQLITE_CacheSpill 0x00000010 /* OK to spill pager cache */ -#define SQLITE_FullColNames 0x00000020 /* Show full column names on SELECT */ +#define SQLITE_FullColNames 0x00000004 /* Show full column names on SELECT */ +#define SQLITE_FullFSync 0x00000008 /* Use full fsync on the backend */ +#define SQLITE_CkptFullFSync 0x00000010 /* Use full fsync for checkpoint */ +#define SQLITE_CacheSpill 0x00000020 /* OK to spill pager cache */ #define SQLITE_ShortColNames 0x00000040 /* Show short columns names */ #define SQLITE_CountRows 0x00000080 /* Count rows changed by INSERT, */ /* DELETE, or UPDATE and return */ @@ -12171,9 +12268,8 @@ struct FuncDef { u16 funcFlags; /* Some combination of SQLITE_FUNC_* */ void *pUserData; /* User data parameter */ FuncDef *pNext; /* Next function with same name */ - void (*xFunc)(sqlite3_context*,int,sqlite3_value**); /* Regular function */ - void (*xStep)(sqlite3_context*,int,sqlite3_value**); /* Aggregate step */ - void (*xFinalize)(sqlite3_context*); /* Aggregate finalizer */ + void (*xSFunc)(sqlite3_context*,int,sqlite3_value**); /* func or agg-step */ + void (*xFinalize)(sqlite3_context*); /* Agg finalizer */ char *zName; /* SQL name of the function. */ FuncDef *pHash; /* Next with a different name but the same hash */ FuncDestructor *pDestructor; /* Reference counted destructor function */ @@ -12256,28 +12352,28 @@ struct FuncDestructor { */ #define FUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_CONSTANT|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} #define VFUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} #define DFUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} #define FUNCTION2(zName, nArg, iArg, bNC, xFunc, extraFlags) \ {nArg,SQLITE_FUNC_CONSTANT|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL)|extraFlags,\ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} #define STR_FUNCTION(zName, nArg, pArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - pArg, 0, xFunc, 0, 0, #zName, 0, 0} + pArg, 0, xFunc, 0, #zName, 0, 0} #define LIKEFUNC(zName, nArg, arg, flags) \ {nArg, SQLITE_FUNC_CONSTANT|SQLITE_UTF8|flags, \ - (void *)arg, 0, likeFunc, 0, 0, #zName, 0, 0} + (void *)arg, 0, likeFunc, 0, #zName, 0, 0} #define AGGREGATE(zName, nArg, arg, nc, xStep, xFinal) \ {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(arg), 0, 0, xStep,xFinal,#zName,0,0} + SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName,0,0} #define AGGREGATE2(zName, nArg, arg, nc, xStep, xFinal, extraFlags) \ {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL)|extraFlags, \ - SQLITE_INT_TO_PTR(arg), 0, 0, xStep,xFinal,#zName,0,0} + SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName,0,0} /* ** All current savepoints are stored in a linked list starting at @@ -13435,7 +13531,7 @@ struct SelectDest { ** tables, the following information is attached to the Table.u.autoInc.p ** pointer of each autoincrement table to record some side information that ** the code generator needs. We have to keep per-table autoincrement -** information in case inserts are down within triggers. Triggers do not +** information in case inserts are done within triggers. Triggers do not ** normally coordinate their activities, but we do need to coordinate the ** loading and saving of autoincrement information. */ @@ -13527,6 +13623,7 @@ struct Parse { u8 mayAbort; /* True if statement may throw an ABORT exception */ u8 hasCompound; /* Need to invoke convertCompoundSelectToSubquery() */ u8 okConstFactor; /* OK to factor out constants */ + u8 disableLookaside; /* Number of times lookaside has been disabled */ int aTempReg[8]; /* Holding area for temporary registers */ int nRangeReg; /* Size of the temporary register block */ int iRangeReg; /* First register in temporary register block */ @@ -13588,7 +13685,7 @@ struct Parse { ** in the recursive region. ************************************************************************/ - int nVar; /* Number of '?' variables seen in the SQL so far */ + ynVar nVar; /* Number of '?' variables seen in the SQL so far */ int nzVar; /* Number of available slots in azVar[] */ u8 iPkSortOrder; /* ASC or DESC for INTEGER PRIMARY KEY */ u8 explain; /* True if the EXPLAIN flag is found on the query */ @@ -13641,7 +13738,8 @@ struct AuthContext { /* ** Bitfield flags for P5 value in various opcodes. */ -#define OPFLAG_NCHANGE 0x01 /* Set to update db->nChange */ +#define OPFLAG_NCHANGE 0x01 /* OP_Insert: Set to update db->nChange */ + /* Also used in P2 (not P5) of OP_Delete */ #define OPFLAG_EPHEM 0x01 /* OP_Column: Ephemeral output is ok */ #define OPFLAG_LASTROWID 0x02 /* Set to update db->lastRowid */ #define OPFLAG_ISUPDATE 0x04 /* This OP_Insert is an sql UPDATE */ @@ -13651,9 +13749,11 @@ struct AuthContext { #define OPFLAG_TYPEOFARG 0x80 /* OP_Column only used for typeof() */ #define OPFLAG_BULKCSR 0x01 /* OP_Open** used to open bulk cursor */ #define OPFLAG_SEEKEQ 0x02 /* OP_Open** cursor uses EQ seek only */ -#define OPFLAG_FORDELETE 0x08 /* OP_Open is opening for-delete csr */ +#define OPFLAG_FORDELETE 0x08 /* OP_Open should use BTREE_FORDELETE */ #define OPFLAG_P2ISREG 0x10 /* P2 to OP_Open** is a register number */ #define OPFLAG_PERMUTE 0x01 /* OP_Compare: use the permutation */ +#define OPFLAG_SAVEPOSITION 0x02 /* OP_Delete: keep cursor position */ +#define OPFLAG_AUXDELETE 0x04 /* OP_Delete: index in a DELETE op */ /* * Each trigger present in the database schema is stored as an instance of @@ -13772,10 +13872,16 @@ struct StrAccum { u32 nAlloc; /* Amount of space allocated in zText */ u32 mxAlloc; /* Maximum allowed allocation. 0 for no malloc usage */ u8 accError; /* STRACCUM_NOMEM or STRACCUM_TOOBIG */ - u8 bMalloced; /* zText points to allocated space */ + u8 printfFlags; /* SQLITE_PRINTF flags below */ }; #define STRACCUM_NOMEM 1 #define STRACCUM_TOOBIG 2 +#define SQLITE_PRINTF_INTERNAL 0x01 /* Internal-use-only converters allowed */ +#define SQLITE_PRINTF_SQLFUNC 0x02 /* SQL function arguments to VXPrintf */ +#define SQLITE_PRINTF_MALLOCED 0x04 /* True if xText is allocated space */ + +#define isMalloced(X) (((X)->printfFlags & SQLITE_PRINTF_MALLOCED)!=0) + /* ** A pointer to this structure is used to communicate information @@ -13870,10 +13976,10 @@ struct Sqlite3Config { ** Context pointer passed down through the tree-walk. */ struct Walker { + Parse *pParse; /* Parser context. */ int (*xExprCallback)(Walker*, Expr*); /* Callback for expressions */ int (*xSelectCallback)(Walker*,Select*); /* Callback for SELECTs */ void (*xSelectCallback2)(Walker*,Select*);/* Second callback for SELECTs */ - Parse *pParse; /* Parser context. */ int walkerDepth; /* Number of subqueries */ u8 eCode; /* A small processing code */ union { /* Extra data for callback */ @@ -13883,6 +13989,7 @@ struct Walker { SrcList *pSrcList; /* FROM clause */ struct SrcCount *pSrcCount; /* Counting column references */ struct CCurHint *pCCurHint; /* Used by codeCursorHint() */ + int *aiCol; /* array of column indexes */ } u; }; @@ -13952,6 +14059,13 @@ SQLITE_PRIVATE int sqlite3CantopenError(int); #define SQLITE_MISUSE_BKPT sqlite3MisuseError(__LINE__) #define SQLITE_CANTOPEN_BKPT sqlite3CantopenError(__LINE__) +/* +** FTS3 and FTS4 both require virtual table support +*/ +#if defined(SQLITE_OMIT_VIRTUALTABLE) +# undef SQLITE_ENABLE_FTS3 +# undef SQLITE_ENABLE_FTS4 +#endif /* ** FTS4 is really an extension for FTS3. It is enabled using the @@ -14010,6 +14124,7 @@ SQLITE_PRIVATE void *sqlite3Malloc(u64); SQLITE_PRIVATE void *sqlite3MallocZero(u64); SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3*, u64); SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3*, u64); +SQLITE_PRIVATE void *sqlite3DbMallocRawNN(sqlite3*, u64); SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3*,const char*); SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3*,const char*, u64); SQLITE_PRIVATE void *sqlite3Realloc(void*, u64); @@ -14092,10 +14207,8 @@ struct PrintfArguments { sqlite3_value **apArg; /* The argument values */ }; -#define SQLITE_PRINTF_INTERNAL 0x01 -#define SQLITE_PRINTF_SQLFUNC 0x02 -SQLITE_PRIVATE void sqlite3VXPrintf(StrAccum*, u32, const char*, va_list); -SQLITE_PRIVATE void sqlite3XPrintf(StrAccum*, u32, const char*, ...); +SQLITE_PRIVATE void sqlite3VXPrintf(StrAccum*, const char*, va_list); +SQLITE_PRIVATE void sqlite3XPrintf(StrAccum*, const char*, ...); SQLITE_PRIVATE char *sqlite3MPrintf(sqlite3*,const char*, ...); SQLITE_PRIVATE char *sqlite3VMPrintf(sqlite3*,const char*, va_list); #if defined(SQLITE_DEBUG) || defined(SQLITE_HAVE_OS_TRACE) @@ -14116,6 +14229,7 @@ SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView*, const With*, u8); SQLITE_PRIVATE void sqlite3SetString(char **, sqlite3*, const char*); SQLITE_PRIVATE void sqlite3ErrorMsg(Parse*, const char*, ...); SQLITE_PRIVATE int sqlite3Dequote(char*); +SQLITE_PRIVATE void sqlite3TokenInit(Token*,char*); SQLITE_PRIVATE int sqlite3KeywordCode(const unsigned char*, int); SQLITE_PRIVATE int sqlite3RunParser(Parse*, const char*, char **); SQLITE_PRIVATE void sqlite3FinishCoding(Parse*); @@ -14144,7 +14258,6 @@ SQLITE_PRIVATE void sqlite3Pragma(Parse*,Token*,Token*,Token*,int); SQLITE_PRIVATE void sqlite3ResetAllSchemasOfConnection(sqlite3*); SQLITE_PRIVATE void sqlite3ResetOneSchema(sqlite3*,int); SQLITE_PRIVATE void sqlite3CollapseDatabaseArray(sqlite3*); -SQLITE_PRIVATE void sqlite3BeginParse(Parse*,int); SQLITE_PRIVATE void sqlite3CommitInternalChanges(sqlite3*); SQLITE_PRIVATE void sqlite3DeleteColumnNames(sqlite3*,Table*); SQLITE_PRIVATE int sqlite3ColumnsFromExprList(Parse*,ExprList*,i16*,Column**); @@ -14329,7 +14442,7 @@ SQLITE_PRIVATE void sqlite3GenerateRowIndexDelete(Parse*, Table*, int, int, int* SQLITE_PRIVATE int sqlite3GenerateIndexKey(Parse*, Index*, int, int, int, int*,Index*,int); SQLITE_PRIVATE void sqlite3ResolvePartIdxLabel(Parse*,int); SQLITE_PRIVATE void sqlite3GenerateConstraintChecks(Parse*,Table*,int*,int,int,int,int, - u8,u8,int,int*); + u8,u8,int,int*,int*); SQLITE_PRIVATE void sqlite3CompleteInsertion(Parse*,Table*,int,int,int,int*,int,int,int); SQLITE_PRIVATE int sqlite3OpenTableAndIndices(Parse*, Table*, int, u8, int, u8*, int*, int*); SQLITE_PRIVATE void sqlite3BeginWriteOperation(Parse*, int, int); @@ -14548,7 +14661,6 @@ SQLITE_PRIVATE void sqlite3DeleteIndexSamples(sqlite3*,Index*); SQLITE_PRIVATE void sqlite3DefaultRowEst(Index*); SQLITE_PRIVATE void sqlite3RegisterLikeFunctions(sqlite3*, int); SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3*,Expr*,int*,char*); -SQLITE_PRIVATE void sqlite3MinimumFileFormat(Parse*, int, int); SQLITE_PRIVATE void sqlite3SchemaClear(void *); SQLITE_PRIVATE Schema *sqlite3SchemaGet(sqlite3 *, Btree *); SQLITE_PRIVATE int sqlite3SchemaToIndex(sqlite3 *db, Schema *); @@ -14564,6 +14676,8 @@ SQLITE_PRIVATE int sqlite3CreateFunc(sqlite3 *, const char *, int, int, void *, void (*)(sqlite3_context*,int,sqlite3_value **), void (*)(sqlite3_context*), FuncDestructor *pDestructor ); +SQLITE_PRIVATE void sqlite3OomFault(sqlite3*); +SQLITE_PRIVATE void sqlite3OomClear(sqlite3*); SQLITE_PRIVATE int sqlite3ApiExit(sqlite3 *db, int); SQLITE_PRIVATE int sqlite3OpenTempDatabase(Parse *); @@ -15660,6 +15774,7 @@ typedef struct AuxData AuxData; ** * A virtual table ** * A one-row "pseudotable" stored in a single register */ +typedef struct VdbeCursor VdbeCursor; struct VdbeCursor { u8 eCurType; /* One of the CURTYPE_* values above */ i8 iDb; /* Index of cursor database in db->aDb[] (or -1) */ @@ -15668,6 +15783,7 @@ struct VdbeCursor { u8 isTable; /* True for rowid tables. False for indexes */ #ifdef SQLITE_DEBUG u8 seekOp; /* Most recent seek operation on this cursor */ + u8 wrFlag; /* The wrFlag argument to sqlite3BtreeCursor() */ #endif Bool isEphemeral:1; /* True for an ephemeral table */ Bool useRandomRowid:1;/* Generate new record numbers semi-randomly */ @@ -15686,6 +15802,8 @@ struct VdbeCursor { int seekResult; /* Result of previous sqlite3BtreeMoveto() */ i64 seqCount; /* Sequence counter */ i64 movetoTarget; /* Argument to the deferred sqlite3BtreeMoveto() */ + VdbeCursor *pAltCursor; /* Associated index cursor from which to read */ + int *aAltMap; /* Mapping from table to index column numbers */ #ifdef SQLITE_ENABLE_COLUMN_USED_MASK u64 maskUsed; /* Mask of columns used by this cursor */ #endif @@ -15710,7 +15828,6 @@ struct VdbeCursor { ** static element declared in the structure. nField total array slots for ** aType[] and nField+1 array slots for aOffset[] */ }; -typedef struct VdbeCursor VdbeCursor; /* ** When a sub-program is executed (OP_Program), a structure of this type @@ -15821,7 +15938,7 @@ struct Mem { #define MEM_Frame 0x0040 /* Value is a VdbeFrame object */ #define MEM_Undefined 0x0080 /* Value is undefined */ #define MEM_Cleared 0x0100 /* NULL set by OP_Null, not from data */ -#define MEM_TypeMask 0x01ff /* Mask of type bits */ +#define MEM_TypeMask 0x81ff /* Mask of type bits */ /* Whenever Mem contains a valid string or blob representation, one of @@ -15835,11 +15952,18 @@ struct Mem { #define MEM_Ephem 0x1000 /* Mem.z points to an ephemeral string */ #define MEM_Agg 0x2000 /* Mem.z points to an agg function context */ #define MEM_Zero 0x4000 /* Mem.i contains count of 0s appended to blob */ +#define MEM_Subtype 0x8000 /* Mem.eSubtype is valid */ #ifdef SQLITE_OMIT_INCRBLOB #undef MEM_Zero #define MEM_Zero 0x0000 #endif +/* Return TRUE if Mem X contains dynamically allocated content - anything +** that needs to be deallocated to avoid a leak. +*/ +#define VdbeMemDynamic(X) \ + (((X)->flags&(MEM_Agg|MEM_Dyn|MEM_RowSet|MEM_Frame))!=0) + /* ** Clear any existing type flags from a Mem and replace them with f */ @@ -16009,7 +16133,7 @@ struct Vdbe { SQLITE_PRIVATE void sqlite3VdbeError(Vdbe*, const char *, ...); SQLITE_PRIVATE void sqlite3VdbeFreeCursor(Vdbe *, VdbeCursor*); void sqliteVdbePopStack(Vdbe*,int); -SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor*); +SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor**, int*); SQLITE_PRIVATE int sqlite3VdbeCursorRestore(VdbeCursor*); #if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) SQLITE_PRIVATE void sqlite3VdbePrintOp(FILE*, int, Op*); @@ -16055,8 +16179,6 @@ SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem*); SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem*,u8,u8); SQLITE_PRIVATE int sqlite3VdbeMemFromBtree(BtCursor*,u32,u32,int,Mem*); SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p); -#define VdbeMemDynamic(X) \ - (((X)->flags&(MEM_Agg|MEM_Dyn|MEM_RowSet|MEM_Frame))!=0) SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem*, FuncDef*); SQLITE_PRIVATE const char *sqlite3OpcodeName(int); SQLITE_PRIVATE int sqlite3VdbeMemGrow(Mem *pMem, int n, int preserve); @@ -16075,11 +16197,15 @@ SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *, int *); SQLITE_PRIVATE int sqlite3VdbeSorterWrite(const VdbeCursor *, Mem *); SQLITE_PRIVATE int sqlite3VdbeSorterCompare(const VdbeCursor *, Mem *, int, int *); -#if !defined(SQLITE_OMIT_SHARED_CACHE) && SQLITE_THREADSAFE>0 +#if !defined(SQLITE_OMIT_SHARED_CACHE) SQLITE_PRIVATE void sqlite3VdbeEnter(Vdbe*); -SQLITE_PRIVATE void sqlite3VdbeLeave(Vdbe*); #else # define sqlite3VdbeEnter(X) +#endif + +#if !defined(SQLITE_OMIT_SHARED_CACHE) && SQLITE_THREADSAFE>0 +SQLITE_PRIVATE void sqlite3VdbeLeave(Vdbe*); +#else # define sqlite3VdbeLeave(X) #endif @@ -16517,34 +16643,49 @@ struct DateTime { /* -** Convert zDate into one or more integers. Additional arguments -** come in groups of 5 as follows: +** Convert zDate into one or more integers according to the conversion +** specifier zFormat. +** +** zFormat[] contains 4 characters for each integer converted, except for +** the last integer which is specified by three characters. The meaning +** of a four-character format specifiers ABCD is: +** +** A: number of digits to convert. Always "2" or "4". +** B: minimum value. Always "0" or "1". +** C: maximum value, decoded as: +** a: 12 +** b: 14 +** c: 24 +** d: 31 +** e: 59 +** f: 9999 +** D: the separator character, or \000 to indicate this is the +** last number to convert. ** -** N number of digits in the integer -** min minimum allowed value of the integer -** max maximum allowed value of the integer -** nextC first character after the integer -** pVal where to write the integers value. +** Example: To translate an ISO-8601 date YYYY-MM-DD, the format would +** be "40f-21a-20c". The "40f-" indicates the 4-digit year followed by "-". +** The "21a-" indicates the 2-digit month followed by "-". The "20c" indicates +** the 2-digit day which is the last integer in the set. ** -** Conversions continue until one with nextC==0 is encountered. ** The function returns the number of successful conversions. */ -static int getDigits(const char *zDate, ...){ +static int getDigits(const char *zDate, const char *zFormat, ...){ + /* The aMx[] array translates the 3rd character of each format + ** spec into a max size: a b c d e f */ + static const u16 aMx[] = { 12, 14, 24, 31, 59, 9999 }; va_list ap; - int val; - int N; - int min; - int max; - int nextC; - int *pVal; int cnt = 0; - va_start(ap, zDate); + char nextC; + va_start(ap, zFormat); do{ - N = va_arg(ap, int); - min = va_arg(ap, int); - max = va_arg(ap, int); - nextC = va_arg(ap, int); - pVal = va_arg(ap, int*); + char N = zFormat[0] - '0'; + char min = zFormat[1] - '0'; + int val = 0; + u16 max; + + assert( zFormat[2]>='a' && zFormat[2]<='f' ); + max = aMx[zFormat[2] - 'a']; + nextC = zFormat[3]; val = 0; while( N-- ){ if( !sqlite3Isdigit(*zDate) ){ @@ -16553,12 +16694,13 @@ static int getDigits(const char *zDate, ...){ val = val*10 + *zDate - '0'; zDate++; } - if( valmax || (nextC!=0 && nextC!=*zDate) ){ + if( val<(int)min || val>(int)max || (nextC!=0 && nextC!=*zDate) ){ goto end_getDigits; } - *pVal = val; + *va_arg(ap,int*) = val; zDate++; cnt++; + zFormat += 4; }while( nextC ); end_getDigits: va_end(ap); @@ -16599,7 +16741,7 @@ static int parseTimezone(const char *zDate, DateTime *p){ return c!=0; } zDate++; - if( getDigits(zDate, 2, 0, 14, ':', &nHr, 2, 0, 59, 0, &nMn)!=2 ){ + if( getDigits(zDate, "20b:20e", &nHr, &nMn)!=2 ){ return 1; } zDate += 5; @@ -16620,13 +16762,13 @@ zulu_time: static int parseHhMmSs(const char *zDate, DateTime *p){ int h, m, s; double ms = 0.0; - if( getDigits(zDate, 2, 0, 24, ':', &h, 2, 0, 59, 0, &m)!=2 ){ + if( getDigits(zDate, "20c:20e", &h, &m)!=2 ){ return 1; } zDate += 5; if( *zDate==':' ){ zDate++; - if( getDigits(zDate, 2, 0, 59, 0, &s)!=1 ){ + if( getDigits(zDate, "20e", &s)!=1 ){ return 1; } zDate += 2; @@ -16714,7 +16856,7 @@ static int parseYyyyMmDd(const char *zDate, DateTime *p){ }else{ neg = 0; } - if( getDigits(zDate,4,0,9999,'-',&Y,2,1,12,'-',&M,2,1,31,0,&D)!=3 ){ + if( getDigits(zDate, "40f-21a-21d", &Y, &M, &D)!=3 ){ return 1; } zDate += 10; @@ -16867,13 +17009,6 @@ static void clearYMD_HMS_TZ(DateTime *p){ #define HAVE_LOCALTIME_S 1 #endif -#if defined(_WIN32_WCE) && _WIN32_WCE < 0x800 -#undef HAVE_LOCALTIME_S -struct tm *__cdecl localtime(const time_t *t); -#elif defined(_WIN32_WCE) && _WIN32_WCE >= 0x800 -#define SQLITE_MSVC_LOCALTIME_API 1 -#endif - #ifndef SQLITE_OMIT_LOCALTIME /* ** The following routine implements the rough equivalent of localtime_r() @@ -17405,7 +17540,7 @@ static void strftimeFunc( sqlite3_result_error_toobig(context); return; }else{ - z = sqlite3DbMallocRaw(db, (int)n); + z = sqlite3DbMallocRawNN(db, (int)n); if( z==0 ){ sqlite3_result_error_nomem(context); return; @@ -17620,6 +17755,28 @@ SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void){ /* #include "sqliteInt.h" */ #undef _SQLITE_OS_C_ +/* +** If we compile with the SQLITE_TEST macro set, then the following block +** of code will give us the ability to simulate a disk I/O error. This +** is used for testing the I/O recovery logic. +*/ +#if defined(SQLITE_TEST) +SQLITE_API int sqlite3_io_error_hit = 0; /* Total number of I/O Errors */ +SQLITE_API int sqlite3_io_error_hardhit = 0; /* Number of non-benign errors */ +SQLITE_API int sqlite3_io_error_pending = 0; /* Count down to first I/O error */ +SQLITE_API int sqlite3_io_error_persist = 0; /* True if I/O errors persist */ +SQLITE_API int sqlite3_io_error_benign = 0; /* True if errors are benign */ +SQLITE_API int sqlite3_diskfull_pending = 0; +SQLITE_API int sqlite3_diskfull = 0; +#endif /* defined(SQLITE_TEST) */ + +/* +** When testing, also keep a count of the number of open files. +*/ +#if defined(SQLITE_TEST) +SQLITE_API int sqlite3_open_file_count = 0; +#endif /* defined(SQLITE_TEST) */ + /* ** The default SQLite sqlite3_vfs implementations do not allocate ** memory (actually, os_unix.c allocates a small amount of memory @@ -17627,7 +17784,7 @@ SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void){ ** So we test the effects of a malloc() failing and the sqlite3OsXXX() ** function returning SQLITE_IOERR_NOMEM using the DO_OS_MALLOC_TEST macro. ** -** The following functions are instrumented for malloc() failure +** The following functions are instrumented for malloc() failure ** testing: ** ** sqlite3OsRead() @@ -17713,8 +17870,8 @@ SQLITE_PRIVATE int sqlite3OsFileControl(sqlite3_file *id, int op, void *pArg){ #ifdef SQLITE_TEST if( op!=SQLITE_FCNTL_COMMIT_PHASETWO ){ /* Faults are not injected into COMMIT_PHASETWO because, assuming SQLite - ** is using a regular VFS, it is called after the corresponding - ** transaction has been committed. Injecting a fault at this point + ** is using a regular VFS, it is called after the corresponding + ** transaction has been committed. Injecting a fault at this point ** confuses the test scripts - the COMMIT comand returns SQLITE_NOMEM ** but the transaction is committed anyway. ** @@ -17783,10 +17940,10 @@ SQLITE_PRIVATE int sqlite3OsUnfetch(sqlite3_file *id, i64 iOff, void *p){ ** VFS methods. */ SQLITE_PRIVATE int sqlite3OsOpen( - sqlite3_vfs *pVfs, - const char *zPath, - sqlite3_file *pFile, - int flags, + sqlite3_vfs *pVfs, + const char *zPath, + sqlite3_file *pFile, + int flags, int *pFlagsOut ){ int rc; @@ -17805,18 +17962,18 @@ SQLITE_PRIVATE int sqlite3OsDelete(sqlite3_vfs *pVfs, const char *zPath, int dir return pVfs->xDelete(pVfs, zPath, dirSync); } SQLITE_PRIVATE int sqlite3OsAccess( - sqlite3_vfs *pVfs, - const char *zPath, - int flags, + sqlite3_vfs *pVfs, + const char *zPath, + int flags, int *pResOut ){ DO_OS_MALLOC_TEST(0); return pVfs->xAccess(pVfs, zPath, flags, pResOut); } SQLITE_PRIVATE int sqlite3OsFullPathname( - sqlite3_vfs *pVfs, - const char *zPath, - int nPathOut, + sqlite3_vfs *pVfs, + const char *zPath, + int nPathOut, char *zPathOut ){ DO_OS_MALLOC_TEST(0); @@ -17862,9 +18019,9 @@ SQLITE_PRIVATE int sqlite3OsCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *p } SQLITE_PRIVATE int sqlite3OsOpenMalloc( - sqlite3_vfs *pVfs, - const char *zFile, - sqlite3_file **ppFile, + sqlite3_vfs *pVfs, + const char *zFile, + sqlite3_file **ppFile, int flags, int *pOutFlags ){ @@ -19774,6 +19931,7 @@ static SQLITE_WSD struct Mem5Global { */ sqlite3_mutex *mutex; +#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) /* ** Performance statistics */ @@ -19785,6 +19943,7 @@ static SQLITE_WSD struct Mem5Global { u32 maxOut; /* Maximum instantaneous currentOut */ u32 maxCount; /* Maximum instantaneous currentCount */ u32 maxRequest; /* Largest allocation (exclusive of internal frag) */ +#endif /* ** Lists of free blocks. aiFreelist[0] is a list of free blocks of @@ -19896,14 +20055,17 @@ static void *memsys5MallocUnsafe(int nByte){ /* nByte must be a positive */ assert( nByte>0 ); + /* No more than 1GiB per allocation */ + if( nByte > 0x40000000 ) return 0; + +#if defined(SQLITE_DEBUG) || defined(SQLITE_TEST) /* Keep track of the maximum allocation request. Even unfulfilled ** requests are counted */ if( (u32)nByte>mem5.maxRequest ){ - /* Abort if the requested allocation size is larger than the largest - ** power of two that we can represent using 32-bit signed integers. */ - if( nByte > 0x40000000 ) return 0; mem5.maxRequest = nByte; } +#endif + /* Round nByte up to the next valid power of two */ for(iFullSz=mem5.szAtom,iLogsize=0; iFullSz0 ); assert( mem5.currentOut>=(size*mem5.szAtom) ); mem5.currentCount--; mem5.currentOut -= size*mem5.szAtom; assert( mem5.currentOut>0 || mem5.currentCount==0 ); assert( mem5.currentCount>0 || mem5.currentOut==0 ); +#endif mem5.aCtrl[iBlock] = CTRL_FREE | iLogsize; while( ALWAYS(iLogsize>iLogsize) & 1 ){ iBuddy = iBlock - size; + assert( iBuddy>=0 ); }else{ iBuddy = iBlock + size; + if( iBuddy>=mem5.nBlock ) break; } - assert( iBuddy>=0 ); - if( (iBuddy+(1<mem5.nBlock ) break; if( mem5.aCtrl[iBuddy]!=(CTRL_FREE | iLogsize) ) break; memsys5Unlink(iBuddy, iLogsize); iLogsize++; @@ -21077,8 +21244,8 @@ SQLITE_PRIVATE sqlite3_mutex_methods const *sqlite3DefaultMutex(void){ */ #ifdef SQLITE_PERFORMANCE_TRACE -/* -** hwtime.h contains inline assembler code for implementing +/* +** hwtime.h contains inline assembler code for implementing ** high-performance timing routines. */ /************** Include hwtime.h in the middle of os_common.h ****************/ @@ -21188,14 +21355,14 @@ static sqlite_uint64 g_elapsed; ** of code will give us the ability to simulate a disk I/O error. This ** is used for testing the I/O recovery logic. */ -#ifdef SQLITE_TEST -SQLITE_API int sqlite3_io_error_hit = 0; /* Total number of I/O Errors */ -SQLITE_API int sqlite3_io_error_hardhit = 0; /* Number of non-benign errors */ -SQLITE_API int sqlite3_io_error_pending = 0; /* Count down to first I/O error */ -SQLITE_API int sqlite3_io_error_persist = 0; /* True if I/O errors persist */ -SQLITE_API int sqlite3_io_error_benign = 0; /* True if errors are benign */ -SQLITE_API int sqlite3_diskfull_pending = 0; -SQLITE_API int sqlite3_diskfull = 0; +#if defined(SQLITE_TEST) +SQLITE_API extern int sqlite3_io_error_hit; +SQLITE_API extern int sqlite3_io_error_hardhit; +SQLITE_API extern int sqlite3_io_error_pending; +SQLITE_API extern int sqlite3_io_error_persist; +SQLITE_API extern int sqlite3_io_error_benign; +SQLITE_API extern int sqlite3_diskfull_pending; +SQLITE_API extern int sqlite3_diskfull; #define SimulateIOErrorBenign(X) sqlite3_io_error_benign=(X) #define SimulateIOError(CODE) \ if( (sqlite3_io_error_persist && sqlite3_io_error_hit) \ @@ -21221,17 +21388,17 @@ static void local_ioerr(){ #define SimulateIOErrorBenign(X) #define SimulateIOError(A) #define SimulateDiskfullError(A) -#endif +#endif /* defined(SQLITE_TEST) */ /* ** When testing, keep a count of the number of open files. */ -#ifdef SQLITE_TEST -SQLITE_API int sqlite3_open_file_count = 0; +#if defined(SQLITE_TEST) +SQLITE_API extern int sqlite3_open_file_count; #define OpenCounter(X) sqlite3_open_file_count+=(X) #else #define OpenCounter(X) -#endif +#endif /* defined(SQLITE_TEST) */ #endif /* !defined(_OS_COMMON_H_) */ @@ -22289,16 +22456,31 @@ SQLITE_PRIVATE void *sqlite3MallocZero(u64 n){ ** the mallocFailed flag in the connection pointer. */ SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3 *db, u64 n){ - void *p = sqlite3DbMallocRaw(db, n); - if( p ){ - memset(p, 0, (size_t)n); - } + void *p; + testcase( db==0 ); + p = sqlite3DbMallocRaw(db, n); + if( p ) memset(p, 0, (size_t)n); + return p; +} + + +/* Finish the work of sqlite3DbMallocRawNN for the unusual and +** slower case when the allocation cannot be fulfilled using lookaside. +*/ +static SQLITE_NOINLINE void *dbMallocRawFinish(sqlite3 *db, u64 n){ + void *p; + assert( db!=0 ); + p = sqlite3Malloc(n); + if( !p ) sqlite3OomFault(db); + sqlite3MemdebugSetType(p, + (db->lookaside.bDisable==0) ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP); return p; } /* -** Allocate and zero memory. If the allocation fails, make -** the mallocFailed flag in the connection pointer. +** Allocate memory, either lookaside (if possible) or heap. +** If the allocation fails, set the mallocFailed flag in +** the connection pointer. ** ** If db!=0 and db->mallocFailed is true (indicating a prior malloc ** failure on the same database connection) then always return 0. @@ -22313,64 +22495,73 @@ SQLITE_PRIVATE void *sqlite3DbMallocZero(sqlite3 *db, u64 n){ ** ** In other words, if a subsequent malloc (ex: "b") worked, it is assumed ** that all prior mallocs (ex: "a") worked too. +** +** The sqlite3MallocRawNN() variant guarantees that the "db" parameter is +** not a NULL pointer. */ SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3 *db, u64 n){ void *p; - assert( db==0 || sqlite3_mutex_held(db->mutex) ); - assert( db==0 || db->pnBytesFreed==0 ); + if( db ) return sqlite3DbMallocRawNN(db, n); + p = sqlite3Malloc(n); + sqlite3MemdebugSetType(p, MEMTYPE_HEAP); + return p; +} +SQLITE_PRIVATE void *sqlite3DbMallocRawNN(sqlite3 *db, u64 n){ #ifndef SQLITE_OMIT_LOOKASIDE - if( db ){ - LookasideSlot *pBuf; - if( db->mallocFailed ){ - return 0; - } - if( db->lookaside.bEnabled ){ - if( n>db->lookaside.sz ){ - db->lookaside.anStat[1]++; - }else if( (pBuf = db->lookaside.pFree)==0 ){ - db->lookaside.anStat[2]++; - }else{ - db->lookaside.pFree = pBuf->pNext; - db->lookaside.nOut++; - db->lookaside.anStat[0]++; - if( db->lookaside.nOut>db->lookaside.mxOut ){ - db->lookaside.mxOut = db->lookaside.nOut; - } - return (void*)pBuf; + LookasideSlot *pBuf; + assert( db!=0 ); + assert( sqlite3_mutex_held(db->mutex) ); + assert( db->pnBytesFreed==0 ); + if( db->lookaside.bDisable==0 ){ + assert( db->mallocFailed==0 ); + if( n>db->lookaside.sz ){ + db->lookaside.anStat[1]++; + }else if( (pBuf = db->lookaside.pFree)==0 ){ + db->lookaside.anStat[2]++; + }else{ + db->lookaside.pFree = pBuf->pNext; + db->lookaside.nOut++; + db->lookaside.anStat[0]++; + if( db->lookaside.nOut>db->lookaside.mxOut ){ + db->lookaside.mxOut = db->lookaside.nOut; } + return (void*)pBuf; } + }else if( db->mallocFailed ){ + return 0; } #else - if( db && db->mallocFailed ){ + assert( db!=0 ); + assert( sqlite3_mutex_held(db->mutex) ); + assert( db->pnBytesFreed==0 ); + if( db->mallocFailed ){ return 0; } #endif - p = sqlite3Malloc(n); - if( !p && db ){ - db->mallocFailed = 1; - } - sqlite3MemdebugSetType(p, - (db && db->lookaside.bEnabled) ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP); - return p; + return dbMallocRawFinish(db, n); } +/* Forward declaration */ +static SQLITE_NOINLINE void *dbReallocFinish(sqlite3 *db, void *p, u64 n); + /* ** Resize the block of memory pointed to by p to n bytes. If the ** resize fails, set the mallocFailed flag in the connection object. */ SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *db, void *p, u64 n){ - void *pNew = 0; assert( db!=0 ); + if( p==0 ) return sqlite3DbMallocRawNN(db, n); assert( sqlite3_mutex_held(db->mutex) ); + if( isLookaside(db,p) && n<=db->lookaside.sz ) return p; + return dbReallocFinish(db, p, n); +} +static SQLITE_NOINLINE void *dbReallocFinish(sqlite3 *db, void *p, u64 n){ + void *pNew = 0; + assert( db!=0 ); + assert( p!=0 ); if( db->mallocFailed==0 ){ - if( p==0 ){ - return sqlite3DbMallocRaw(db, n); - } if( isLookaside(db, p) ){ - if( n<=db->lookaside.sz ){ - return p; - } - pNew = sqlite3DbMallocRaw(db, n); + pNew = sqlite3DbMallocRawNN(db, n); if( pNew ){ memcpy(pNew, p, db->lookaside.sz); sqlite3DbFree(db, p); @@ -22381,10 +22572,10 @@ SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *db, void *p, u64 n){ sqlite3MemdebugSetType(p, MEMTYPE_HEAP); pNew = sqlite3_realloc64(p, n); if( !pNew ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } sqlite3MemdebugSetType(pNew, - (db->lookaside.bEnabled ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP)); + (db->lookaside.bDisable==0 ? MEMTYPE_LOOKASIDE : MEMTYPE_HEAP)); } } return pNew; @@ -22426,11 +22617,12 @@ SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3 *db, const char *z){ } SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3 *db, const char *z, u64 n){ char *zNew; + assert( db!=0 ); if( z==0 ){ return 0; } assert( (n&0x7fffffff)==n ); - zNew = sqlite3DbMallocRaw(db, n+1); + zNew = sqlite3DbMallocRawNN(db, n+1); if( zNew ){ memcpy(zNew, z, (size_t)n); zNew[n] = 0; @@ -22446,11 +22638,43 @@ SQLITE_PRIVATE void sqlite3SetString(char **pz, sqlite3 *db, const char *zNew){ *pz = sqlite3DbStrDup(db, zNew); } +/* +** Call this routine to record the fact that an OOM (out-of-memory) error +** has happened. This routine will set db->mallocFailed, and also +** temporarily disable the lookaside memory allocator and interrupt +** any running VDBEs. +*/ +SQLITE_PRIVATE void sqlite3OomFault(sqlite3 *db){ + if( db->mallocFailed==0 && db->bBenignMalloc==0 ){ + db->mallocFailed = 1; + if( db->nVdbeExec>0 ){ + db->u1.isInterrupted = 1; + } + db->lookaside.bDisable++; + } +} + +/* +** This routine reactivates the memory allocator and clears the +** db->mallocFailed flag as necessary. +** +** The memory allocator is not restarted if there are running +** VDBEs. +*/ +SQLITE_PRIVATE void sqlite3OomClear(sqlite3 *db){ + if( db->mallocFailed && db->nVdbeExec==0 ){ + db->mallocFailed = 0; + db->u1.isInterrupted = 0; + assert( db->lookaside.bDisable>0 ); + db->lookaside.bDisable--; + } +} + /* ** Take actions at the end of an API call to indicate an OOM error */ static SQLITE_NOINLINE int apiOomError(sqlite3 *db){ - db->mallocFailed = 0; + sqlite3OomClear(db); sqlite3Error(db, SQLITE_NOMEM); return SQLITE_NOMEM; } @@ -22655,7 +22879,6 @@ static char *getTextArg(PrintfArguments *p){ */ SQLITE_PRIVATE void sqlite3VXPrintf( StrAccum *pAccum, /* Accumulate results here */ - u32 bFlags, /* SQLITE_PRINTF_* flags */ const char *fmt, /* Format string */ va_list ap /* arguments */ ){ @@ -22695,11 +22918,11 @@ SQLITE_PRIVATE void sqlite3VXPrintf( char buf[etBUFSIZE]; /* Conversion buffer */ bufpt = 0; - if( bFlags ){ - if( (bArgList = (bFlags & SQLITE_PRINTF_SQLFUNC))!=0 ){ + if( pAccum->printfFlags ){ + if( (bArgList = (pAccum->printfFlags & SQLITE_PRINTF_SQLFUNC))!=0 ){ pArgList = va_arg(ap, PrintfArguments*); } - useIntern = bFlags & SQLITE_PRINTF_INTERNAL; + useIntern = pAccum->printfFlags & SQLITE_PRINTF_INTERNAL; }else{ bArgList = useIntern = 0; } @@ -23250,9 +23473,9 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ setStrAccumError(p, STRACCUM_TOOBIG); return N; }else{ - char *zOld = p->bMalloced ? p->zText : 0; + char *zOld = isMalloced(p) ? p->zText : 0; i64 szNew = p->nChar; - assert( (p->zText==0 || p->zText==p->zBase)==(p->bMalloced==0) ); + assert( (p->zText==0 || p->zText==p->zBase)==!isMalloced(p) ); szNew += N + 1; if( szNew+p->nChar<=p->mxAlloc ){ /* Force exponential buffer size growth as long as it does not overflow, @@ -23273,10 +23496,10 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ } if( zNew ){ assert( p->zText!=0 || p->nChar==0 ); - if( !p->bMalloced && p->nChar>0 ) memcpy(zNew, p->zText, p->nChar); + if( !isMalloced(p) && p->nChar>0 ) memcpy(zNew, p->zText, p->nChar); p->zText = zNew; p->nAlloc = sqlite3DbMallocSize(p->db, zNew); - p->bMalloced = 1; + p->printfFlags |= SQLITE_PRINTF_MALLOCED; }else{ sqlite3StrAccumReset(p); setStrAccumError(p, STRACCUM_NOMEM); @@ -23294,7 +23517,7 @@ SQLITE_PRIVATE void sqlite3AppendChar(StrAccum *p, int N, char c){ if( p->nChar+(i64)N >= p->nAlloc && (N = sqlite3StrAccumEnlarge(p, N))<=0 ){ return; } - assert( (p->zText==p->zBase)==(p->bMalloced==0) ); + assert( (p->zText==p->zBase)==!isMalloced(p) ); while( (N--)>0 ) p->zText[p->nChar++] = c; } @@ -23312,7 +23535,7 @@ static void SQLITE_NOINLINE enlargeAndAppend(StrAccum *p, const char *z, int N){ memcpy(&p->zText[p->nChar], z, N); p->nChar += N; } - assert( (p->zText==0 || p->zText==p->zBase)==(p->bMalloced==0) ); + assert( (p->zText==0 || p->zText==p->zBase)==!isMalloced(p) ); } /* @@ -23348,13 +23571,13 @@ SQLITE_PRIVATE void sqlite3StrAccumAppendAll(StrAccum *p, const char *z){ */ SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum *p){ if( p->zText ){ - assert( (p->zText==p->zBase)==(p->bMalloced==0) ); + assert( (p->zText==p->zBase)==!isMalloced(p) ); p->zText[p->nChar] = 0; - if( p->mxAlloc>0 && p->bMalloced==0 ){ + if( p->mxAlloc>0 && !isMalloced(p) ){ p->zText = sqlite3DbMallocRaw(p->db, p->nChar+1 ); if( p->zText ){ memcpy(p->zText, p->zBase, p->nChar+1); - p->bMalloced = 1; + p->printfFlags |= SQLITE_PRINTF_MALLOCED; }else{ setStrAccumError(p, STRACCUM_NOMEM); } @@ -23367,10 +23590,10 @@ SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum *p){ ** Reset an StrAccum string. Reclaim all malloced memory. */ SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum *p){ - assert( (p->zText==0 || p->zText==p->zBase)==(p->bMalloced==0) ); - if( p->bMalloced ){ + assert( (p->zText==0 || p->zText==p->zBase)==!isMalloced(p) ); + if( isMalloced(p) ){ sqlite3DbFree(p->db, p->zText); - p->bMalloced = 0; + p->printfFlags &= ~SQLITE_PRINTF_MALLOCED; } p->zText = 0; } @@ -23396,7 +23619,7 @@ SQLITE_PRIVATE void sqlite3StrAccumInit(StrAccum *p, sqlite3 *db, char *zBase, i p->nAlloc = n; p->mxAlloc = mx; p->accError = 0; - p->bMalloced = 0; + p->printfFlags = 0; } /* @@ -23410,10 +23633,11 @@ SQLITE_PRIVATE char *sqlite3VMPrintf(sqlite3 *db, const char *zFormat, va_list a assert( db!=0 ); sqlite3StrAccumInit(&acc, db, zBase, sizeof(zBase), db->aLimit[SQLITE_LIMIT_LENGTH]); - sqlite3VXPrintf(&acc, SQLITE_PRINTF_INTERNAL, zFormat, ap); + acc.printfFlags = SQLITE_PRINTF_INTERNAL; + sqlite3VXPrintf(&acc, zFormat, ap); z = sqlite3StrAccumFinish(&acc); if( acc.accError==STRACCUM_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } return z; } @@ -23450,7 +23674,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_vmprintf(const char *zFormat, va_list ap if( sqlite3_initialize() ) return 0; #endif sqlite3StrAccumInit(&acc, 0, zBase, sizeof(zBase), SQLITE_MAX_LENGTH); - sqlite3VXPrintf(&acc, 0, zFormat, ap); + sqlite3VXPrintf(&acc, zFormat, ap); z = sqlite3StrAccumFinish(&acc); return z; } @@ -23495,7 +23719,7 @@ SQLITE_API char *SQLITE_STDCALL sqlite3_vsnprintf(int n, char *zBuf, const char } #endif sqlite3StrAccumInit(&acc, 0, zBuf, n, 0); - sqlite3VXPrintf(&acc, 0, zFormat, ap); + sqlite3VXPrintf(&acc, zFormat, ap); return sqlite3StrAccumFinish(&acc); } SQLITE_API char *SQLITE_CDECL sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){ @@ -23526,7 +23750,7 @@ static void renderLogMsg(int iErrCode, const char *zFormat, va_list ap){ char zMsg[SQLITE_PRINT_BUF_SIZE*3]; /* Complete log message */ sqlite3StrAccumInit(&acc, 0, zMsg, sizeof(zMsg), 0); - sqlite3VXPrintf(&acc, 0, zFormat, ap); + sqlite3VXPrintf(&acc, zFormat, ap); sqlite3GlobalConfig.xLog(sqlite3GlobalConfig.pLogArg, iErrCode, sqlite3StrAccumFinish(&acc)); } @@ -23555,7 +23779,7 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){ char zBuf[500]; sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0); va_start(ap,zFormat); - sqlite3VXPrintf(&acc, 0, zFormat, ap); + sqlite3VXPrintf(&acc, zFormat, ap); va_end(ap); sqlite3StrAccumFinish(&acc); fprintf(stdout,"%s", zBuf); @@ -23568,10 +23792,10 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){ ** variable-argument wrapper around sqlite3VXPrintf(). The bFlags argument ** can contain the bit SQLITE_PRINTF_INTERNAL enable internal formats. */ -SQLITE_PRIVATE void sqlite3XPrintf(StrAccum *p, u32 bFlags, const char *zFormat, ...){ +SQLITE_PRIVATE void sqlite3XPrintf(StrAccum *p, const char *zFormat, ...){ va_list ap; va_start(ap,zFormat); - sqlite3VXPrintf(p, bFlags, zFormat, ap); + sqlite3VXPrintf(p, zFormat, ap); va_end(ap); } @@ -23642,7 +23866,7 @@ static void sqlite3TreeViewLine(TreeView *p, const char *zFormat, ...){ sqlite3StrAccumAppend(&acc, p->bLine[i] ? "|-- " : "'-- ", 4); } va_start(ap, zFormat); - sqlite3VXPrintf(&acc, 0, zFormat, ap); + sqlite3VXPrintf(&acc, zFormat, ap); va_end(ap); if( zBuf[acc.nChar-1]!='\n' ) sqlite3StrAccumAppend(&acc, "\n", 1); sqlite3StrAccumFinish(&acc); @@ -23677,17 +23901,17 @@ SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView *pView, const With *pWith, u8 m char zLine[1000]; const struct Cte *pCte = &pWith->a[i]; sqlite3StrAccumInit(&x, 0, zLine, sizeof(zLine), 0); - sqlite3XPrintf(&x, 0, "%s", pCte->zName); + sqlite3XPrintf(&x, "%s", pCte->zName); if( pCte->pCols && pCte->pCols->nExpr>0 ){ char cSep = '('; int j; for(j=0; jpCols->nExpr; j++){ - sqlite3XPrintf(&x, 0, "%c%s", cSep, pCte->pCols->a[j].zName); + sqlite3XPrintf(&x, "%c%s", cSep, pCte->pCols->a[j].zName); cSep = ','; } - sqlite3XPrintf(&x, 0, ")"); + sqlite3XPrintf(&x, ")"); } - sqlite3XPrintf(&x, 0, " AS"); + sqlite3XPrintf(&x, " AS"); sqlite3StrAccumFinish(&x); sqlite3TreeViewItem(pView, zLine, inCte-1); sqlite3TreeViewSelect(pView, pCte->pSelect, 0); @@ -23738,20 +23962,20 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m StrAccum x; char zLine[100]; sqlite3StrAccumInit(&x, 0, zLine, sizeof(zLine), 0); - sqlite3XPrintf(&x, 0, "{%d,*}", pItem->iCursor); + sqlite3XPrintf(&x, "{%d,*}", pItem->iCursor); if( pItem->zDatabase ){ - sqlite3XPrintf(&x, 0, " %s.%s", pItem->zDatabase, pItem->zName); + sqlite3XPrintf(&x, " %s.%s", pItem->zDatabase, pItem->zName); }else if( pItem->zName ){ - sqlite3XPrintf(&x, 0, " %s", pItem->zName); + sqlite3XPrintf(&x, " %s", pItem->zName); } if( pItem->pTab ){ - sqlite3XPrintf(&x, 0, " tabname=%Q", pItem->pTab->zName); + sqlite3XPrintf(&x, " tabname=%Q", pItem->pTab->zName); } if( pItem->zAlias ){ - sqlite3XPrintf(&x, 0, " (AS %s)", pItem->zAlias); + sqlite3XPrintf(&x, " (AS %s)", pItem->zAlias); } if( pItem->fg.jointype & JT_LEFT ){ - sqlite3XPrintf(&x, 0, " LEFT-JOIN"); + sqlite3XPrintf(&x, " LEFT-JOIN"); } sqlite3StrAccumFinish(&x); sqlite3TreeViewItem(pView, zLine, ipSrc->nSrc-1); @@ -24798,7 +25022,7 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desired c = pMem->flags; sqlite3VdbeMemRelease(pMem); - pMem->flags = MEM_Str|MEM_Term|(c&MEM_AffMask); + pMem->flags = MEM_Str|MEM_Term|(c&(MEM_AffMask|MEM_Subtype)); pMem->enc = desiredEnc; pMem->z = (char*)zOut; pMem->zMalloc = pMem->z; @@ -25249,6 +25473,14 @@ SQLITE_PRIVATE int sqlite3Dequote(char *z){ return j; } +/* +** Generate a Token object from a string +*/ +SQLITE_PRIVATE void sqlite3TokenInit(Token *p, char *z){ + p->z = z; + p->n = sqlite3Strlen30(z); +} + /* Convenient short-hand */ #define UpperToLower sqlite3UpperToLower @@ -26157,7 +26389,7 @@ SQLITE_PRIVATE void *sqlite3HexToBlob(sqlite3 *db, const char *z, int n){ char *zBlob; int i; - zBlob = (char *)sqlite3DbMallocRaw(db, n/2 + 1); + zBlob = (char *)sqlite3DbMallocRawNN(db, n/2 + 1); n--; if( zBlob ){ for(i=0; i r[P2@P3]"), - /* 44 */ "Jump" OpHelp(""), - /* 45 */ "Once" OpHelp(""), - /* 46 */ "If" OpHelp(""), - /* 47 */ "IfNot" OpHelp(""), - /* 48 */ "Column" OpHelp("r[P3]=PX"), - /* 49 */ "Affinity" OpHelp("affinity(r[P1@P2])"), - /* 50 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), - /* 51 */ "Count" OpHelp("r[P2]=count()"), - /* 52 */ "ReadCookie" OpHelp(""), - /* 53 */ "SetCookie" OpHelp(""), - /* 54 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), - /* 55 */ "OpenRead" OpHelp("root=P2 iDb=P3"), - /* 56 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), - /* 57 */ "OpenAutoindex" OpHelp("nColumn=P2"), - /* 58 */ "OpenEphemeral" OpHelp("nColumn=P2"), - /* 59 */ "SorterOpen" OpHelp(""), - /* 60 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), - /* 61 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), - /* 62 */ "Close" OpHelp(""), - /* 63 */ "ColumnsUsed" OpHelp(""), - /* 64 */ "SeekLT" OpHelp("key=r[P3@P4]"), - /* 65 */ "SeekLE" OpHelp("key=r[P3@P4]"), - /* 66 */ "SeekGE" OpHelp("key=r[P3@P4]"), - /* 67 */ "SeekGT" OpHelp("key=r[P3@P4]"), - /* 68 */ "Seek" OpHelp("intkey=r[P2]"), - /* 69 */ "NoConflict" OpHelp("key=r[P3@P4]"), - /* 70 */ "NotFound" OpHelp("key=r[P3@P4]"), + /* 20 */ "HaltIfNull" OpHelp("if r[P3]=null halt"), + /* 21 */ "Halt" OpHelp(""), + /* 22 */ "Integer" OpHelp("r[P2]=P1"), + /* 23 */ "Int64" OpHelp("r[P2]=P4"), + /* 24 */ "String" OpHelp("r[P2]='P4' (len=P1)"), + /* 25 */ "Null" OpHelp("r[P2..P3]=NULL"), + /* 26 */ "SoftNull" OpHelp("r[P1]=NULL"), + /* 27 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), + /* 28 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), + /* 29 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), + /* 30 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), + /* 31 */ "SCopy" OpHelp("r[P2]=r[P1]"), + /* 32 */ "IntCopy" OpHelp("r[P2]=r[P1]"), + /* 33 */ "ResultRow" OpHelp("output=r[P1@P2]"), + /* 34 */ "CollSeq" OpHelp(""), + /* 35 */ "Function0" OpHelp("r[P3]=func(r[P2@P5])"), + /* 36 */ "Function" OpHelp("r[P3]=func(r[P2@P5])"), + /* 37 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), + /* 38 */ "MustBeInt" OpHelp(""), + /* 39 */ "RealAffinity" OpHelp(""), + /* 40 */ "Cast" OpHelp("affinity(r[P1])"), + /* 41 */ "Permutation" OpHelp(""), + /* 42 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), + /* 43 */ "Jump" OpHelp(""), + /* 44 */ "Once" OpHelp(""), + /* 45 */ "If" OpHelp(""), + /* 46 */ "IfNot" OpHelp(""), + /* 47 */ "Column" OpHelp("r[P3]=PX"), + /* 48 */ "Affinity" OpHelp("affinity(r[P1@P2])"), + /* 49 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), + /* 50 */ "Count" OpHelp("r[P2]=count()"), + /* 51 */ "ReadCookie" OpHelp(""), + /* 52 */ "SetCookie" OpHelp(""), + /* 53 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), + /* 54 */ "OpenRead" OpHelp("root=P2 iDb=P3"), + /* 55 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), + /* 56 */ "OpenAutoindex" OpHelp("nColumn=P2"), + /* 57 */ "OpenEphemeral" OpHelp("nColumn=P2"), + /* 58 */ "SorterOpen" OpHelp(""), + /* 59 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), + /* 60 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), + /* 61 */ "Close" OpHelp(""), + /* 62 */ "ColumnsUsed" OpHelp(""), + /* 63 */ "SeekLT" OpHelp("key=r[P3@P4]"), + /* 64 */ "SeekLE" OpHelp("key=r[P3@P4]"), + /* 65 */ "SeekGE" OpHelp("key=r[P3@P4]"), + /* 66 */ "SeekGT" OpHelp("key=r[P3@P4]"), + /* 67 */ "NoConflict" OpHelp("key=r[P3@P4]"), + /* 68 */ "NotFound" OpHelp("key=r[P3@P4]"), + /* 69 */ "Found" OpHelp("key=r[P3@P4]"), + /* 70 */ "NotExists" OpHelp("intkey=r[P3]"), /* 71 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"), /* 72 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"), - /* 73 */ "Found" OpHelp("key=r[P3@P4]"), - /* 74 */ "NotExists" OpHelp("intkey=r[P3]"), - /* 75 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), + /* 73 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), + /* 74 */ "NewRowid" OpHelp("r[P2]=rowid"), + /* 75 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), /* 76 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), /* 77 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), /* 78 */ "Ne" OpHelp("if r[P1]!=r[P3] goto P2"), @@ -26779,7 +27012,7 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 81 */ "Le" OpHelp("if r[P1]<=r[P3] goto P2"), /* 82 */ "Lt" OpHelp("if r[P1]=r[P3] goto P2"), - /* 84 */ "NewRowid" OpHelp("r[P2]=rowid"), + /* 84 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), /* 85 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), /* 86 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), /* 87 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<0 then r[P1]-=P3, goto P2"), - /* 140 */ "SetIfNotPos" OpHelp("if r[P1]<=0 then r[P2]=P3"), - /* 141 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]-=P3, goto P2"), - /* 142 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), - /* 143 */ "JumpZeroIncr" OpHelp("if (r[P1]++)==0 ) goto P2"), - /* 144 */ "AggStep0" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 145 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 146 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 147 */ "IncrVacuum" OpHelp(""), - /* 148 */ "Expire" OpHelp(""), - /* 149 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), - /* 150 */ "VBegin" OpHelp(""), - /* 151 */ "VCreate" OpHelp(""), - /* 152 */ "VDestroy" OpHelp(""), - /* 153 */ "VOpen" OpHelp(""), - /* 154 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), - /* 155 */ "VNext" OpHelp(""), - /* 156 */ "VRename" OpHelp(""), - /* 157 */ "Pagecount" OpHelp(""), - /* 158 */ "MaxPgcnt" OpHelp(""), - /* 159 */ "Init" OpHelp("Start at P2"), - /* 160 */ "CursorHint" OpHelp(""), - /* 161 */ "Noop" OpHelp(""), - /* 162 */ "Explain" OpHelp(""), + /* 134 */ "Param" OpHelp(""), + /* 135 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), + /* 136 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), + /* 137 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), + /* 138 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"), + /* 139 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), + /* 140 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]-=P3, goto P2"), + /* 141 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), + /* 142 */ "JumpZeroIncr" OpHelp("if (r[P1]++)==0 ) goto P2"), + /* 143 */ "AggStep0" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 144 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 145 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), + /* 146 */ "IncrVacuum" OpHelp(""), + /* 147 */ "Expire" OpHelp(""), + /* 148 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), + /* 149 */ "VBegin" OpHelp(""), + /* 150 */ "VCreate" OpHelp(""), + /* 151 */ "VDestroy" OpHelp(""), + /* 152 */ "VOpen" OpHelp(""), + /* 153 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), + /* 154 */ "VNext" OpHelp(""), + /* 155 */ "VRename" OpHelp(""), + /* 156 */ "Pagecount" OpHelp(""), + /* 157 */ "MaxPgcnt" OpHelp(""), + /* 158 */ "Init" OpHelp("Start at P2"), + /* 159 */ "CursorHint" OpHelp(""), + /* 160 */ "Noop" OpHelp(""), + /* 161 */ "Explain" OpHelp(""), }; return azName[i]; } @@ -27016,6 +27248,11 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ */ #define MAX_PATHNAME 512 +/* +** Maximum supported symbolic links +*/ +#define SQLITE_MAX_SYMLINKS 100 + /* Always cast the getpid() return type for compatibility with ** kernel modules in VxWorks. */ #define osGetpid(X) (pid_t)getpid() @@ -27168,8 +27405,8 @@ static pid_t randomnessPid = 0; */ #ifdef SQLITE_PERFORMANCE_TRACE -/* -** hwtime.h contains inline assembler code for implementing +/* +** hwtime.h contains inline assembler code for implementing ** high-performance timing routines. */ /************** Include hwtime.h in the middle of os_common.h ****************/ @@ -27279,14 +27516,14 @@ static sqlite_uint64 g_elapsed; ** of code will give us the ability to simulate a disk I/O error. This ** is used for testing the I/O recovery logic. */ -#ifdef SQLITE_TEST -SQLITE_API int sqlite3_io_error_hit = 0; /* Total number of I/O Errors */ -SQLITE_API int sqlite3_io_error_hardhit = 0; /* Number of non-benign errors */ -SQLITE_API int sqlite3_io_error_pending = 0; /* Count down to first I/O error */ -SQLITE_API int sqlite3_io_error_persist = 0; /* True if I/O errors persist */ -SQLITE_API int sqlite3_io_error_benign = 0; /* True if errors are benign */ -SQLITE_API int sqlite3_diskfull_pending = 0; -SQLITE_API int sqlite3_diskfull = 0; +#if defined(SQLITE_TEST) +SQLITE_API extern int sqlite3_io_error_hit; +SQLITE_API extern int sqlite3_io_error_hardhit; +SQLITE_API extern int sqlite3_io_error_pending; +SQLITE_API extern int sqlite3_io_error_persist; +SQLITE_API extern int sqlite3_io_error_benign; +SQLITE_API extern int sqlite3_diskfull_pending; +SQLITE_API extern int sqlite3_diskfull; #define SimulateIOErrorBenign(X) sqlite3_io_error_benign=(X) #define SimulateIOError(CODE) \ if( (sqlite3_io_error_persist && sqlite3_io_error_hit) \ @@ -27312,17 +27549,17 @@ static void local_ioerr(){ #define SimulateIOErrorBenign(X) #define SimulateIOError(A) #define SimulateDiskfullError(A) -#endif +#endif /* defined(SQLITE_TEST) */ /* ** When testing, keep a count of the number of open files. */ -#ifdef SQLITE_TEST -SQLITE_API int sqlite3_open_file_count = 0; +#if defined(SQLITE_TEST) +SQLITE_API extern int sqlite3_open_file_count; #define OpenCounter(X) sqlite3_open_file_count+=(X) #else #define OpenCounter(X) -#endif +#endif /* defined(SQLITE_TEST) */ #endif /* !defined(_OS_COMMON_H_) */ @@ -27495,33 +27732,57 @@ static struct unix_syscall { { "rmdir", (sqlite3_syscall_ptr)rmdir, 0 }, #define osRmdir ((int(*)(const char*))aSyscall[19].pCurrent) +#if defined(HAVE_FCHOWN) { "fchown", (sqlite3_syscall_ptr)fchown, 0 }, +#else + { "fchown", (sqlite3_syscall_ptr)0, 0 }, +#endif #define osFchown ((int(*)(int,uid_t,gid_t))aSyscall[20].pCurrent) { "geteuid", (sqlite3_syscall_ptr)geteuid, 0 }, #define osGeteuid ((uid_t(*)(void))aSyscall[21].pCurrent) #if !defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0 - { "mmap", (sqlite3_syscall_ptr)mmap, 0 }, + { "mmap", (sqlite3_syscall_ptr)mmap, 0 }, +#else + { "mmap", (sqlite3_syscall_ptr)0, 0 }, +#endif #define osMmap ((void*(*)(void*,size_t,int,int,int,off_t))aSyscall[22].pCurrent) +#if !defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0 { "munmap", (sqlite3_syscall_ptr)munmap, 0 }, +#else + { "munmap", (sqlite3_syscall_ptr)0, 0 }, +#endif #define osMunmap ((void*(*)(void*,size_t))aSyscall[23].pCurrent) -#if HAVE_MREMAP +#if HAVE_MREMAP && (!defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0) { "mremap", (sqlite3_syscall_ptr)mremap, 0 }, #else { "mremap", (sqlite3_syscall_ptr)0, 0 }, #endif #define osMremap ((void*(*)(void*,size_t,size_t,int,...))aSyscall[24].pCurrent) +#if !defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0 { "getpagesize", (sqlite3_syscall_ptr)unixGetpagesize, 0 }, +#else + { "getpagesize", (sqlite3_syscall_ptr)0, 0 }, +#endif #define osGetpagesize ((int(*)(void))aSyscall[25].pCurrent) +#if defined(HAVE_READLINK) { "readlink", (sqlite3_syscall_ptr)readlink, 0 }, +#else + { "readlink", (sqlite3_syscall_ptr)0, 0 }, +#endif #define osReadlink ((ssize_t(*)(const char*,char*,size_t))aSyscall[26].pCurrent) +#if defined(HAVE_LSTAT) + { "lstat", (sqlite3_syscall_ptr)lstat, 0 }, +#else + { "lstat", (sqlite3_syscall_ptr)0, 0 }, #endif +#define osLstat ((int(*)(const char*,struct stat*))aSyscall[27].pCurrent) }; /* End of the overrideable system calls */ @@ -27532,10 +27793,10 @@ static struct unix_syscall { ** we are not running as root. */ static int robustFchown(int fd, uid_t uid, gid_t gid){ -#if OS_VXWORKS - return 0; -#else +#if defined(HAVE_FCHOWN) return osGeteuid() ? 0 : osFchown(fd,uid,gid); +#else + return 0; #endif } @@ -32923,12 +33184,7 @@ static int unixDelete( int fd; rc = osOpenDirectory(zPath, &fd); if( rc==SQLITE_OK ){ -#if OS_VXWORKS - if( fsync(fd)==-1 ) -#else - if( fsync(fd) ) -#endif - { + if( full_fsync(fd,0,0) ){ rc = unixLogError(SQLITE_IOERR_DIR_FSYNC, "fsync", zPath); } robust_close(0, fd, __LINE__); @@ -32974,6 +33230,32 @@ static int unixAccess( return SQLITE_OK; } +/* +** +*/ +static int mkFullPathname( + const char *zPath, /* Input path */ + char *zOut, /* Output buffer */ + int nOut /* Allocated size of buffer zOut */ +){ + int nPath = sqlite3Strlen30(zPath); + int iOff = 0; + if( zPath[0]!='/' ){ + if( osGetcwd(zOut, nOut-2)==0 ){ + return unixLogError(SQLITE_CANTOPEN_BKPT, "getcwd", zPath); + } + iOff = sqlite3Strlen30(zOut); + zOut[iOff++] = '/'; + } + if( (iOff+nPath+1)>nOut ){ + /* SQLite assumes that xFullPathname() nul-terminates the output buffer + ** even if it returns an error. */ + zOut[iOff] = '\0'; + return SQLITE_CANTOPEN_BKPT; + } + sqlite3_snprintf(nOut-iOff, &zOut[iOff], "%s", zPath); + return SQLITE_OK; +} /* ** Turn a relative pathname into a full pathname. The relative path @@ -32990,7 +33272,17 @@ static int unixFullPathname( int nOut, /* Size of output buffer in bytes */ char *zOut /* Output buffer */ ){ +#if !defined(HAVE_READLINK) || !defined(HAVE_LSTAT) + return mkFullPathname(zPath, zOut, nOut); +#else + int rc = SQLITE_OK; int nByte; + int nLink = 1; /* Number of symbolic links followed so far */ + const char *zIn = zPath; /* Input path for each iteration of loop */ + char *zDel = 0; + + assert( pVfs->mxPathname==MAX_PATHNAME ); + UNUSED_PARAMETER(pVfs); /* It's odd to simulate an io-error here, but really this is just ** using the io-error infrastructure to test that SQLite handles this @@ -32999,58 +33291,62 @@ static int unixFullPathname( */ SimulateIOError( return SQLITE_ERROR ); - assert( pVfs->mxPathname==MAX_PATHNAME ); - UNUSED_PARAMETER(pVfs); + do { - /* Attempt to resolve the path as if it were a symbolic link. If it is - ** a symbolic link, the resolved path is stored in buffer zOut[]. Or, if - ** the identified file is not a symbolic link or does not exist, then - ** zPath is copied directly into zOut. Either way, nByte is left set to - ** the size of the string copied into zOut[] in bytes. */ - nByte = osReadlink(zPath, zOut, nOut-1); - if( nByte<0 ){ - if( errno!=EINVAL && errno!=ENOENT ){ - return unixLogError(SQLITE_CANTOPEN_BKPT, "readlink", zPath); + /* Call stat() on path zIn. Set bLink to true if the path is a symbolic + ** link, or false otherwise. */ + int bLink = 0; + struct stat buf; + if( osLstat(zIn, &buf)!=0 ){ + if( errno!=ENOENT ){ + rc = unixLogError(SQLITE_CANTOPEN_BKPT, "lstat", zIn); + } + }else{ + bLink = S_ISLNK(buf.st_mode); } - sqlite3_snprintf(nOut, zOut, "%s", zPath); - nByte = sqlite3Strlen30(zOut); - }else{ - zOut[nByte] = '\0'; - } - /* If buffer zOut[] now contains an absolute path there is nothing more - ** to do. If it contains a relative path, do the following: - ** - ** * move the relative path string so that it is at the end of th - ** zOut[] buffer. - ** * Call getcwd() to read the path of the current working directory - ** into the start of the zOut[] buffer. - ** * Append a '/' character to the cwd string and move the - ** relative path back within the buffer so that it immediately - ** follows the '/'. - ** - ** This code is written so that if the combination of the CWD and relative - ** path are larger than the allocated size of zOut[] the CWD is silently - ** truncated to make it fit. This is Ok, as SQLite refuses to open any - ** file for which this function returns a full path larger than (nOut-8) - ** bytes in size. */ - testcase( nByte==nOut-5 ); - testcase( nByte==nOut-4 ); - if( zOut[0]!='/' && nByteSQLITE_MAX_SYMLINKS ){ + rc = SQLITE_CANTOPEN_BKPT; + } + + if( rc==SQLITE_OK ){ + nByte = osReadlink(zIn, zDel, nOut-1); + if( nByte<0 ){ + rc = unixLogError(SQLITE_CANTOPEN_BKPT, "readlink", zIn); + }else{ + if( zDel[0]!='/' ){ + int n; + for(n = sqlite3Strlen30(zIn); n>0 && zIn[n-1]!='/'; n--); + if( nByte+n+1>nOut ){ + rc = SQLITE_CANTOPEN_BKPT; + }else{ + memmove(&zDel[n], zDel, nByte+1); + memcpy(zDel, zIn, n); + nByte += n; + } + } + zDel[nByte] = '\0'; + } + } + + zIn = zDel; } - nCwd = sqlite3Strlen30(zOut); - assert( nCwd<=nRem-1 ); - zOut[nCwd] = '/'; - memmove(&zOut[nCwd+1], &zOut[nRem], nByte+1); - } - return SQLITE_OK; + assert( rc!=SQLITE_OK || zIn!=zOut || zIn[0]=='/' ); + if( rc==SQLITE_OK && zIn!=zOut ){ + rc = mkFullPathname(zIn, zOut, nOut); + } + if( bLink==0 ) break; + zIn = zOut; + }while( rc==SQLITE_OK ); + + sqlite3_free(zDel); + return rc; +#endif /* HAVE_READLINK && HAVE_LSTAT */ } @@ -33232,7 +33528,7 @@ static int unixCurrentTimeInt64(sqlite3_vfs *NotUsed, sqlite3_int64 *piNow){ return rc; } -#if 0 /* Not used */ +#ifndef SQLITE_OMIT_DEPRECATED /* ** Find the current time (in Universal Coordinated Time). Write the ** current time and date as a Julian Day number into *prNow and @@ -33250,7 +33546,7 @@ static int unixCurrentTime(sqlite3_vfs *NotUsed, double *prNow){ # define unixCurrentTime 0 #endif -#if 0 /* Not used */ +#ifndef SQLITE_OMIT_DEPRECATED /* ** We added the xGetLastError() method with the intention of providing ** better low-level error messages when operating-system problems come up @@ -33932,7 +34228,7 @@ static int proxyTakeConch(unixFile *pFile){ writeSize = PROXY_PATHINDEX + strlen(&writeBuffer[PROXY_PATHINDEX]); robust_ftruncate(conchFile->h, writeSize); rc = unixWrite((sqlite3_file *)conchFile, writeBuffer, writeSize, 0); - fsync(conchFile->h); + full_fsync(conchFile->h,0,0); /* If we created a new conch file (not just updated the contents of a ** valid conch file), try to match the permissions of the database */ @@ -34549,7 +34845,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_os_init(void){ /* Double-check that the aSyscall[] array has been constructed ** correctly. See ticket [bb3a86e890c8e96ab] */ - assert( ArraySize(aSyscall)==27 ); + assert( ArraySize(aSyscall)==28 ); /* Register all VFSes defined in the aVfs[] array */ for(i=0; i<(sizeof(aVfs)/sizeof(sqlite3_vfs)); i++){ @@ -34632,8 +34928,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_os_end(void){ */ #ifdef SQLITE_PERFORMANCE_TRACE -/* -** hwtime.h contains inline assembler code for implementing +/* +** hwtime.h contains inline assembler code for implementing ** high-performance timing routines. */ /************** Include hwtime.h in the middle of os_common.h ****************/ @@ -34743,14 +35039,14 @@ static sqlite_uint64 g_elapsed; ** of code will give us the ability to simulate a disk I/O error. This ** is used for testing the I/O recovery logic. */ -#ifdef SQLITE_TEST -SQLITE_API int sqlite3_io_error_hit = 0; /* Total number of I/O Errors */ -SQLITE_API int sqlite3_io_error_hardhit = 0; /* Number of non-benign errors */ -SQLITE_API int sqlite3_io_error_pending = 0; /* Count down to first I/O error */ -SQLITE_API int sqlite3_io_error_persist = 0; /* True if I/O errors persist */ -SQLITE_API int sqlite3_io_error_benign = 0; /* True if errors are benign */ -SQLITE_API int sqlite3_diskfull_pending = 0; -SQLITE_API int sqlite3_diskfull = 0; +#if defined(SQLITE_TEST) +SQLITE_API extern int sqlite3_io_error_hit; +SQLITE_API extern int sqlite3_io_error_hardhit; +SQLITE_API extern int sqlite3_io_error_pending; +SQLITE_API extern int sqlite3_io_error_persist; +SQLITE_API extern int sqlite3_io_error_benign; +SQLITE_API extern int sqlite3_diskfull_pending; +SQLITE_API extern int sqlite3_diskfull; #define SimulateIOErrorBenign(X) sqlite3_io_error_benign=(X) #define SimulateIOError(CODE) \ if( (sqlite3_io_error_persist && sqlite3_io_error_hit) \ @@ -34776,17 +35072,17 @@ static void local_ioerr(){ #define SimulateIOErrorBenign(X) #define SimulateIOError(A) #define SimulateDiskfullError(A) -#endif +#endif /* defined(SQLITE_TEST) */ /* ** When testing, keep a count of the number of open files. */ -#ifdef SQLITE_TEST -SQLITE_API int sqlite3_open_file_count = 0; +#if defined(SQLITE_TEST) +SQLITE_API extern int sqlite3_open_file_count; #define OpenCounter(X) sqlite3_open_file_count+=(X) #else #define OpenCounter(X) -#endif +#endif /* defined(SQLITE_TEST) */ #endif /* !defined(_OS_COMMON_H_) */ @@ -34849,6 +35145,10 @@ SQLITE_API int sqlite3_open_file_count = 0; # define NTDDI_WINBLUE 0x06030000 #endif +#ifndef NTDDI_WINTHRESHOLD +# define NTDDI_WINTHRESHOLD 0x06040000 +#endif + /* ** Check to see if the GetVersionEx[AW] functions are deprecated on the ** target system. GetVersionEx was first deprecated in Win8.1. @@ -34861,6 +35161,19 @@ SQLITE_API int sqlite3_open_file_count = 0; # endif #endif +/* +** Check to see if the CreateFileMappingA function is supported on the +** target system. It is unavailable when using "mincore.lib" on Win10. +** When compiling for Windows 10, always assume "mincore.lib" is in use. +*/ +#ifndef SQLITE_WIN32_CREATEFILEMAPPINGA +# if defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WINTHRESHOLD +# define SQLITE_WIN32_CREATEFILEMAPPINGA 0 +# else +# define SQLITE_WIN32_CREATEFILEMAPPINGA 1 +# endif +#endif + /* ** This constant should already be defined (in the "WinDef.h" SDK file). */ @@ -35267,8 +35580,9 @@ static struct win_syscall { #define osCreateFileW ((HANDLE(WINAPI*)(LPCWSTR,DWORD,DWORD, \ LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE))aSyscall[5].pCurrent) -#if (!SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_ANSI) && \ - (!defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0)) +#if !SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_ANSI) && \ + (!defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0) && \ + SQLITE_WIN32_CREATEFILEMAPPINGA { "CreateFileMappingA", (SYSCALL)CreateFileMappingA, 0 }, #else { "CreateFileMappingA", (SYSCALL)0, 0 }, @@ -35498,8 +35812,7 @@ static struct win_syscall { #define osGetTickCount ((DWORD(WINAPI*)(VOID))aSyscall[33].pCurrent) -#if defined(SQLITE_WIN32_HAS_ANSI) && defined(SQLITE_WIN32_GETVERSIONEX) && \ - SQLITE_WIN32_GETVERSIONEX +#if defined(SQLITE_WIN32_HAS_ANSI) && SQLITE_WIN32_GETVERSIONEX { "GetVersionExA", (SYSCALL)GetVersionExA, 0 }, #else { "GetVersionExA", (SYSCALL)0, 0 }, @@ -35509,7 +35822,7 @@ static struct win_syscall { LPOSVERSIONINFOA))aSyscall[34].pCurrent) #if !SQLITE_OS_WINRT && defined(SQLITE_WIN32_HAS_WIDE) && \ - defined(SQLITE_WIN32_GETVERSIONEX) && SQLITE_WIN32_GETVERSIONEX + SQLITE_WIN32_GETVERSIONEX { "GetVersionExW", (SYSCALL)GetVersionExW, 0 }, #else { "GetVersionExW", (SYSCALL)0, 0 }, @@ -36120,7 +36433,7 @@ SQLITE_PRIVATE DWORD sqlite3Win32Wait(HANDLE hObject){ ** the LockFileEx() API. */ -#if !defined(SQLITE_WIN32_GETVERSIONEX) || !SQLITE_WIN32_GETVERSIONEX +#if !SQLITE_WIN32_GETVERSIONEX # define osIsNT() (1) #elif SQLITE_OS_WINCE || SQLITE_OS_WINRT || !defined(SQLITE_WIN32_HAS_ANSI) # define osIsNT() (1) @@ -36141,7 +36454,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_win32_is_nt(void){ ** kernel. */ return 1; -#elif defined(SQLITE_WIN32_GETVERSIONEX) && SQLITE_WIN32_GETVERSIONEX +#elif SQLITE_WIN32_GETVERSIONEX if( osInterlockedCompareExchange(&sqlite3_os_type, 0, 0)==0 ){ #if defined(SQLITE_WIN32_HAS_ANSI) OSVERSIONINFOA sInfo; @@ -38725,7 +39038,7 @@ static int winShmMap( hMap = osCreateFileMappingW(pShmNode->hFile.h, NULL, PAGE_READWRITE, 0, nByte, NULL ); -#elif defined(SQLITE_WIN32_HAS_ANSI) +#elif defined(SQLITE_WIN32_HAS_ANSI) && SQLITE_WIN32_CREATEFILEMAPPINGA hMap = osCreateFileMappingA(pShmNode->hFile.h, NULL, PAGE_READWRITE, 0, nByte, NULL ); @@ -38881,7 +39194,7 @@ static int winMapfile(winFile *pFd, sqlite3_int64 nByte){ pFd->hMap = osCreateFileMappingW(pFd->h, NULL, protect, (DWORD)((nMap>>32) & 0xffffffff), (DWORD)(nMap & 0xffffffff), NULL); -#elif defined(SQLITE_WIN32_HAS_ANSI) +#elif defined(SQLITE_WIN32_HAS_ANSI) && SQLITE_WIN32_CREATEFILEMAPPINGA pFd->hMap = osCreateFileMappingA(pFd->h, NULL, protect, (DWORD)((nMap>>32) & 0xffffffff), (DWORD)(nMap & 0xffffffff), NULL); @@ -42945,7 +43258,7 @@ static struct RowSetEntry *rowSetEntryAlloc(RowSet *p){ assert( p!=0 ); if( p->nFresh==0 ){ struct RowSetChunk *pNew; - pNew = sqlite3DbMallocRaw(p->db, sizeof(*pNew)); + pNew = sqlite3DbMallocRawNN(p->db, sizeof(*pNew)); if( pNew==0 ){ return 0; } @@ -43853,6 +44166,20 @@ int sqlite3PagerTrace=1; /* True to enable tracing */ */ #define MAX_SECTOR_SIZE 0x10000 +/* +** If the option SQLITE_EXTRA_DURABLE option is set at compile-time, then +** SQLite will do extra fsync() operations when synchronous==FULL to help +** ensure that transactions are durable across a power failure. Most +** applications are happy as long as transactions are consistent across +** a power failure, and are perfectly willing to lose the last transaction +** in exchange for the extra performance of avoiding directory syncs. +** And so the default SQLITE_EXTRA_DURABLE setting is off. +*/ +#ifndef SQLITE_EXTRA_DURABLE +# define SQLITE_EXTRA_DURABLE 0 +#endif + + /* ** An instance of the following structure is allocated for each active ** savepoint and statement transaction in the system. All such structures @@ -44048,6 +44375,7 @@ struct Pager { u8 useJournal; /* Use a rollback journal on this file */ u8 noSync; /* Do not sync the journal if true */ u8 fullSync; /* Do extra syncs of the journal for robustness */ + u8 extraSync; /* sync directory after journal delete */ u8 ckptSyncFlags; /* SYNC_NORMAL or SYNC_FULL for checkpoint */ u8 walSyncFlags; /* SYNC_NORMAL or SYNC_FULL for wal writes */ u8 syncFlags; /* SYNC_NORMAL or SYNC_FULL otherwise */ @@ -45408,7 +45736,7 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ ); sqlite3OsClose(pPager->jfd); if( bDelete ){ - rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, 0); + rc = sqlite3OsDelete(pPager->pVfs, pPager->zJournal, pPager->extraSync); } } } @@ -46914,9 +47242,15 @@ SQLITE_PRIVATE void sqlite3PagerSetFlags( unsigned pgFlags /* Various flags */ ){ unsigned level = pgFlags & PAGER_SYNCHRONOUS_MASK; - assert( level>=1 && level<=3 ); - pPager->noSync = (level==1 || pPager->tempFile) ?1:0; - pPager->fullSync = (level==3 && !pPager->tempFile) ?1:0; + if( pPager->tempFile ){ + pPager->noSync = 1; + pPager->fullSync = 0; + pPager->extraSync = 0; + }else{ + pPager->noSync = level==PAGER_SYNCHRONOUS_OFF ?1:0; + pPager->fullSync = level>=PAGER_SYNCHRONOUS_FULL ?1:0; + pPager->extraSync = level==PAGER_SYNCHRONOUS_EXTRA ?1:0; + } if( pPager->noSync ){ pPager->syncFlags = 0; pPager->ckptSyncFlags = 0; @@ -48221,11 +48555,17 @@ act_like_temp_file: pPager->noSync = pPager->tempFile; if( pPager->noSync ){ assert( pPager->fullSync==0 ); + assert( pPager->extraSync==0 ); assert( pPager->syncFlags==0 ); assert( pPager->walSyncFlags==0 ); assert( pPager->ckptSyncFlags==0 ); }else{ pPager->fullSync = 1; +#if SQLITE_EXTRA_DURABLE + pPager->extraSync = 1; +#else + pPager->extraSync = 0; +#endif pPager->syncFlags = SQLITE_SYNC_NORMAL; pPager->walSyncFlags = SQLITE_SYNC_NORMAL | WAL_SYNC_TRANSACTIONS; pPager->ckptSyncFlags = SQLITE_SYNC_NORMAL; @@ -51234,6 +51574,7 @@ struct Wal { u8 padToSectorBoundary; /* Pad transactions out to the next sector */ WalIndexHdr hdr; /* Wal-index header for current transaction */ u32 minFrame; /* Ignore wal frames before this one */ + u32 iReCksum; /* On commit, recalculate checksums from here */ const char *zWalName; /* Name of WAL file */ u32 nCkpt; /* Checkpoint sequence counter in the wal-header */ #ifdef SQLITE_DEBUG @@ -51487,14 +51828,18 @@ static void walEncodeFrame( assert( WAL_FRAME_HDRSIZE==24 ); sqlite3Put4byte(&aFrame[0], iPage); sqlite3Put4byte(&aFrame[4], nTruncate); - memcpy(&aFrame[8], pWal->hdr.aSalt, 8); + if( pWal->iReCksum==0 ){ + memcpy(&aFrame[8], pWal->hdr.aSalt, 8); - nativeCksum = (pWal->hdr.bigEndCksum==SQLITE_BIGENDIAN); - walChecksumBytes(nativeCksum, aFrame, 8, aCksum, aCksum); - walChecksumBytes(nativeCksum, aData, pWal->szPage, aCksum, aCksum); + nativeCksum = (pWal->hdr.bigEndCksum==SQLITE_BIGENDIAN); + walChecksumBytes(nativeCksum, aFrame, 8, aCksum, aCksum); + walChecksumBytes(nativeCksum, aData, pWal->szPage, aCksum, aCksum); - sqlite3Put4byte(&aFrame[16], aCksum[0]); - sqlite3Put4byte(&aFrame[20], aCksum[1]); + sqlite3Put4byte(&aFrame[16], aCksum[0]); + sqlite3Put4byte(&aFrame[20], aCksum[1]); + }else{ + memset(&aFrame[8], 0, 16); + } } /* @@ -53421,6 +53766,7 @@ SQLITE_PRIVATE int sqlite3WalBeginWriteTransaction(Wal *pWal){ /* Cannot start a write transaction without first holding a read ** transaction. */ assert( pWal->readLock>=0 ); + assert( pWal->writeLock==0 && pWal->iReCksum==0 ); if( pWal->readOnly ){ return SQLITE_READONLY; @@ -53456,6 +53802,7 @@ SQLITE_PRIVATE int sqlite3WalEndWriteTransaction(Wal *pWal){ if( pWal->writeLock ){ walUnlockExclusive(pWal, WAL_WRITE_LOCK, 1); pWal->writeLock = 0; + pWal->iReCksum = 0; pWal->truncateOnCommit = 0; } return SQLITE_OK; @@ -53674,6 +54021,59 @@ static int walWriteOneFrame( return rc; } +/* +** This function is called as part of committing a transaction within which +** one or more frames have been overwritten. It updates the checksums for +** all frames written to the wal file by the current transaction starting +** with the earliest to have been overwritten. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +*/ +static int walRewriteChecksums(Wal *pWal, u32 iLast){ + const int szPage = pWal->szPage;/* Database page size */ + int rc = SQLITE_OK; /* Return code */ + u8 *aBuf; /* Buffer to load data from wal file into */ + u8 aFrame[WAL_FRAME_HDRSIZE]; /* Buffer to assemble frame-headers in */ + u32 iRead; /* Next frame to read from wal file */ + i64 iCksumOff; + + aBuf = sqlite3_malloc(szPage + WAL_FRAME_HDRSIZE); + if( aBuf==0 ) return SQLITE_NOMEM; + + /* Find the checksum values to use as input for the recalculating the + ** first checksum. If the first frame is frame 1 (implying that the current + ** transaction restarted the wal file), these values must be read from the + ** wal-file header. Otherwise, read them from the frame header of the + ** previous frame. */ + assert( pWal->iReCksum>0 ); + if( pWal->iReCksum==1 ){ + iCksumOff = 24; + }else{ + iCksumOff = walFrameOffset(pWal->iReCksum-1, szPage) + 16; + } + rc = sqlite3OsRead(pWal->pWalFd, aBuf, sizeof(u32)*2, iCksumOff); + pWal->hdr.aFrameCksum[0] = sqlite3Get4byte(aBuf); + pWal->hdr.aFrameCksum[1] = sqlite3Get4byte(&aBuf[sizeof(u32)]); + + iRead = pWal->iReCksum; + pWal->iReCksum = 0; + for(; rc==SQLITE_OK && iRead<=iLast; iRead++){ + i64 iOff = walFrameOffset(iRead, szPage); + rc = sqlite3OsRead(pWal->pWalFd, aBuf, szPage+WAL_FRAME_HDRSIZE, iOff); + if( rc==SQLITE_OK ){ + u32 iPgno, nDbSize; + iPgno = sqlite3Get4byte(aBuf); + nDbSize = sqlite3Get4byte(&aBuf[4]); + + walEncodeFrame(pWal, iPgno, nDbSize, &aBuf[WAL_FRAME_HDRSIZE], aFrame); + rc = sqlite3OsWrite(pWal->pWalFd, aFrame, sizeof(aFrame), iOff); + } + } + + sqlite3_free(aBuf); + return rc; +} + /* ** Write a set of frames to the log. The caller must hold the write-lock ** on the log file (obtained using sqlite3WalBeginWriteTransaction()). @@ -53694,6 +54094,8 @@ SQLITE_PRIVATE int sqlite3WalFrames( int szFrame; /* The size of a single frame */ i64 iOffset; /* Next byte to write in WAL file */ WalWriter w; /* The writer */ + u32 iFirst = 0; /* First frame that may be overwritten */ + WalIndexHdr *pLive; /* Pointer to shared header */ assert( pList ); assert( pWal->writeLock ); @@ -53709,6 +54111,11 @@ SQLITE_PRIVATE int sqlite3WalFrames( } #endif + pLive = (WalIndexHdr*)walIndexHdr(pWal); + if( memcmp(&pWal->hdr, (void *)pLive, sizeof(WalIndexHdr))!=0 ){ + iFirst = pLive->mxFrame+1; + } + /* See if it is possible to write these frames into the start of the ** log file, instead of appending to it at pWal->hdr.mxFrame. */ @@ -53773,6 +54180,33 @@ SQLITE_PRIVATE int sqlite3WalFrames( /* Write all frames into the log file exactly once */ for(p=pList; p; p=p->pDirty){ int nDbSize; /* 0 normally. Positive == commit flag */ + + /* Check if this page has already been written into the wal file by + ** the current transaction. If so, overwrite the existing frame and + ** set Wal.writeLock to WAL_WRITELOCK_RECKSUM - indicating that + ** checksums must be recomputed when the transaction is committed. */ + if( iFirst && (p->pDirty || isCommit==0) ){ + u32 iWrite = 0; + VVA_ONLY(rc =) sqlite3WalFindFrame(pWal, p->pgno, &iWrite); + assert( rc==SQLITE_OK || iWrite==0 ); + if( iWrite>=iFirst ){ + i64 iOff = walFrameOffset(iWrite, szPage) + WAL_FRAME_HDRSIZE; + void *pData; + if( pWal->iReCksum==0 || iWriteiReCksum ){ + pWal->iReCksum = iWrite; + } +#if defined(SQLITE_HAS_CODEC) + if( (pData = sqlite3PagerCodec(p))==0 ) return SQLITE_NOMEM; +#else + pData = p->pData; +#endif + rc = sqlite3OsWrite(pWal->pWalFd, pData, szPage, iOff); + if( rc ) return rc; + p->flags &= ~PGHDR_WAL_APPEND; + continue; + } + } + iFrame++; assert( iOffset==walFrameOffset(iFrame, szPage) ); nDbSize = (isCommit && p->pDirty==0) ? nTruncate : 0; @@ -53780,6 +54214,13 @@ SQLITE_PRIVATE int sqlite3WalFrames( if( rc ) return rc; pLast = p; iOffset += szFrame; + p->flags |= PGHDR_WAL_APPEND; + } + + /* Recalculate checksums within the wal file if required. */ + if( isCommit && pWal->iReCksum ){ + rc = walRewriteChecksums(pWal, iFrame); + if( rc ) return rc; } /* If this is the end of a transaction, then we might need to pad @@ -53831,6 +54272,7 @@ SQLITE_PRIVATE int sqlite3WalFrames( */ iFrame = pWal->hdr.mxFrame; for(p=pList; p && rc==SQLITE_OK; p=p->pDirty){ + if( (p->flags & PGHDR_WAL_APPEND)==0 ) continue; iFrame++; rc = walIndexAppend(pWal, iFrame, p->pgno); } @@ -53943,6 +54385,7 @@ SQLITE_PRIVATE int sqlite3WalCheckpoint( /* Copy data from the log to the database file. */ if( rc==SQLITE_OK ){ + if( pWal->hdr.mxFrame && walPagesize(pWal)!=nBuf ){ rc = SQLITE_CORRUPT_BKPT; }else{ @@ -54406,7 +54849,6 @@ struct MemPage { u8 nOverflow; /* Number of overflow cell bodies in aCell[] */ u8 intKey; /* True if table b-trees. False for index b-trees */ u8 intKeyLeaf; /* True if the leaf of an intKey table */ - u8 noPayload; /* True if internal intKey page (thus w/o data) */ u8 leaf; /* True if a leaf page */ u8 hdrOffset; /* 100 for page 1. 0 otherwise */ u8 childPtrSize; /* 0 if leaf==1. 4 if leaf==0 */ @@ -54994,21 +55436,6 @@ SQLITE_PRIVATE int sqlite3BtreeHoldsMutex(Btree *p){ #endif -#ifndef SQLITE_OMIT_INCRBLOB -/* -** Enter and leave a mutex on a Btree given a cursor owned by that -** Btree. These entry points are used by incremental I/O and can be -** omitted if that module is not used. -*/ -SQLITE_PRIVATE void sqlite3BtreeEnterCursor(BtCursor *pCur){ - sqlite3BtreeEnter(pCur->pBtree); -} -SQLITE_PRIVATE void sqlite3BtreeLeaveCursor(BtCursor *pCur){ - sqlite3BtreeLeave(pCur->pBtree); -} -#endif /* SQLITE_OMIT_INCRBLOB */ - - /* ** Enter the mutex on every Btree associated with a database ** connection. This is needed (for example) prior to parsing @@ -55042,14 +55469,6 @@ SQLITE_PRIVATE void sqlite3BtreeLeaveAll(sqlite3 *db){ } } -/* -** Return true if a particular Btree requires a lock. Return FALSE if -** no lock is ever required since it is not sharable. -*/ -SQLITE_PRIVATE int sqlite3BtreeSharable(Btree *p){ - return p->sharable; -} - #ifndef NDEBUG /* ** Return true if the current thread holds the database connection @@ -55123,6 +55542,25 @@ SQLITE_PRIVATE void sqlite3BtreeEnterAll(sqlite3 *db){ } } #endif /* if SQLITE_THREADSAFE */ + +#ifndef SQLITE_OMIT_INCRBLOB +/* +** Enter a mutex on a Btree given a cursor owned by that Btree. +** +** These entry points are used by incremental I/O only. Enter() is required +** any time OMIT_SHARED_CACHE is not defined, regardless of whether or not +** the build is threadsafe. Leave() is only required by threadsafe builds. +*/ +SQLITE_PRIVATE void sqlite3BtreeEnterCursor(BtCursor *pCur){ + sqlite3BtreeEnter(pCur->pBtree); +} +# if SQLITE_THREADSAFE +SQLITE_PRIVATE void sqlite3BtreeLeaveCursor(BtCursor *pCur){ + sqlite3BtreeLeave(pCur->pBtree); +} +# endif +#endif /* ifndef SQLITE_OMIT_INCRBLOB */ + #endif /* ifndef SQLITE_OMIT_SHARED_CACHE */ /************** End of btmutex.c *********************************************/ @@ -55579,6 +56017,10 @@ static void releasePage(MemPage *pPage); /* Forward reference */ static int cursorHoldsMutex(BtCursor *p){ return sqlite3_mutex_held(p->pBt->mutex); } +static int cursorOwnsBtShared(BtCursor *p){ + assert( cursorHoldsMutex(p) ); + return (p->pBtree->db==p->pBt->db); +} #endif /* @@ -55915,7 +56357,7 @@ static int btreeMoveto( static int btreeRestoreCursorPosition(BtCursor *pCur){ int rc; int skipNext; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState>=CURSOR_REQUIRESEEK ); if( pCur->eState==CURSOR_FAULT ){ return pCur->skipNext; @@ -56204,7 +56646,6 @@ static void btreeParseCellPtrNoPayload( ){ assert( sqlite3_mutex_held(pPage->pBt->mutex) ); assert( pPage->leaf==0 ); - assert( pPage->noPayload ); assert( pPage->childPtrSize==4 ); #ifndef SQLITE_DEBUG UNUSED_PARAMETER(pPage); @@ -56226,8 +56667,6 @@ static void btreeParseCellPtr( assert( sqlite3_mutex_held(pPage->pBt->mutex) ); assert( pPage->leaf==0 || pPage->leaf==1 ); - assert( pPage->intKeyLeaf || pPage->noPayload ); - assert( pPage->noPayload==0 ); assert( pPage->intKeyLeaf ); assert( pPage->childPtrSize==0 ); pIter = pCell; @@ -56296,7 +56735,6 @@ static void btreeParseCellPtrIndex( assert( sqlite3_mutex_held(pPage->pBt->mutex) ); assert( pPage->leaf==0 || pPage->leaf==1 ); assert( pPage->intKeyLeaf==0 ); - assert( pPage->noPayload==0 ); pIter = pCell + pPage->childPtrSize; nPayload = *pIter; if( nPayload>=0x80 ){ @@ -56357,7 +56795,6 @@ static u16 cellSizePtr(MemPage *pPage, u8 *pCell){ pPage->xParseCell(pPage, pCell, &debuginfo); #endif - assert( pPage->noPayload==0 ); nSize = *pIter; if( nSize>=0x80 ){ pEnd = &pIter[8]; @@ -56815,11 +57252,9 @@ static int decodeFlags(MemPage *pPage, int flagByte){ pPage->intKey = 1; if( pPage->leaf ){ pPage->intKeyLeaf = 1; - pPage->noPayload = 0; pPage->xParseCell = btreeParseCellPtr; }else{ pPage->intKeyLeaf = 0; - pPage->noPayload = 1; pPage->xCellSize = cellSizePtrNoPayload; pPage->xParseCell = btreeParseCellPtrNoPayload; } @@ -56834,7 +57269,6 @@ static int decodeFlags(MemPage *pPage, int flagByte){ assert( (PTF_ZERODATA|PTF_LEAF)==10 ); pPage->intKey = 0; pPage->intKeyLeaf = 0; - pPage->noPayload = 0; pPage->xParseCell = btreeParseCellPtrIndex; pPage->maxLocal = pBt->maxLocal; pPage->minLocal = pBt->minLocal; @@ -57471,7 +57905,6 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( pBt->mutex = sqlite3MutexAlloc(SQLITE_MUTEX_FAST); if( pBt->mutex==0 ){ rc = SQLITE_NOMEM; - db->mallocFailed = 0; goto btree_open_out; } } @@ -58255,7 +58688,6 @@ SQLITE_PRIVATE int sqlite3BtreeNewDb(Btree *p){ ** proceed. */ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ - sqlite3 *pBlock = 0; BtShared *pBt = p->pBt; int rc = SQLITE_OK; @@ -58278,27 +58710,30 @@ SQLITE_PRIVATE int sqlite3BtreeBeginTrans(Btree *p, int wrflag){ } #ifndef SQLITE_OMIT_SHARED_CACHE - /* If another database handle has already opened a write transaction - ** on this shared-btree structure and a second write transaction is - ** requested, return SQLITE_LOCKED. - */ - if( (wrflag && pBt->inTransaction==TRANS_WRITE) - || (pBt->btsFlags & BTS_PENDING)!=0 - ){ - pBlock = pBt->pWriter->db; - }else if( wrflag>1 ){ - BtLock *pIter; - for(pIter=pBt->pLock; pIter; pIter=pIter->pNext){ - if( pIter->pBtree!=p ){ - pBlock = pIter->pBtree->db; - break; + { + sqlite3 *pBlock = 0; + /* If another database handle has already opened a write transaction + ** on this shared-btree structure and a second write transaction is + ** requested, return SQLITE_LOCKED. + */ + if( (wrflag && pBt->inTransaction==TRANS_WRITE) + || (pBt->btsFlags & BTS_PENDING)!=0 + ){ + pBlock = pBt->pWriter->db; + }else if( wrflag>1 ){ + BtLock *pIter; + for(pIter=pBt->pLock; pIter; pIter=pIter->pNext){ + if( pIter->pBtree!=p ){ + pBlock = pIter->pBtree->db; + break; + } } } - } - if( pBlock ){ - sqlite3ConnectionBlocked(p->db, pBlock); - rc = SQLITE_LOCKED_SHAREDCACHE; - goto trans_begun; + if( pBlock ){ + sqlite3ConnectionBlocked(p->db, pBlock); + rc = SQLITE_LOCKED_SHAREDCACHE; + goto trans_begun; + } } #endif @@ -59180,13 +59615,13 @@ SQLITE_PRIVATE int sqlite3BtreeSavepoint(Btree *p, int op, int iSavepoint){ ** on the database already. If a write-cursor is requested, then ** the caller is assumed to have an open write transaction. ** -** If wrFlag==0, then the cursor can only be used for reading. -** If wrFlag==1, then the cursor can be used for reading or for -** writing if other conditions for writing are also met. These -** are the conditions that must be met in order for writing to -** be allowed: +** If the BTREE_WRCSR bit of wrFlag is clear, then the cursor can only +** be used for reading. If the BTREE_WRCSR bit is set, then the cursor +** can be used for reading or for writing if other conditions for writing +** are also met. These are the conditions that must be met in order +** for writing to be allowed: ** -** 1: The cursor must have been opened with wrFlag==1 +** 1: The cursor must have been opened with wrFlag containing BTREE_WRCSR ** ** 2: Other database connections that share the same pager cache ** but which are not in the READ_UNCOMMITTED state may not have @@ -59198,6 +59633,16 @@ SQLITE_PRIVATE int sqlite3BtreeSavepoint(Btree *p, int op, int iSavepoint){ ** ** 4: There must be an active transaction. ** +** The BTREE_FORDELETE bit of wrFlag may optionally be set if BTREE_WRCSR +** is set. If FORDELETE is set, that is a hint to the implementation that +** this cursor will only be used to seek to and delete entries of an index +** as part of a larger DELETE statement. The FORDELETE hint is not used by +** this implementation. But in a hypothetical alternative storage engine +** in which index entries are automatically deleted when corresponding table +** rows are deleted, the FORDELETE flag is a hint that all SEEK and DELETE +** operations on this cursor can be no-ops and all READ operations can +** return a null row (2-bytes: 0x01 0x00). +** ** No checking is done to make sure that page iTable really is the ** root page of a b-tree. If it is not, then the cursor acquired ** will not work correctly. @@ -59415,7 +59860,7 @@ SQLITE_PRIVATE int sqlite3BtreeKeySize(BtCursor *pCur, i64 *pSize){ ** to return an integer result code for historical reasons. */ SQLITE_PRIVATE int sqlite3BtreeDataSize(BtCursor *pCur, u32 *pSize){ - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); assert( pCur->iPage>=0 ); assert( pCur->iPageeState==CURSOR_VALID ); @@ -59833,7 +60278,7 @@ static const void *fetchPayload( assert( pCur!=0 && pCur->iPage>=0 && pCur->apPage[pCur->iPage]); assert( pCur->eState==CURSOR_VALID ); assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); assert( pCur->info.nSize>0 ); assert( pCur->info.pPayload>pCur->apPage[pCur->iPage]->aData || CORRUPT_DB ); @@ -59879,7 +60324,7 @@ SQLITE_PRIVATE const void *sqlite3BtreeDataFetch(BtCursor *pCur, u32 *pAmt){ static int moveToChild(BtCursor *pCur, u32 newPgno){ BtShared *pBt = pCur->pBt; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); assert( pCur->iPageiPage>=0 ); @@ -59925,7 +60370,7 @@ static void assertParentIndex(MemPage *pParent, int iIdx, Pgno iChild){ ** the largest cell index. */ static void moveToParent(BtCursor *pCur){ - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); assert( pCur->iPage>0 ); assert( pCur->apPage[pCur->iPage] ); @@ -59965,7 +60410,7 @@ static int moveToRoot(BtCursor *pCur){ MemPage *pRoot; int rc = SQLITE_OK; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( CURSOR_INVALID < CURSOR_REQUIRESEEK ); assert( CURSOR_VALID < CURSOR_REQUIRESEEK ); assert( CURSOR_FAULT > CURSOR_REQUIRESEEK ); @@ -60044,7 +60489,7 @@ static int moveToLeftmost(BtCursor *pCur){ int rc = SQLITE_OK; MemPage *pPage; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){ assert( pCur->aiIdx[pCur->iPage]nCell ); @@ -60069,7 +60514,7 @@ static int moveToRightmost(BtCursor *pCur){ int rc = SQLITE_OK; MemPage *pPage = 0; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); while( !(pPage = pCur->apPage[pCur->iPage])->leaf ){ pgno = get4byte(&pPage->aData[pPage->hdrOffset+8]); @@ -60090,7 +60535,7 @@ static int moveToRightmost(BtCursor *pCur){ SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor *pCur, int *pRes){ int rc; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); rc = moveToRoot(pCur); if( rc==SQLITE_OK ){ @@ -60113,7 +60558,7 @@ SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor *pCur, int *pRes){ SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor *pCur, int *pRes){ int rc; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); /* If the cursor already points to the last entry, this is a no-op. */ @@ -60191,7 +60636,7 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( int rc; RecordCompare xRecordCompare; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); assert( pRes ); assert( (pIdxKey==0)==(pCur->pKeyInfo==0) ); @@ -60439,7 +60884,7 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ int idx; MemPage *pPage; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); assert( *pRes==0 ); if( pCur->eState!=CURSOR_VALID ){ @@ -60503,7 +60948,7 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ } SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ MemPage *pPage; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pRes!=0 ); assert( *pRes==0 || *pRes==1 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); @@ -60548,7 +60993,7 @@ static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur, int *pRes){ int rc; MemPage *pPage; - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pRes!=0 ); assert( *pRes==0 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); @@ -60604,7 +61049,7 @@ static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur, int *pRes){ return rc; } SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pRes!=0 ); assert( *pRes==0 || *pRes==1 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); @@ -61270,7 +61715,7 @@ static int fillInCell( { CellInfo info; pPage->xParseCell(pPage, pCell, &info); - assert( nHeader=(int)(info.pPayload - pCell) ); + assert( nHeader==(int)(info.pPayload - pCell) ); assert( info.nKey==nKey ); assert( *pnSize == info.nSize ); assert( spaceLeft == info.nLocal ); @@ -62317,9 +62762,8 @@ static int balance_nonroot( ** long be able to find the cells if a pointer to each cell is not saved ** first. */ - memset(&b.szCell[b.nCell], 0, sizeof(b.szCell[0])*limit); + memset(&b.szCell[b.nCell], 0, sizeof(b.szCell[0])*(limit+pOld->nOverflow)); if( pOld->nOverflow>0 ){ - memset(&b.szCell[b.nCell+limit], 0, sizeof(b.szCell[0])*pOld->nOverflow); limit = pOld->aiOvfl[0]; for(j=0; jiPage; @@ -62944,7 +63388,8 @@ static int balance(BtCursor *pCur){ ** and copy the current contents of the root-page to it. The ** next iteration of the do-loop will balance the child page. */ - assert( (balance_deeper_called++)==0 ); + assert( balance_deeper_called==0 ); + VVA_ONLY( balance_deeper_called++ ); rc = balance_deeper(pPage, &pCur->apPage[1]); if( rc==SQLITE_OK ){ pCur->iPage = 1; @@ -62983,7 +63428,8 @@ static int balance(BtCursor *pCur){ ** function. If this were not verified, a subtle bug involving reuse ** of the aBalanceQuickSpace[] might sneak in. */ - assert( (balance_quick_called++)==0 ); + assert( balance_quick_called==0 ); + VVA_ONLY( balance_quick_called++ ); rc = balance_quick(pParent, pPage, aBalanceQuickSpace); }else #endif @@ -63084,7 +63530,7 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( return pCur->skipNext; } - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( (pCur->curFlags & BTCF_WriteFlag)!=0 && pBt->inTransaction==TRANS_WRITE && (pBt->btsFlags & BTS_READ_ONLY)==0 ); @@ -63214,13 +63660,21 @@ end_insert: /* ** Delete the entry that the cursor is pointing to. ** -** If the second parameter is zero, then the cursor is left pointing at an -** arbitrary location after the delete. If it is non-zero, then the cursor -** is left in a state such that the next call to BtreeNext() or BtreePrev() -** moves it to the same row as it would if the call to BtreeDelete() had -** been omitted. -*/ -SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, int bPreserve){ +** If the BTREE_SAVEPOSITION bit of the flags parameter is zero, then +** the cursor is left pointing at an arbitrary location after the delete. +** But if that bit is set, then the cursor is left in a state such that +** the next call to BtreeNext() or BtreePrev() moves it to the same row +** as it would have been on if the call to BtreeDelete() had been omitted. +** +** The BTREE_AUXDELETE bit of flags indicates that is one of several deletes +** associated with a single table entry and its indexes. Only one of those +** deletes is considered the "primary" delete. The primary delete occurs +** on a cursor that is not a BTREE_FORDELETE cursor. All but one delete +** operation on non-FORDELETE cursors is tagged with the AUXDELETE flag. +** The BTREE_AUXDELETE bit is a hint that is not used by this implementation, +** but which might be used by alternative storage engines. +*/ +SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ Btree *p = pCur->pBtree; BtShared *pBt = p->pBt; int rc; /* Return code */ @@ -63230,8 +63684,9 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, int bPreserve){ int iCellDepth; /* Depth of node containing pCell */ u16 szCell; /* Size of the cell being deleted */ int bSkipnext = 0; /* Leaf cursor in SKIPNEXT state */ + u8 bPreserve = flags & BTREE_SAVEPOSITION; /* Keep cursor valid */ - assert( cursorHoldsMutex(pCur) ); + assert( cursorOwnsBtShared(pCur) ); assert( pBt->inTransaction==TRANS_WRITE ); assert( (pBt->btsFlags & BTS_READ_ONLY)==0 ); assert( pCur->curFlags & BTCF_WriteFlag ); @@ -63239,6 +63694,7 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, int bPreserve){ assert( !hasReadConflicts(p, pCur->pgnoRoot) ); assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); assert( pCur->eState==CURSOR_VALID ); + assert( (flags & ~(BTREE_SAVEPOSITION | BTREE_AUXDELETE))==0 ); iCellDepth = pCur->iPage; iCellIdx = pCur->aiIdx[iCellDepth]; @@ -63351,7 +63807,7 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, int bPreserve){ if( rc==SQLITE_OK ){ if( bSkipnext ){ assert( bPreserve && (pCur->iPage==iCellDepth || CORRUPT_DB) ); - assert( pPage==pCur->apPage[pCur->iPage] ); + assert( pPage==pCur->apPage[pCur->iPage] || CORRUPT_DB ); assert( (pPage->nCell>0 || CORRUPT_DB) && iCellIdx<=pPage->nCell ); pCur->eState = CURSOR_SKIPNEXT; if( iCellIdx>=pPage->nCell ){ @@ -63672,6 +64128,14 @@ static int btreeDropTable(Btree *p, Pgno iTable, int *piMoved){ return SQLITE_LOCKED_SHAREDCACHE; } + /* + ** It is illegal to drop the sqlite_master table on page 1. But again, + ** this error is caught long before reaching this point. + */ + if( NEVER(iTable<2) ){ + return SQLITE_CORRUPT_BKPT; + } + rc = btreeGetPage(pBt, (Pgno)iTable, &pPage, 0); if( rc ) return rc; rc = sqlite3BtreeClearTable(p, iTable, 0); @@ -63682,76 +64146,67 @@ static int btreeDropTable(Btree *p, Pgno iTable, int *piMoved){ *piMoved = 0; - if( iTable>1 ){ #ifdef SQLITE_OMIT_AUTOVACUUM - freePage(pPage, &rc); - releasePage(pPage); + freePage(pPage, &rc); + releasePage(pPage); #else - if( pBt->autoVacuum ){ - Pgno maxRootPgno; - sqlite3BtreeGetMeta(p, BTREE_LARGEST_ROOT_PAGE, &maxRootPgno); - - if( iTable==maxRootPgno ){ - /* If the table being dropped is the table with the largest root-page - ** number in the database, put the root page on the free list. - */ - freePage(pPage, &rc); - releasePage(pPage); - if( rc!=SQLITE_OK ){ - return rc; - } - }else{ - /* The table being dropped does not have the largest root-page - ** number in the database. So move the page that does into the - ** gap left by the deleted root-page. - */ - MemPage *pMove; - releasePage(pPage); - rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0); - if( rc!=SQLITE_OK ){ - return rc; - } - rc = relocatePage(pBt, pMove, PTRMAP_ROOTPAGE, 0, iTable, 0); - releasePage(pMove); - if( rc!=SQLITE_OK ){ - return rc; - } - pMove = 0; - rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0); - freePage(pMove, &rc); - releasePage(pMove); - if( rc!=SQLITE_OK ){ - return rc; - } - *piMoved = maxRootPgno; - } + if( pBt->autoVacuum ){ + Pgno maxRootPgno; + sqlite3BtreeGetMeta(p, BTREE_LARGEST_ROOT_PAGE, &maxRootPgno); - /* Set the new 'max-root-page' value in the database header. This - ** is the old value less one, less one more if that happens to - ** be a root-page number, less one again if that is the - ** PENDING_BYTE_PAGE. + if( iTable==maxRootPgno ){ + /* If the table being dropped is the table with the largest root-page + ** number in the database, put the root page on the free list. */ - maxRootPgno--; - while( maxRootPgno==PENDING_BYTE_PAGE(pBt) - || PTRMAP_ISPAGE(pBt, maxRootPgno) ){ - maxRootPgno--; + freePage(pPage, &rc); + releasePage(pPage); + if( rc!=SQLITE_OK ){ + return rc; } - assert( maxRootPgno!=PENDING_BYTE_PAGE(pBt) ); - - rc = sqlite3BtreeUpdateMeta(p, 4, maxRootPgno); }else{ - freePage(pPage, &rc); + /* The table being dropped does not have the largest root-page + ** number in the database. So move the page that does into the + ** gap left by the deleted root-page. + */ + MemPage *pMove; releasePage(pPage); + rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0); + if( rc!=SQLITE_OK ){ + return rc; + } + rc = relocatePage(pBt, pMove, PTRMAP_ROOTPAGE, 0, iTable, 0); + releasePage(pMove); + if( rc!=SQLITE_OK ){ + return rc; + } + pMove = 0; + rc = btreeGetPage(pBt, maxRootPgno, &pMove, 0); + freePage(pMove, &rc); + releasePage(pMove); + if( rc!=SQLITE_OK ){ + return rc; + } + *piMoved = maxRootPgno; } -#endif - }else{ - /* If sqlite3BtreeDropTable was called on page 1. - ** This really never should happen except in a corrupt - ** database. + + /* Set the new 'max-root-page' value in the database header. This + ** is the old value less one, less one more if that happens to + ** be a root-page number, less one again if that is the + ** PENDING_BYTE_PAGE. */ - zeroPage(pPage, PTF_INTKEY|PTF_LEAF ); + maxRootPgno--; + while( maxRootPgno==PENDING_BYTE_PAGE(pBt) + || PTRMAP_ISPAGE(pBt, maxRootPgno) ){ + maxRootPgno--; + } + assert( maxRootPgno!=PENDING_BYTE_PAGE(pBt) ); + + rc = sqlite3BtreeUpdateMeta(p, 4, maxRootPgno); + }else{ + freePage(pPage, &rc); releasePage(pPage); } +#endif return rc; } SQLITE_PRIVATE int sqlite3BtreeDropTable(Btree *p, int iTable, int *piMoved){ @@ -63938,9 +64393,9 @@ static void checkAppendMsg( sqlite3StrAccumAppend(&pCheck->errMsg, "\n", 1); } if( pCheck->zPfx ){ - sqlite3XPrintf(&pCheck->errMsg, 0, pCheck->zPfx, pCheck->v1, pCheck->v2); + sqlite3XPrintf(&pCheck->errMsg, pCheck->zPfx, pCheck->v1, pCheck->v2); } - sqlite3VXPrintf(&pCheck->errMsg, 1, zFormat, ap); + sqlite3VXPrintf(&pCheck->errMsg, zFormat, ap); va_end(ap); if( pCheck->errMsg.accError==STRACCUM_NOMEM ){ pCheck->mallocFailed = 1; @@ -64441,7 +64896,8 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( sqlite3BtreeEnter(p); assert( p->inTrans>TRANS_NONE && pBt->inTransaction>TRANS_NONE ); - assert( (nRef = sqlite3PagerRefcount(pBt->pPager))>=0 ); + VVA_ONLY( nRef = sqlite3PagerRefcount(pBt->pPager) ); + assert( nRef>=0 ); sCheck.pBt = pBt; sCheck.pPager = pBt->pPager; sCheck.nPage = btreePagecount(sCheck.pBt); @@ -64454,6 +64910,7 @@ SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck( sCheck.aPgRef = 0; sCheck.heap = 0; sqlite3StrAccumInit(&sCheck.errMsg, 0, zErr, sizeof(zErr), SQLITE_MAX_LENGTH); + sCheck.errMsg.printfFlags = SQLITE_PRINTF_INTERNAL; if( sCheck.nPage==0 ){ goto integrity_ck_cleanup; } @@ -64693,7 +65150,7 @@ SQLITE_PRIVATE int sqlite3BtreeLockTable(Btree *p, int iTab, u8 isWriteLock){ */ SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor *pCsr, u32 offset, u32 amt, void *z){ int rc; - assert( cursorHoldsMutex(pCsr) ); + assert( cursorOwnsBtShared(pCsr) ); assert( sqlite3_mutex_held(pCsr->pBtree->db->mutex) ); assert( pCsr->curFlags & BTCF_Incrblob ); @@ -64801,6 +65258,15 @@ SQLITE_PRIVATE int sqlite3BtreeIsReadonly(Btree *p){ */ SQLITE_PRIVATE int sqlite3HeaderSizeBtree(void){ return ROUND8(sizeof(MemPage)); } +#if !defined(SQLITE_OMIT_SHARED_CACHE) +/* +** Return true if the Btree passed as the only argument is sharable. +*/ +SQLITE_PRIVATE int sqlite3BtreeSharable(Btree *p){ + return p->sharable; +} +#endif + /************** End of btree.c ***********************************************/ /************** Begin file backup.c ******************************************/ /* @@ -65721,6 +66187,7 @@ SQLITE_PRIVATE int sqlite3VdbeChangeEncoding(Mem *pMem, int desiredEnc){ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPreserve){ assert( sqlite3VdbeCheckMemInvariants(pMem) ); assert( (pMem->flags&MEM_RowSet)==0 ); + testcase( pMem->db==0 ); /* If the bPreserve flag is set to true, then the memory cell must already ** contain a valid string or blob value. */ @@ -66324,7 +66791,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetRowSet(Mem *pMem){ assert( db!=0 ); assert( (pMem->flags & MEM_RowSet)==0 ); sqlite3VdbeMemRelease(pMem); - pMem->zMalloc = sqlite3DbMallocRaw(db, 64); + pMem->zMalloc = sqlite3DbMallocRawNN(db, 64); if( db->mallocFailed ){ pMem->flags = MEM_Null; pMem->szMalloc = 0; @@ -66829,7 +67296,7 @@ static int valueFromFunction( memset(&ctx, 0, sizeof(ctx)); ctx.pOut = pVal; ctx.pFunc = pFunc; - pFunc->xFunc(&ctx, nVal, apVal); + pFunc->xSFunc(&ctx, nVal, apVal); if( ctx.isError ){ rc = ctx.isError; sqlite3ErrorMsg(pCtx->pParse, "%s", sqlite3_value_text(pVal)); @@ -66986,7 +67453,7 @@ static int valueFromExpr( return rc; no_mem: - db->mallocFailed = 1; + sqlite3OomFault(db); sqlite3DbFree(db, zVal); assert( *ppVal==0 ); #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 @@ -67045,7 +67512,7 @@ static void recordFunc( db = sqlite3_context_db_handle(context); nRet = 1 + nSerial + nVal; - aRet = sqlite3DbMallocRaw(db, nRet); + aRet = sqlite3DbMallocRawNN(db, nRet); if( aRet==0 ){ sqlite3_result_error_nomem(context); }else{ @@ -67497,7 +67964,7 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp3(Vdbe *p, int op, int p1, int p2, int p3){ i = p->nOp; assert( p->magic==VDBE_MAGIC_INIT ); - assert( op>0 && op<0xff ); + assert( op>=0 && op<0xff ); if( p->pParse->nOpAlloc<=i ){ return growOp3(p, op, p1, p2, p3); } @@ -67576,8 +68043,7 @@ SQLITE_PRIVATE void sqlite3VdbeMultiLoad(Vdbe *p, int iDest, const char *zTypes, for(i=0; (c = zTypes[i])!=0; i++){ if( c=='s' ){ const char *z = va_arg(ap, const char*); - int addr = sqlite3VdbeAddOp2(p, z==0 ? OP_Null : OP_String8, 0, iDest++); - if( z ) sqlite3VdbeChangeP4(p, addr, z, 0); + sqlite3VdbeAddOp4(p, z==0 ? OP_Null : OP_String8, 0, iDest++, 0, z, 0); }else{ assert( c=='i' ); sqlite3VdbeAddOp2(p, OP_Integer, va_arg(ap, int), iDest++); @@ -67616,7 +68082,7 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp4Dup8( const u8 *zP4, /* The P4 operand */ int p4type /* P4 operand type */ ){ - char *p4copy = sqlite3DbMallocRaw(sqlite3VdbeDb(p), 8); + char *p4copy = sqlite3DbMallocRawNN(sqlite3VdbeDb(p), 8); if( p4copy ) memcpy(p4copy, zP4, 8); return sqlite3VdbeAddOp4(p, op, p1, p2, p3, p4copy, p4type); } @@ -67631,8 +68097,7 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp4Dup8( */ SQLITE_PRIVATE void sqlite3VdbeAddParseSchemaOp(Vdbe *p, int iDb, char *zWhere){ int j; - int addr = sqlite3VdbeAddOp3(p, OP_ParseSchema, iDb, 0, 0); - sqlite3VdbeChangeP4(p, addr, zWhere, P4_DYNAMIC); + sqlite3VdbeAddOp4(p, OP_ParseSchema, iDb, 0, 0, zWhere, P4_DYNAMIC); for(j=0; jdb->nDb; j++) sqlite3VdbeUsesBtree(p, j); } @@ -67652,6 +68117,21 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp4Int( return addr; } +/* Insert the end of a co-routine +*/ +SQLITE_PRIVATE void sqlite3VdbeEndCoroutine(Vdbe *v, int regYield){ + sqlite3VdbeAddOp1(v, OP_EndCoroutine, regYield); + + /* Clear the temporary register cache, thereby ensuring that each + ** co-routine has its own independent set of registers, because co-routines + ** might expect their registers to be preserved across an OP_Yield, and + ** that could cause problems if two or more co-routines are using the same + ** temporary register. + */ + v->pParse->nTempReg = 0; + v->pParse->nRangeReg = 0; +} + /* ** Create a new symbolic label for an instruction that has yet to be ** coded. The symbolic label is really just a negative number. The @@ -67862,7 +68342,7 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){ for(pOp=p->aOp, i=p->nOp-1; i>=0; i--, pOp++){ u8 opcode = pOp->opcode; - /* NOTE: Be sure to update mkopcodeh.awk when adding or removing + /* NOTE: Be sure to update mkopcodeh.tcl when adding or removing ** cases from this switch! */ switch( opcode ){ case OP_Transaction: { @@ -67933,6 +68413,20 @@ SQLITE_PRIVATE int sqlite3VdbeCurrentAddr(Vdbe *p){ return p->nOp; } +/* +** Verify that at least N opcode slots are available in p without +** having to malloc for more space (except when compiled using +** SQLITE_TEST_REALLOC_STRESS). This interface is used during testing +** to verify that certain calls to sqlite3VdbeAddOpList() can never +** fail due to a OOM fault and hence that the return value from +** sqlite3VdbeAddOpList() will always be non-NULL. +*/ +#if defined(SQLITE_DEBUG) && !defined(SQLITE_TEST_REALLOC_STRESS) +SQLITE_PRIVATE void sqlite3VdbeVerifyNoMallocRequired(Vdbe *p, int N){ + assert( p->nOp + N <= p->pParse->nOpAlloc ); +} +#endif + /* ** This function returns a pointer to the array of opcodes associated with ** the Vdbe passed as the first argument. It is the callers responsibility @@ -67958,24 +68452,34 @@ SQLITE_PRIVATE VdbeOp *sqlite3VdbeTakeOpArray(Vdbe *p, int *pnOp, int *pnMaxArg) } /* -** Add a whole list of operations to the operation stack. Return the -** address of the first operation added. +** Add a whole list of operations to the operation stack. Return a +** pointer to the first operation inserted. +** +** Non-zero P2 arguments to jump instructions are automatically adjusted +** so that the jump target is relative to the first operation inserted. */ -SQLITE_PRIVATE int sqlite3VdbeAddOpList(Vdbe *p, int nOp, VdbeOpList const *aOp, int iLineno){ - int addr, i; - VdbeOp *pOut; +SQLITE_PRIVATE VdbeOp *sqlite3VdbeAddOpList( + Vdbe *p, /* Add opcodes to the prepared statement */ + int nOp, /* Number of opcodes to add */ + VdbeOpList const *aOp, /* The opcodes to be added */ + int iLineno /* Source-file line number of first opcode */ +){ + int i; + VdbeOp *pOut, *pFirst; assert( nOp>0 ); assert( p->magic==VDBE_MAGIC_INIT ); if( p->nOp + nOp > p->pParse->nOpAlloc && growOpArray(p, nOp) ){ return 0; } - addr = p->nOp; - pOut = &p->aOp[addr]; + pFirst = pOut = &p->aOp[p->nOp]; for(i=0; iopcode = aOp->opcode; pOut->p1 = aOp->p1; pOut->p2 = aOp->p2; assert( aOp->p2>=0 ); + if( (sqlite3OpcodeProperty[aOp->opcode] & OPFLG_JUMP)!=0 && aOp->p2>0 ){ + pOut->p2 += p->nOp; + } pOut->p3 = aOp->p3; pOut->p4type = P4_NOTUSED; pOut->p4.p = 0; @@ -67990,12 +68494,12 @@ SQLITE_PRIVATE int sqlite3VdbeAddOpList(Vdbe *p, int nOp, VdbeOpList const *aOp, #endif #ifdef SQLITE_DEBUG if( p->db->flags & SQLITE_VdbeAddopTrace ){ - sqlite3VdbePrintOp(0, i+addr, &p->aOp[i+addr]); + sqlite3VdbePrintOp(0, i+p->nOp, &p->aOp[i+p->nOp]); } #endif } p->nOp += nOp; - return addr; + return pFirst; } #if defined(SQLITE_ENABLE_STMT_SCANSTATUS) @@ -68043,7 +68547,7 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe *p, u32 addr, int val){ sqlite3VdbeGetOp(p,addr)->p3 = val; } SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe *p, u8 p5){ - sqlite3VdbeGetOp(p,-1)->p5 = p5; + if( !p->db->mallocFailed ) p->aOp[p->nOp-1].p5 = p5; } /* @@ -68131,7 +68635,7 @@ static void vdbeFreeOpArray(sqlite3 *db, Op *aOp, int nOp){ if( aOp ){ Op *pOp; for(pOp=aOp; pOp<&aOp[nOp]; pOp++){ - freeP4(db, pOp->p4type, pOp->p4.p); + if( pOp->p4type ) freeP4(db, pOp->p4type, pOp->p4.p); #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS sqlite3DbFree(db, pOp->zComment); #endif @@ -68153,14 +68657,16 @@ SQLITE_PRIVATE void sqlite3VdbeLinkSubProgram(Vdbe *pVdbe, SubProgram *p){ /* ** Change the opcode at addr into OP_Noop */ -SQLITE_PRIVATE void sqlite3VdbeChangeToNoop(Vdbe *p, int addr){ - if( addrnOp ){ - VdbeOp *pOp = &p->aOp[addr]; - sqlite3 *db = p->db; - freeP4(db, pOp->p4type, pOp->p4.p); - memset(pOp, 0, sizeof(pOp[0])); - pOp->opcode = OP_Noop; - } +SQLITE_PRIVATE int sqlite3VdbeChangeToNoop(Vdbe *p, int addr){ + VdbeOp *pOp; + if( p->db->mallocFailed ) return 0; + assert( addr>=0 && addrnOp ); + pOp = &p->aOp[addr]; + freeP4(p->db, pOp->p4type, pOp->p4.p); + pOp->p4type = P4_NOTUSED; + pOp->p4.z = 0; + pOp->opcode = OP_Noop; + return 1; } /* @@ -68169,8 +68675,7 @@ SQLITE_PRIVATE void sqlite3VdbeChangeToNoop(Vdbe *p, int addr){ */ SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe *p, u8 op){ if( (p->nOp-1)>(p->pParse->iFixedOp) && p->aOp[p->nOp-1].opcode==op ){ - sqlite3VdbeChangeToNoop(p, p->nOp-1); - return 1; + return sqlite3VdbeChangeToNoop(p, p->nOp-1); }else{ return 0; } @@ -68193,16 +68698,34 @@ SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe *p, u8 op){ ** ** If addr<0 then change P4 on the most recently inserted instruction. */ +static void SQLITE_NOINLINE vdbeChangeP4Full( + Vdbe *p, + Op *pOp, + const char *zP4, + int n +){ + if( pOp->p4type ){ + freeP4(p->db, pOp->p4type, pOp->p4.p); + pOp->p4type = 0; + pOp->p4.p = 0; + } + if( n<0 ){ + sqlite3VdbeChangeP4(p, (int)(pOp - p->aOp), zP4, n); + }else{ + if( n==0 ) n = sqlite3Strlen30(zP4); + pOp->p4.z = sqlite3DbStrNDup(p->db, zP4, n); + pOp->p4type = P4_DYNAMIC; + } +} SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe *p, int addr, const char *zP4, int n){ Op *pOp; sqlite3 *db; assert( p!=0 ); db = p->db; assert( p->magic==VDBE_MAGIC_INIT ); - if( p->aOp==0 || db->mallocFailed ){ - if( n!=P4_VTAB ){ - freeP4(db, n, (void*)*(char**)&zP4); - } + assert( p->aOp!=0 || db->mallocFailed ); + if( db->mallocFailed ){ + if( n!=P4_VTAB ) freeP4(db, n, (void*)*(char**)&zP4); return; } assert( p->nOp>0 ); @@ -68211,43 +68734,20 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe *p, int addr, const char *zP4, int addr = p->nOp - 1; } pOp = &p->aOp[addr]; - assert( pOp->p4type==P4_NOTUSED - || pOp->p4type==P4_INT32 - || pOp->p4type==P4_KEYINFO ); - freeP4(db, pOp->p4type, pOp->p4.p); - pOp->p4.p = 0; + if( n>=0 || pOp->p4type ){ + vdbeChangeP4Full(p, pOp, zP4, n); + return; + } if( n==P4_INT32 ){ /* Note: this cast is safe, because the origin data point was an int ** that was cast to a (const char *). */ pOp->p4.i = SQLITE_PTR_TO_INT(zP4); pOp->p4type = P4_INT32; - }else if( zP4==0 ){ - pOp->p4.p = 0; - pOp->p4type = P4_NOTUSED; - }else if( n==P4_KEYINFO ){ - pOp->p4.p = (void*)zP4; - pOp->p4type = P4_KEYINFO; -#ifdef SQLITE_ENABLE_CURSOR_HINTS - }else if( n==P4_EXPR ){ - /* Responsibility for deleting the Expr tree is handed over to the - ** VDBE by this operation. The caller should have already invoked - ** sqlite3ExprDup() or whatever other routine is needed to make a - ** private copy of the tree. */ - pOp->p4.pExpr = (Expr*)zP4; - pOp->p4type = P4_EXPR; -#endif - }else if( n==P4_VTAB ){ - pOp->p4.p = (void*)zP4; - pOp->p4type = P4_VTAB; - sqlite3VtabLock((VTable *)zP4); - assert( ((VTable *)zP4)->db==p->db ); - }else if( n<0 ){ + }else if( zP4!=0 ){ + assert( n<0 ); pOp->p4.p = (void*)zP4; pOp->p4type = (signed char)n; - }else{ - if( n==0 ) n = sqlite3Strlen30(zP4); - pOp->p4.z = sqlite3DbStrNDup(p->db, zP4, n); - pOp->p4type = P4_DYNAMIC; + if( n==P4_VTAB ) sqlite3VtabLock((VTable*)zP4); } } @@ -68431,28 +68931,27 @@ static int displayComment( ** Translate the P4.pExpr value for an OP_CursorHint opcode into text ** that can be displayed in the P4 column of EXPLAIN output. */ -static int displayP4Expr(int nTemp, char *zTemp, Expr *pExpr){ +static void displayP4Expr(StrAccum *p, Expr *pExpr){ const char *zOp = 0; - int n; switch( pExpr->op ){ case TK_STRING: - sqlite3_snprintf(nTemp, zTemp, "%Q", pExpr->u.zToken); + sqlite3XPrintf(p, "%Q", pExpr->u.zToken); break; case TK_INTEGER: - sqlite3_snprintf(nTemp, zTemp, "%d", pExpr->u.iValue); + sqlite3XPrintf(p, "%d", pExpr->u.iValue); break; case TK_NULL: - sqlite3_snprintf(nTemp, zTemp, "NULL"); + sqlite3XPrintf(p, "NULL"); break; case TK_REGISTER: { - sqlite3_snprintf(nTemp, zTemp, "r[%d]", pExpr->iTable); + sqlite3XPrintf(p, "r[%d]", pExpr->iTable); break; } case TK_COLUMN: { if( pExpr->iColumn<0 ){ - sqlite3_snprintf(nTemp, zTemp, "rowid"); + sqlite3XPrintf(p, "rowid"); }else{ - sqlite3_snprintf(nTemp, zTemp, "c%d", (int)pExpr->iColumn); + sqlite3XPrintf(p, "c%d", (int)pExpr->iColumn); } break; } @@ -68484,21 +68983,19 @@ static int displayP4Expr(int nTemp, char *zTemp, Expr *pExpr){ case TK_NOTNULL: zOp = "NOTNULL"; break; default: - sqlite3_snprintf(nTemp, zTemp, "%s", "expr"); + sqlite3XPrintf(p, "%s", "expr"); break; } if( zOp ){ - sqlite3_snprintf(nTemp, zTemp, "%s(", zOp); - n = sqlite3Strlen30(zTemp); - n += displayP4Expr(nTemp-n, zTemp+n, pExpr->pLeft); - if( npRight ){ - zTemp[n++] = ','; - n += displayP4Expr(nTemp-n, zTemp+n, pExpr->pRight); + sqlite3XPrintf(p, "%s(", zOp); + displayP4Expr(p, pExpr->pLeft); + if( pExpr->pRight ){ + sqlite3StrAccumAppend(p, ",", 1); + displayP4Expr(p, pExpr->pRight); } - sqlite3_snprintf(nTemp-n, zTemp+n, ")"); + sqlite3StrAccumAppend(p, ")", 1); } - return sqlite3Strlen30(zTemp); } #endif /* VDBE_DISPLAY_P4 && defined(SQLITE_ENABLE_CURSOR_HINTS) */ @@ -68510,72 +69007,57 @@ static int displayP4Expr(int nTemp, char *zTemp, Expr *pExpr){ */ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ char *zP4 = zTemp; + StrAccum x; assert( nTemp>=20 ); + sqlite3StrAccumInit(&x, 0, zTemp, nTemp, 0); switch( pOp->p4type ){ case P4_KEYINFO: { - int i, j; + int j; KeyInfo *pKeyInfo = pOp->p4.pKeyInfo; assert( pKeyInfo->aSortOrder!=0 ); - sqlite3_snprintf(nTemp, zTemp, "k(%d", pKeyInfo->nField); - i = sqlite3Strlen30(zTemp); + sqlite3XPrintf(&x, "k(%d", pKeyInfo->nField); for(j=0; jnField; j++){ CollSeq *pColl = pKeyInfo->aColl[j]; - const char *zColl = pColl ? pColl->zName : "nil"; - int n = sqlite3Strlen30(zColl); - if( n==6 && memcmp(zColl,"BINARY",6)==0 ){ - zColl = "B"; - n = 1; - } - if( i+n>nTemp-7 ){ - memcpy(&zTemp[i],",...",4); - i += 4; - break; - } - zTemp[i++] = ','; - if( pKeyInfo->aSortOrder[j] ){ - zTemp[i++] = '-'; - } - memcpy(&zTemp[i], zColl, n+1); - i += n; + const char *zColl = pColl ? pColl->zName : ""; + if( strcmp(zColl, "BINARY")==0 ) zColl = "B"; + sqlite3XPrintf(&x, ",%s%s", pKeyInfo->aSortOrder[j] ? "-" : "", zColl); } - zTemp[i++] = ')'; - zTemp[i] = 0; - assert( ip4.pExpr); + displayP4Expr(&x, pOp->p4.pExpr); break; } #endif case P4_COLLSEQ: { CollSeq *pColl = pOp->p4.pColl; - sqlite3_snprintf(nTemp, zTemp, "(%.20s)", pColl->zName); + sqlite3XPrintf(&x, "(%.20s)", pColl->zName); break; } case P4_FUNCDEF: { FuncDef *pDef = pOp->p4.pFunc; - sqlite3_snprintf(nTemp, zTemp, "%s(%d)", pDef->zName, pDef->nArg); + sqlite3XPrintf(&x, "%s(%d)", pDef->zName, pDef->nArg); break; } #ifdef SQLITE_DEBUG case P4_FUNCCTX: { FuncDef *pDef = pOp->p4.pCtx->pFunc; - sqlite3_snprintf(nTemp, zTemp, "%s(%d)", pDef->zName, pDef->nArg); + sqlite3XPrintf(&x, "%s(%d)", pDef->zName, pDef->nArg); break; } #endif case P4_INT64: { - sqlite3_snprintf(nTemp, zTemp, "%lld", *pOp->p4.pI64); + sqlite3XPrintf(&x, "%lld", *pOp->p4.pI64); break; } case P4_INT32: { - sqlite3_snprintf(nTemp, zTemp, "%d", pOp->p4.i); + sqlite3XPrintf(&x, "%d", pOp->p4.i); break; } case P4_REAL: { - sqlite3_snprintf(nTemp, zTemp, "%.16g", *pOp->p4.pReal); + sqlite3XPrintf(&x, "%.16g", *pOp->p4.pReal); break; } case P4_MEM: { @@ -68583,11 +69065,11 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ if( pMem->flags & MEM_Str ){ zP4 = pMem->z; }else if( pMem->flags & MEM_Int ){ - sqlite3_snprintf(nTemp, zTemp, "%lld", pMem->u.i); + sqlite3XPrintf(&x, "%lld", pMem->u.i); }else if( pMem->flags & MEM_Real ){ - sqlite3_snprintf(nTemp, zTemp, "%.16g", pMem->u.r); + sqlite3XPrintf(&x, "%.16g", pMem->u.r); }else if( pMem->flags & MEM_Null ){ - sqlite3_snprintf(nTemp, zTemp, "NULL"); + zP4 = "NULL"; }else{ assert( pMem->flags & MEM_Blob ); zP4 = "(blob)"; @@ -68597,16 +69079,24 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ #ifndef SQLITE_OMIT_VIRTUALTABLE case P4_VTAB: { sqlite3_vtab *pVtab = pOp->p4.pVtab->pVtab; - sqlite3_snprintf(nTemp, zTemp, "vtab:%p", pVtab); + sqlite3XPrintf(&x, "vtab:%p", pVtab); break; } #endif case P4_INTARRAY: { - sqlite3_snprintf(nTemp, zTemp, "intarray"); + int i; + int *ai = pOp->p4.ai; + int n = ai[0]; /* The first element of an INTARRAY is always the + ** count of the number of elements to follow */ + for(i=1; i0 +#if !defined(SQLITE_OMIT_SHARED_CACHE) /* ** If SQLite is compiled to support shared-cache mode and to be threadsafe, ** this routine obtains the mutex associated with each BtShared structure @@ -68740,7 +69231,6 @@ static void releaseMemArray(Mem *p, int N){ if( p && N ){ Mem *pEnd = &p[N]; sqlite3 *db = p->db; - u8 malloc_failed = db->mallocFailed; if( db->pnBytesFreed ){ do{ if( p->szMalloc ) sqlite3DbFree(db, p->zMalloc); @@ -68776,7 +69266,6 @@ static void releaseMemArray(Mem *p, int N){ p->flags = MEM_Undefined; }while( (++p)mallocFailed = malloc_failed; } } @@ -68837,7 +69326,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( if( p->rc==SQLITE_NOMEM ){ /* This happens if a malloc() inside a call to sqlite3_column_text() or ** sqlite3_column_text16() failed. */ - db->mallocFailed = 1; + sqlite3OomFault(db); return SQLITE_ERROR; } @@ -69035,41 +69524,43 @@ SQLITE_PRIVATE void sqlite3VdbeIOTraceSql(Vdbe *p){ } #endif /* !SQLITE_OMIT_TRACE && SQLITE_ENABLE_IOTRACE */ -/* -** Allocate space from a fixed size buffer and return a pointer to -** that space. If insufficient space is available, return NULL. -** -** The pBuf parameter is the initial value of a pointer which will -** receive the new memory. pBuf is normally NULL. If pBuf is not -** NULL, it means that memory space has already been allocated and that -** this routine should not allocate any new memory. When pBuf is not -** NULL simply return pBuf. Only allocate new memory space when pBuf -** is NULL. -** -** nByte is the number of bytes of space needed. +/* An instance of this object describes bulk memory available for use +** by subcomponents of a prepared statement. Space is allocated out +** of a ReusableSpace object by the allocSpace() routine below. +*/ +struct ReusableSpace { + u8 *pSpace; /* Available memory */ + int nFree; /* Bytes of available memory */ + int nNeeded; /* Total bytes that could not be allocated */ +}; + +/* Try to allocate nByte bytes of 8-byte aligned bulk memory for pBuf +** from the ReusableSpace object. Return a pointer to the allocated +** memory on success. If insufficient memory is available in the +** ReusableSpace object, increase the ReusableSpace.nNeeded +** value by the amount needed and return NULL. ** -** pFrom points to *pnFrom bytes of available space. New space is allocated -** from the end of the pFrom buffer and *pnFrom is decremented. +** If pBuf is not initially NULL, that means that the memory has already +** been allocated by a prior call to this routine, so just return a copy +** of pBuf and leave ReusableSpace unchanged. ** -** *pnNeeded is a counter of the number of bytes of space that have failed -** to allocate. If there is insufficient space in pFrom to satisfy the -** request, then increment *pnNeeded by the amount of the request. +** This allocator is employed to repurpose unused slots at the end of the +** opcode array of prepared state for other memory needs of the prepared +** statement. */ static void *allocSpace( - void *pBuf, /* Where return pointer will be stored */ - int nByte, /* Number of bytes to allocate */ - u8 *pFrom, /* Memory available for allocation */ - int *pnFrom, /* IN/OUT: Space available at pFrom */ - int *pnNeeded /* If allocation cannot be made, increment *pnByte */ + struct ReusableSpace *p, /* Bulk memory available for allocation */ + void *pBuf, /* Pointer to a prior allocation */ + int nByte /* Bytes of memory needed */ ){ - assert( EIGHT_BYTE_ALIGNMENT(pFrom) ); + assert( EIGHT_BYTE_ALIGNMENT(p->pSpace) ); if( pBuf==0 ){ nByte = ROUND8(nByte); - if( nByte <= *pnFrom ){ - *pnFrom -= nByte; - pBuf = &pFrom[*pnFrom]; + if( nByte <= p->nFree ){ + p->nFree -= nByte; + pBuf = &p->pSpace[p->nFree]; }else{ - *pnNeeded += nByte; + p->nNeeded += nByte; } } assert( EIGHT_BYTE_ALIGNMENT(pBuf) ); @@ -69102,7 +69593,6 @@ SQLITE_PRIVATE void sqlite3VdbeRewind(Vdbe *p){ p->pc = -1; p->rc = SQLITE_OK; p->errorAction = OE_Abort; - p->magic = VDBE_MAGIC_RUN; p->nChange = 0; p->cacheCtr = 1; p->minWriteFileFormat = 255; @@ -69145,9 +69635,7 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( int nArg; /* Number of arguments in subprograms */ int nOnce; /* Number of OP_Once instructions */ int n; /* Loop counter */ - int nFree; /* Available free space */ - u8 *zCsr; /* Memory available for allocation */ - int nByte; /* How much extra memory is needed */ + struct ReusableSpace x; /* Reusable bulk memory */ assert( p!=0 ); assert( p->nOp>0 ); @@ -69165,7 +69653,7 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( /* For each cursor required, also allocate a memory cell. Memory ** cells (nMem+1-nCursor)..nMem, inclusive, will never be used by - ** the vdbe program. Instead they are used to allocate space for + ** the vdbe program. Instead they are used to allocate memory for ** VdbeCursor/BtCursor structures. The blob of memory associated with ** cursor 0 is stored in memory cell nMem. Memory cell (nMem-1) ** stores the blob of memory associated with cursor 1, etc. @@ -69174,20 +69662,18 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( */ nMem += nCursor; - /* zCsr will initially point to nFree bytes of unused space at the - ** end of the opcode array, p->aOp. The computation of nFree is - ** conservative - it might be smaller than the true number of free - ** bytes, but never larger. nFree must be a multiple of 8 - it is - ** rounded down if is not. + /* Figure out how much reusable memory is available at the end of the + ** opcode array. This extra memory will be reallocated for other elements + ** of the prepared statement. */ - n = ROUND8(sizeof(Op)*p->nOp); /* Bytes of opcode space used */ - zCsr = &((u8*)p->aOp)[n]; /* Unused opcode space */ - assert( EIGHT_BYTE_ALIGNMENT(zCsr) ); - nFree = ROUNDDOWN8(pParse->szOpAlloc - n); /* Bytes of unused space */ - assert( nFree>=0 ); - if( nFree>0 ){ - memset(zCsr, 0, nFree); - assert( EIGHT_BYTE_ALIGNMENT(&zCsr[nFree]) ); + n = ROUND8(sizeof(Op)*p->nOp); /* Bytes of opcode memory used */ + x.pSpace = &((u8*)p->aOp)[n]; /* Unused opcode memory */ + assert( EIGHT_BYTE_ALIGNMENT(x.pSpace) ); + x.nFree = ROUNDDOWN8(pParse->szOpAlloc - n); /* Bytes of unused memory */ + assert( x.nFree>=0 ); + if( x.nFree>0 ){ + memset(x.pSpace, 0, x.nFree); + assert( EIGHT_BYTE_ALIGNMENT(&x.pSpace[x.nFree]) ); } resolveP2Values(p, &nArg); @@ -69197,34 +69683,30 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( } p->expired = 0; - /* Memory for registers, parameters, cursor, etc, is allocated in two - ** passes. On the first pass, we try to reuse unused space at the + /* Memory for registers, parameters, cursor, etc, is allocated in one or two + ** passes. On the first pass, we try to reuse unused memory at the ** end of the opcode array. If we are unable to satisfy all memory ** requirements by reusing the opcode array tail, then the second - ** pass will fill in the rest using a fresh allocation. + ** pass will fill in the remainder using a fresh memory allocation. ** ** This two-pass approach that reuses as much memory as possible from - ** the leftover space at the end of the opcode array can significantly + ** the leftover memory at the end of the opcode array. This can significantly ** reduce the amount of memory held by a prepared statement. */ do { - nByte = 0; - p->aMem = allocSpace(p->aMem, nMem*sizeof(Mem), zCsr, &nFree, &nByte); - p->aVar = allocSpace(p->aVar, nVar*sizeof(Mem), zCsr, &nFree, &nByte); - p->apArg = allocSpace(p->apArg, nArg*sizeof(Mem*), zCsr, &nFree, &nByte); - p->azVar = allocSpace(p->azVar, nVar*sizeof(char*), zCsr, &nFree, &nByte); - p->apCsr = allocSpace(p->apCsr, nCursor*sizeof(VdbeCursor*), - zCsr, &nFree, &nByte); - p->aOnceFlag = allocSpace(p->aOnceFlag, nOnce, zCsr, &nFree, &nByte); + x.nNeeded = 0; + p->aMem = allocSpace(&x, p->aMem, nMem*sizeof(Mem)); + p->aVar = allocSpace(&x, p->aVar, nVar*sizeof(Mem)); + p->apArg = allocSpace(&x, p->apArg, nArg*sizeof(Mem*)); + p->apCsr = allocSpace(&x, p->apCsr, nCursor*sizeof(VdbeCursor*)); + p->aOnceFlag = allocSpace(&x, p->aOnceFlag, nOnce); #ifdef SQLITE_ENABLE_STMT_SCANSTATUS - p->anExec = allocSpace(p->anExec, p->nOp*sizeof(i64), zCsr, &nFree, &nByte); + p->anExec = allocSpace(&x, p->anExec, p->nOp*sizeof(i64)); #endif - if( nByte ){ - p->pFree = sqlite3DbMallocZero(db, nByte); - } - zCsr = p->pFree; - nFree = nByte; - }while( nByte && !db->mallocFailed ); + if( x.nNeeded==0 ) break; + x.pSpace = p->pFree = sqlite3DbMallocZero(db, x.nNeeded); + x.nFree = x.nNeeded; + }while( !db->mallocFailed ); p->nCursor = nCursor; p->nOnceFlag = nOnce; @@ -69235,11 +69717,10 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( p->aVar[n].db = db; } } - if( p->azVar && pParse->nzVar>0 ){ - p->nzVar = pParse->nzVar; - memcpy(p->azVar, pParse->azVar, p->nzVar*sizeof(p->azVar[0])); - memset(pParse->azVar, 0, pParse->nzVar*sizeof(pParse->azVar[0])); - } + p->nzVar = pParse->nzVar; + p->azVar = pParse->azVar; + pParse->nzVar = 0; + pParse->azVar = 0; if( p->aMem ){ p->aMem--; /* aMem[] goes from 1..nMem */ p->nMem = nMem; /* not from 0..nMem-1 */ @@ -69838,7 +70319,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ ** one, or the complete transaction if there is no statement transaction. */ - if( p->db->mallocFailed ){ + if( db->mallocFailed ){ p->rc = SQLITE_NOMEM; } if( p->aOnceFlag ) memset(p->aOnceFlag, 0, p->nOnceFlag); @@ -69999,7 +70480,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ } p->magic = VDBE_MAGIC_HALT; checkActiveVdbeCnt(db); - if( p->db->mallocFailed ){ + if( db->mallocFailed ){ p->rc = SQLITE_NOMEM; } @@ -70036,12 +70517,12 @@ SQLITE_PRIVATE int sqlite3VdbeTransferError(Vdbe *p){ sqlite3 *db = p->db; int rc = p->rc; if( p->zErrMsg ){ - u8 mallocFailed = db->mallocFailed; + db->bBenignMalloc++; sqlite3BeginBenignMalloc(); if( db->pErr==0 ) db->pErr = sqlite3ValueNew(db); sqlite3ValueSetStr(db->pErr, -1, p->zErrMsg, SQLITE_UTF8, SQLITE_TRANSIENT); sqlite3EndBenignMalloc(); - db->mallocFailed = mallocFailed; + db->bBenignMalloc--; db->errCode = rc; }else{ sqlite3Error(db, rc); @@ -70226,6 +70707,7 @@ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ sqlite3DbFree(db, pSub); } for(i=p->nzVar-1; i>=0; i--) sqlite3DbFree(db, p->azVar[i]); + sqlite3DbFree(db, p->azVar); vdbeFreeOpArray(db, p->aOp, p->nOp); sqlite3DbFree(db, p->aColName); sqlite3DbFree(db, p->zSql); @@ -70329,9 +70811,16 @@ SQLITE_PRIVATE int sqlite3VdbeCursorRestore(VdbeCursor *p){ ** If the cursor is already pointing to the correct row and that row has ** not been deleted out from under the cursor, then this routine is a no-op. */ -SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor *p){ +SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor **pp, int *piCol){ + VdbeCursor *p = *pp; if( p->eCurType==CURTYPE_BTREE ){ if( p->deferredMoveto ){ + int iMap; + if( p->aAltMap && (iMap = p->aAltMap[1+*piCol])>0 ){ + *pp = p->pAltCursor; + *piCol = iMap - 1; + return SQLITE_OK; + } return handleDeferredMoveto(p); } if( sqlite3BtreeCursorHasMoved(p->uc.pCursor) ){ @@ -70970,9 +71459,9 @@ static int vdbeCompareMemString( v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc); n2 = v2==0 ? 0 : c2.n; rc = pColl->xCmp(pColl->pUser, n1, v1, n2, v2); + if( (v1==0 || v2==0) && prcErr ) *prcErr = SQLITE_NOMEM; sqlite3VdbeMemRelease(&c1); sqlite3VdbeMemRelease(&c2); - if( (v1==0 || v2==0) && prcErr ) *prcErr = SQLITE_NOMEM; return rc; } } @@ -71760,11 +72249,13 @@ SQLITE_PRIVATE void sqlite3VdbeSetVarmask(Vdbe *v, int iVar){ ** in memory obtained from sqlite3DbMalloc). */ SQLITE_PRIVATE void sqlite3VtabImportErrmsg(Vdbe *p, sqlite3_vtab *pVtab){ - sqlite3 *db = p->db; - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = sqlite3DbStrDup(db, pVtab->zErrMsg); - sqlite3_free(pVtab->zErrMsg); - pVtab->zErrMsg = 0; + if( pVtab->zErrMsg ){ + sqlite3 *db = p->db; + sqlite3DbFree(db, p->zErrMsg); + p->zErrMsg = sqlite3DbStrDup(db, pVtab->zErrMsg); + sqlite3_free(pVtab->zErrMsg); + pVtab->zErrMsg = 0; + } } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -71960,7 +72451,8 @@ SQLITE_API sqlite_int64 SQLITE_STDCALL sqlite3_value_int64(sqlite3_value *pVal){ return sqlite3VdbeIntValue((Mem*)pVal); } SQLITE_API unsigned int SQLITE_STDCALL sqlite3_value_subtype(sqlite3_value *pVal){ - return ((Mem*)pVal)->eSubtype; + Mem *pMem = (Mem*)pVal; + return ((pMem->flags & MEM_Subtype) ? pMem->eSubtype : 0); } SQLITE_API const unsigned char *SQLITE_STDCALL sqlite3_value_text(sqlite3_value *pVal){ return (const unsigned char *)sqlite3ValueText(pVal, SQLITE_UTF8); @@ -72141,8 +72633,10 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_null(sqlite3_context *pCtx){ sqlite3VdbeMemSetNull(pCtx->pOut); } SQLITE_API void SQLITE_STDCALL sqlite3_result_subtype(sqlite3_context *pCtx, unsigned int eSubtype){ - assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); - pCtx->pOut->eSubtype = eSubtype & 0xff; + Mem *pOut = pCtx->pOut; + assert( sqlite3_mutex_held(pOut->db->mutex) ); + pOut->eSubtype = eSubtype & 0xff; + pOut->flags |= MEM_Subtype; } SQLITE_API void SQLITE_STDCALL sqlite3_result_text( sqlite3_context *pCtx, @@ -72242,7 +72736,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_error_nomem(sqlite3_context *pCtx) sqlite3VdbeMemSetNull(pCtx->pOut); pCtx->isError = SQLITE_NOMEM; pCtx->fErrorOrAux = 1; - pCtx->pOut->db->mallocFailed = 1; + sqlite3OomFault(pCtx->pOut->db); } /* @@ -72551,7 +73045,7 @@ static SQLITE_NOINLINE void *createAggContext(sqlite3_context *p, int nByte){ ** same context that was returned on prior calls. */ SQLITE_API void *SQLITE_STDCALL sqlite3_aggregate_context(sqlite3_context *p, int nByte){ - assert( p && p->pFunc && p->pFunc->xStep ); + assert( p && p->pFunc && p->pFunc->xFinalize ); assert( sqlite3_mutex_held(p->pOut->db->mutex) ); testcase( nByte<0 ); if( (p->pMem->flags & MEM_Agg)==0 ){ @@ -72642,7 +73136,7 @@ failed: ** context. */ SQLITE_API int SQLITE_STDCALL sqlite3_aggregate_count(sqlite3_context *p){ - assert( p && p->pMem && p->pFunc && p->pFunc->xStep ); + assert( p && p->pMem && p->pFunc && p->pFunc->xFinalize ); return p->pMem->n; } #endif @@ -72870,7 +73364,7 @@ static const void *columnName( ** is the case, clear the mallocFailed flag and return NULL. */ if( db->mallocFailed ){ - db->mallocFailed = 0; + sqlite3OomClear(db); ret = 0; } sqlite3_mutex_leave(db->mutex); @@ -73571,9 +74065,9 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( if( pVar->flags & MEM_Null ){ sqlite3StrAccumAppend(&out, "NULL", 4); }else if( pVar->flags & MEM_Int ){ - sqlite3XPrintf(&out, 0, "%lld", pVar->u.i); + sqlite3XPrintf(&out, "%lld", pVar->u.i); }else if( pVar->flags & MEM_Real ){ - sqlite3XPrintf(&out, 0, "%!.15g", pVar->u.r); + sqlite3XPrintf(&out, "%!.15g", pVar->u.r); }else if( pVar->flags & MEM_Str ){ int nOut; /* Number of bytes of the string text to include in output */ #ifndef SQLITE_OMIT_UTF16 @@ -73594,17 +74088,17 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( while( nOutn && (pVar->z[nOut]&0xc0)==0x80 ){ nOut++; } } #endif - sqlite3XPrintf(&out, 0, "'%.*q'", nOut, pVar->z); + sqlite3XPrintf(&out, "'%.*q'", nOut, pVar->z); #ifdef SQLITE_TRACE_SIZE_LIMIT if( nOutn ){ - sqlite3XPrintf(&out, 0, "/*+%d bytes*/", pVar->n-nOut); + sqlite3XPrintf(&out, "/*+%d bytes*/", pVar->n-nOut); } #endif #ifndef SQLITE_OMIT_UTF16 if( enc!=SQLITE_UTF8 ) sqlite3VdbeMemRelease(&utf8); #endif }else if( pVar->flags & MEM_Zero ){ - sqlite3XPrintf(&out, 0, "zeroblob(%d)", pVar->u.nZero); + sqlite3XPrintf(&out, "zeroblob(%d)", pVar->u.nZero); }else{ int nOut; /* Number of bytes of the blob to include in output */ assert( pVar->flags & MEM_Blob ); @@ -73614,12 +74108,12 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( if( nOut>SQLITE_TRACE_SIZE_LIMIT ) nOut = SQLITE_TRACE_SIZE_LIMIT; #endif for(i=0; iz[i]&0xff); + sqlite3XPrintf(&out, "%02x", pVar->z[i]&0xff); } sqlite3StrAccumAppend(&out, "'", 1); #ifdef SQLITE_TRACE_SIZE_LIMIT if( nOutn ){ - sqlite3XPrintf(&out, 0, "/*+%d bytes*/", pVar->n-nOut); + sqlite3XPrintf(&out, "/*+%d bytes*/", pVar->n-nOut); } #endif } @@ -74105,6 +74599,7 @@ static void memTracePrint(Mem *p){ sqlite3VdbeMemPrettyPrint(p, zBuf); printf(" %s", zBuf); } + if( p->flags & MEM_Subtype ) printf(" subtype=0x%02x", p->eSubtype); } static void registerTrace(int iReg, Mem *p){ printf("REG[%d] = ", iReg); @@ -74274,6 +74769,9 @@ SQLITE_PRIVATE int sqlite3VdbeExec( Op *pOp = aOp; /* Current operation */ #if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) Op *pOrigOp; /* Value of pOp at the top of the loop */ +#endif +#ifdef SQLITE_DEBUG + int nExtraDelete = 0; /* Verifies FORDELETE and AUXDELETE flags */ #endif int rc = SQLITE_OK; /* Value to return */ sqlite3 *db = p->db; /* The database */ @@ -74348,7 +74846,6 @@ SQLITE_PRIVATE int sqlite3VdbeExec( #endif for(pOp=&aOp[p->pc]; rc==SQLITE_OK; pOp++){ assert( pOp>=aOp && pOp<&aOp[p->nOp]); - if( db->mallocFailed ) goto no_mem; #ifdef VDBE_PROFILE start = sqlite3Hwtime(); #endif @@ -75346,7 +75843,7 @@ case OP_Function0: { assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem-p->nCursor)+1) ); assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); - pCtx = sqlite3DbMallocRaw(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); + pCtx = sqlite3DbMallocRawNN(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); if( pCtx==0 ) goto no_mem; pCtx->pOut = 0; pCtx->pFunc = pOp->p4.pFunc; @@ -75385,8 +75882,8 @@ case OP_Function: { MemSetTypeFlag(pCtx->pOut, MEM_Null); pCtx->fErrorOrAux = 0; db->lastRowid = lastRowid; - (*pCtx->pFunc->xFunc)(pCtx, pCtx->argc, pCtx->argv); /* IMP: R-24505-23230 */ - lastRowid = db->lastRowid; /* Remember rowid changes made by xFunc */ + (*pCtx->pFunc->xSFunc)(pCtx, pCtx->argc, pCtx->argv);/* IMP: R-24505-23230 */ + lastRowid = db->lastRowid; /* Remember rowid changes made by xSFunc */ /* If the function returned an error, throw an exception */ if( pCtx->fErrorOrAux ){ @@ -75790,11 +76287,14 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ ** The permutation is only valid until the next OP_Compare that has ** the OPFLAG_PERMUTE bit set in P5. Typically the OP_Permutation should ** occur immediately prior to the OP_Compare. +** +** The first integer in the P4 integer array is the length of the array +** and does not become part of the permutation. */ case OP_Permutation: { assert( pOp->p4type==P4_INTARRAY ); assert( pOp->p4.ai ); - aPermute = pOp->p4.ai; + aPermute = pOp->p4.ai + 1; break; } @@ -76097,15 +76597,18 @@ case OP_Column: { u64 offset64; /* 64-bit offset */ u32 avail; /* Number of bytes of available data */ u32 t; /* A type code from the record header */ - u16 fx; /* pDest->flags value */ Mem *pReg; /* PseudoTable input register */ + pC = p->apCsr[pOp->p1]; p2 = pOp->p2; + + /* If the cursor cache is stale, bring it up-to-date */ + rc = sqlite3VdbeCursorMoveto(&pC, &p2); + assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); pDest = &aMem[pOp->p3]; memAboutToChange(p, pDest); assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; assert( pC!=0 ); assert( p2nField ); aOffset = pC->aOffset; @@ -76114,8 +76617,6 @@ case OP_Column: { assert( pC->eCurType!=CURTYPE_SORTER ); pCrsr = pC->uc.pCursor; - /* If the cursor cache is stale, bring it up-to-date */ - rc = sqlite3VdbeCursorMoveto(pC); if( rc ) goto abort_due_to_error; if( pC->cacheStatus!=p->cacheCtr ){ if( pC->nullRow ){ @@ -76275,10 +76776,31 @@ case OP_Column: { assert( sqlite3VdbeCheckMemInvariants(pDest) ); if( VdbeMemDynamic(pDest) ) sqlite3VdbeMemSetNull(pDest); assert( t==pC->aType[p2] ); + pDest->enc = encoding; if( pC->szRow>=aOffset[p2+1] ){ /* This is the common case where the desired content fits on the original ** page - where the content is not on an overflow page */ - sqlite3VdbeSerialGet(pC->aRow+aOffset[p2], t, pDest); + zData = pC->aRow + aOffset[p2]; + if( t<12 ){ + sqlite3VdbeSerialGet(zData, t, pDest); + }else{ + /* If the column value is a string, we need a persistent value, not + ** a MEM_Ephem value. This branch is a fast short-cut that is equivalent + ** to calling sqlite3VdbeSerialGet() and sqlite3VdbeDeephemeralize(). + */ + static const u16 aFlag[] = { MEM_Blob, MEM_Str|MEM_Term }; + pDest->n = len = (t-12)/2; + if( pDest->szMalloc < len+2 ){ + pDest->flags = MEM_Null; + if( sqlite3VdbeMemGrow(pDest, len+2, 0) ) goto no_mem; + }else{ + pDest->z = pDest->zMalloc; + } + memcpy(pDest->z, zData, len); + pDest->z[len] = 0; + pDest->z[len+1] = 0; + pDest->flags = aFlag[t&1]; + } }else{ /* This branch happens only when content is on overflow pages */ if( ((pOp->p5 & (OPFLAG_LENGTHARG|OPFLAG_TYPEOFARG))!=0 @@ -76290,38 +76812,20 @@ case OP_Column: { ** 2. the length(X) function if X is a blob, and ** 3. if the content length is zero. ** So we might as well use bogus content rather than reading - ** content from disk. NULL will work for the value for strings - ** and blobs and whatever is in the payloadSize64 variable - ** will work for everything else. */ - sqlite3VdbeSerialGet(t<=13 ? (u8*)&payloadSize64 : 0, t, pDest); + ** content from disk. */ + static u8 aZero[8]; /* This is the bogus content */ + sqlite3VdbeSerialGet(aZero, t, pDest); }else{ rc = sqlite3VdbeMemFromBtree(pCrsr, aOffset[p2], len, !pC->isTable, pDest); - if( rc!=SQLITE_OK ){ - goto op_column_error; + if( rc==SQLITE_OK ){ + sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest); + pDest->flags &= ~MEM_Ephem; } - sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest); - pDest->flags &= ~MEM_Ephem; } } - pDest->enc = encoding; op_column_out: - /* If the column value is an ephemeral string, go ahead and persist - ** that string in case the cursor moves before the column value is - ** used. The following code does the equivalent of Deephemeralize() - ** but does it faster. */ - if( (pDest->flags & MEM_Ephem)!=0 && pDest->z ){ - fx = pDest->flags & (MEM_Str|MEM_Blob); - assert( fx!=0 ); - zData = (const u8*)pDest->z; - len = pDest->n; - if( sqlite3VdbeMemClearAndResize(pDest, len+2) ) goto no_mem; - memcpy(pDest->z, zData, len); - pDest->z[len] = 0; - pDest->z[len+1] = 0; - pDest->flags = fx|MEM_Term; - } op_column_error: UPDATE_MAX_BLOBSIZE(pDest); REGISTER_TRACE(pOp->p3, pDest); @@ -76583,7 +77087,7 @@ case OP_Savepoint: { #endif /* Create a new savepoint structure. */ - pNew = sqlite3DbMallocRaw(db, sizeof(Savepoint)+nName+1); + pNew = sqlite3DbMallocRawNN(db, sizeof(Savepoint)+nName+1); if( pNew ){ pNew->zName = (char *)&pNew[1]; memcpy(pNew->zName, zName, nName+1); @@ -76720,28 +77224,27 @@ case OP_Savepoint: { case OP_AutoCommit: { int desiredAutoCommit; int iRollback; - int turnOnAC; desiredAutoCommit = pOp->p1; iRollback = pOp->p2; - turnOnAC = desiredAutoCommit && !db->autoCommit; assert( desiredAutoCommit==1 || desiredAutoCommit==0 ); assert( desiredAutoCommit==1 || iRollback==0 ); assert( db->nVdbeActive>0 ); /* At least this one VM is active */ assert( p->bIsReader ); - if( turnOnAC && !iRollback && db->nVdbeWrite>0 ){ - /* If this instruction implements a COMMIT and other VMs are writing - ** return an error indicating that the other VMs must complete first. - */ - sqlite3VdbeError(p, "cannot commit transaction - " - "SQL statements in progress"); - rc = SQLITE_BUSY; - }else if( desiredAutoCommit!=db->autoCommit ){ + if( desiredAutoCommit!=db->autoCommit ){ if( iRollback ){ assert( desiredAutoCommit==1 ); sqlite3RollbackAll(db, SQLITE_ABORT_ROLLBACK); db->autoCommit = 1; + }else if( desiredAutoCommit && db->nVdbeWrite>0 ){ + /* If this instruction implements a COMMIT and other VMs are writing + ** return an error indicating that the other VMs must complete first. + */ + sqlite3VdbeError(p, "cannot commit transaction - " + "SQL statements in progress"); + rc = SQLITE_BUSY; + break; }else if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){ goto vdbe_return; }else{ @@ -76926,15 +77429,15 @@ case OP_ReadCookie: { /* out2 */ /* Opcode: SetCookie P1 P2 P3 * * ** -** Write the content of register P3 (interpreted as an integer) -** into cookie number P2 of database P1. P2==1 is the schema version. -** P2==2 is the database format. P2==3 is the recommended pager cache +** Write the integer value P3 into cookie number P2 of database P1. +** P2==1 is the schema version. P2==2 is the database format. +** P2==3 is the recommended pager cache ** size, and so forth. P1==0 is the main database file and P1==1 is the ** database file used to store temporary tables. ** ** A transaction must be started before executing this opcode. */ -case OP_SetCookie: { /* in3 */ +case OP_SetCookie: { Db *pDb; assert( pOp->p2p1>=0 && pOp->p1nDb ); @@ -76943,17 +77446,15 @@ case OP_SetCookie: { /* in3 */ pDb = &db->aDb[pOp->p1]; assert( pDb->pBt!=0 ); assert( sqlite3SchemaMutexHeld(db, pOp->p1, 0) ); - pIn3 = &aMem[pOp->p3]; - sqlite3VdbeMemIntegerify(pIn3); /* See note about index shifting on OP_ReadCookie */ - rc = sqlite3BtreeUpdateMeta(pDb->pBt, pOp->p2, (int)pIn3->u.i); + rc = sqlite3BtreeUpdateMeta(pDb->pBt, pOp->p2, pOp->p3); if( pOp->p2==BTREE_SCHEMA_VERSION ){ /* When the schema cookie changes, record the new cookie internally */ - pDb->pSchema->schema_cookie = (int)pIn3->u.i; + pDb->pSchema->schema_cookie = pOp->p3; db->flags |= SQLITE_InternChanges; }else if( pOp->p2==BTREE_FILE_FORMAT ){ /* Record changes in the file format */ - pDb->pSchema->file_format = (u8)pIn3->u.i; + pDb->pSchema->file_format = pOp->p3; } if( pOp->p1==1 ){ /* Invalidate all prepared statements whenever the TEMP database @@ -77113,6 +77614,9 @@ case OP_OpenWrite: pCur->nullRow = 1; pCur->isOrdered = 1; pCur->pgnoRoot = p2; +#ifdef SQLITE_DEBUG + pCur->wrFlag = wrFlag; +#endif rc = sqlite3BtreeCursor(pX, p2, wrFlag, pKeyInfo, pCur->uc.pCursor); pCur->pKeyInfo = pKeyInfo; /* Set the VdbeCursor.isTable variable. Previous versions of @@ -77566,32 +78070,6 @@ seek_not_found: } break; } - -/* Opcode: Seek P1 P2 * * * -** Synopsis: intkey=r[P2] -** -** P1 is an open table cursor and P2 is a rowid integer. Arrange -** for P1 to move so that it points to the rowid given by P2. -** -** This is actually a deferred seek. Nothing actually happens until -** the cursor is used to read a record. That way, if no reads -** occur, no unnecessary I/O happens. -*/ -case OP_Seek: { /* in2 */ - VdbeCursor *pC; - - assert( pOp->p1>=0 && pOp->p1nCursor ); - pC = p->apCsr[pOp->p1]; - assert( pC!=0 ); - assert( pC->eCurType==CURTYPE_BTREE ); - assert( pC->uc.pCursor!=0 ); - assert( pC->isTable ); - pC->nullRow = 0; - pIn2 = &aMem[pOp->p2]; - pC->movetoTarget = sqlite3VdbeIntValue(pIn2); - pC->deferredMoveto = 1; - break; -} /* Opcode: Found P1 P2 P3 P4 * @@ -78062,14 +78540,22 @@ case OP_InsertInt: { ** ** Delete the record at which the P1 cursor is currently pointing. ** -** If the P5 parameter is non-zero, the cursor will be left pointing at -** either the next or the previous record in the table. If it is left -** pointing at the next record, then the next Next instruction will be a -** no-op. As a result, in this case it is OK to delete a record from within a -** Next loop. If P5 is zero, then the cursor is left in an undefined state. +** If the OPFLAG_SAVEPOSITION bit of the P5 parameter is set, then +** the cursor will be left pointing at either the next or the previous +** record in the table. If it is left pointing at the next record, then +** the next Next instruction will be a no-op. As a result, in this case +** it is ok to delete a record from within a Next loop. If +** OPFLAG_SAVEPOSITION bit of P5 is clear, then the cursor will be +** left in an undefined state. ** -** If the OPFLAG_NCHANGE flag of P2 is set, then the row change count is -** incremented (otherwise not). +** If the OPFLAG_AUXDELETE bit is set on P5, that indicates that this +** delete one of several associated with deleting a table row and all its +** associated index entries. Exactly one of those deletes is the "primary" +** delete. The others are all on OPFLAG_FORDELETE cursors or else are +** marked with the AUXDELETE flag. +** +** If the OPFLAG_NCHANGE flag of P2 (NB: P2 not P5) is set, then the row +** change count is incremented (otherwise not). ** ** P1 must not be pseudo-table. It has to be a real table with ** multiple rows. @@ -78105,7 +78591,26 @@ case OP_Delete: { assert( pC->movetoTarget==iKey ); } #endif - + + /* Only flags that can be set are SAVEPOISTION and AUXDELETE */ + assert( (pOp->p5 & ~(OPFLAG_SAVEPOSITION|OPFLAG_AUXDELETE))==0 ); + assert( OPFLAG_SAVEPOSITION==BTREE_SAVEPOSITION ); + assert( OPFLAG_AUXDELETE==BTREE_AUXDELETE ); + +#ifdef SQLITE_DEBUG + if( p->pFrame==0 ){ + if( pC->isEphemeral==0 + && (pOp->p5 & OPFLAG_AUXDELETE)==0 + && (pC->wrFlag & OPFLAG_FORDELETE)==0 + ){ + nExtraDelete++; + } + if( pOp->p2 & OPFLAG_NCHANGE ){ + nExtraDelete--; + } + } +#endif + rc = sqlite3BtreeDelete(pC->uc.pCursor, pOp->p5); pC->cacheStatus = CACHE_STALE; @@ -78650,18 +79155,34 @@ case OP_IdxDelete: { r.nField = (u16)pOp->p3; r.default_rc = 0; r.aMem = &aMem[pOp->p2]; -#ifdef SQLITE_DEBUG - { int i; for(i=0; ideferredMoveto==0 ); pC->cacheStatus = CACHE_STALE; break; } +/* Opcode: Seek P1 * P3 P4 * +** Synopsis: Move P3 to P1.rowid +** +** P1 is an open index cursor and P3 is a cursor on the corresponding +** table. This opcode does a deferred seek of the P3 table cursor +** to the row that corresponds to the current row of P1. +** +** This is a deferred seek. Nothing actually happens until +** the cursor is used to read a record. That way, if no reads +** occur, no unnecessary I/O happens. +** +** P4 may be an array of integers (type P4_INTARRAY) containing +** one entry for each column in the P3 table. If array entry a(i) +** is non-zero, then reading column a(i)-1 from cursor P3 is +** equivalent to performing the deferred seek and then reading column i +** from P1. This information is stored in P3 and used to redirect +** reads against P3 over to P1, thus possibly avoiding the need to +** seek and read cursor P3. +*/ /* Opcode: IdxRowid P1 P2 * * * ** Synopsis: r[P2]=rowid ** @@ -78671,37 +79192,57 @@ case OP_IdxDelete: { ** ** See also: Rowid, MakeRecord. */ +case OP_Seek: case OP_IdxRowid: { /* out2 */ - BtCursor *pCrsr; - VdbeCursor *pC; - i64 rowid; + VdbeCursor *pC; /* The P1 index cursor */ + VdbeCursor *pTabCur; /* The P2 table cursor (OP_Seek only) */ + i64 rowid; /* Rowid that P1 current points to */ - pOut = out2Prerelease(p, pOp); assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; assert( pC!=0 ); assert( pC->eCurType==CURTYPE_BTREE ); - pCrsr = pC->uc.pCursor; - assert( pCrsr!=0 ); - pOut->flags = MEM_Null; + assert( pC->uc.pCursor!=0 ); assert( pC->isTable==0 ); assert( pC->deferredMoveto==0 ); + assert( !pC->nullRow || pOp->opcode==OP_IdxRowid ); - /* sqlite3VbeCursorRestore() can only fail if the record has been deleted - ** out from under the cursor. That will never happend for an IdxRowid - ** opcode, hence the NEVER() arround the check of the return value. - */ + /* The IdxRowid and Seek opcodes are combined because of the commonality + ** of sqlite3VdbeCursorRestore() and sqlite3VdbeIdxRowid(). */ rc = sqlite3VdbeCursorRestore(pC); + + /* sqlite3VbeCursorRestore() can only fail if the record has been deleted + ** out from under the cursor. That will never happens for an IdxRowid + ** or Seek opcode */ if( NEVER(rc!=SQLITE_OK) ) goto abort_due_to_error; if( !pC->nullRow ){ rowid = 0; /* Not needed. Only used to silence a warning. */ - rc = sqlite3VdbeIdxRowid(db, pCrsr, &rowid); + rc = sqlite3VdbeIdxRowid(db, pC->uc.pCursor, &rowid); if( rc!=SQLITE_OK ){ goto abort_due_to_error; } - pOut->u.i = rowid; - pOut->flags = MEM_Int; + if( pOp->opcode==OP_Seek ){ + assert( pOp->p3>=0 && pOp->p3nCursor ); + pTabCur = p->apCsr[pOp->p3]; + assert( pTabCur!=0 ); + assert( pTabCur->eCurType==CURTYPE_BTREE ); + assert( pTabCur->uc.pCursor!=0 ); + assert( pTabCur->isTable ); + pTabCur->nullRow = 0; + pTabCur->movetoTarget = rowid; + pTabCur->deferredMoveto = 1; + assert( pOp->p4type==P4_INTARRAY || pOp->p4.ai==0 ); + pTabCur->aAltMap = pOp->p4.ai; + pTabCur->pAltCursor = pC; + }else{ + pOut = out2Prerelease(p, pOp); + pOut->u.i = rowid; + pOut->flags = MEM_Int; + } + }else{ + assert( pOp->opcode==OP_IdxRowid ); + sqlite3VdbeMemSetNull(&aMem[pOp->p2]); } break; } @@ -78820,6 +79361,7 @@ case OP_Destroy: { /* out2 */ int iDb; assert( p->readOnly==0 ); + assert( pOp->p1>1 ); pOut = out2Prerelease(p, pOp); pOut->flags = MEM_Null; if( db->nVdbeRead > db->nVDestroy+1 ){ @@ -79095,7 +79637,7 @@ case OP_IntegrityCk: { assert( p->bIsReader ); nRoot = pOp->p2; assert( nRoot>0 ); - aRoot = sqlite3DbMallocRaw(db, sizeof(int)*(nRoot+1) ); + aRoot = sqlite3DbMallocRawNN(db, sizeof(int)*(nRoot+1) ); if( aRoot==0 ) goto no_mem; assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); pnErr = &aMem[pOp->p3]; @@ -79477,20 +80019,31 @@ case OP_IfPos: { /* jump, in1 */ break; } -/* Opcode: SetIfNotPos P1 P2 P3 * * -** Synopsis: if r[P1]<=0 then r[P2]=P3 +/* Opcode: OffsetLimit P1 P2 P3 * * +** Synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) ** -** Register P1 must contain an integer. -** If the value of register P1 is not positive (if it is less than 1) then -** set the value of register P2 to be the integer P3. +** This opcode performs a commonly used computation associated with +** LIMIT and OFFSET process. r[P1] holds the limit counter. r[P3] +** holds the offset counter. The opcode computes the combined value +** of the LIMIT and OFFSET and stores that value in r[P2]. The r[P2] +** value computed is the total number of rows that will need to be +** visited in order to complete the query. +** +** If r[P3] is zero or negative, that means there is no OFFSET +** and r[P2] is set to be the value of the LIMIT, r[P1]. +** +** if r[P1] is zero or negative, that means there is no LIMIT +** and r[P2] is set to -1. +** +** Otherwise, r[P2] is set to the sum of r[P1] and r[P3]. */ -case OP_SetIfNotPos: { /* in1, in2 */ +case OP_OffsetLimit: { /* in1, out2, in3 */ pIn1 = &aMem[pOp->p1]; - assert( pIn1->flags&MEM_Int ); - if( pIn1->u.i<=0 ){ - pOut = out2Prerelease(p, pOp); - pOut->u.i = pOp->p3; - } + pIn3 = &aMem[pOp->p3]; + pOut = out2Prerelease(p, pOp); + assert( pIn1->flags & MEM_Int ); + assert( pIn3->flags & MEM_Int ); + pOut->u.i = pIn1->u.i<=0 ? -1 : pIn1->u.i+(pIn3->u.i>0?pIn3->u.i:0); break; } @@ -79581,7 +80134,7 @@ case OP_AggStep0: { assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem-p->nCursor)+1) ); assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); - pCtx = sqlite3DbMallocRaw(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); + pCtx = sqlite3DbMallocRawNN(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); if( pCtx==0 ) goto no_mem; pCtx->pMem = 0; pCtx->pFunc = pOp->p4.pFunc; @@ -79624,7 +80177,7 @@ case OP_AggStep: { pCtx->pOut = &t; pCtx->fErrorOrAux = 0; pCtx->skipFlag = 0; - (pCtx->pFunc->xStep)(pCtx,pCtx->argc,pCtx->argv); /* IMP: R-24505-23230 */ + (pCtx->pFunc->xSFunc)(pCtx,pCtx->argc,pCtx->argv); /* IMP: R-24505-23230 */ if( pCtx->fErrorOrAux ){ if( pCtx->isError ){ sqlite3VdbeError(p, "%s", sqlite3_value_text(&t)); @@ -80448,7 +81001,7 @@ vdbe_error_halt: sqlite3_log(rc, "statement aborts at %d: [%s] %s", (int)(pOp - aOp), p->zSql, p->zErrMsg); sqlite3VdbeHalt(p); - if( rc==SQLITE_IOERR_NOMEM ) db->mallocFailed = 1; + if( rc==SQLITE_IOERR_NOMEM ) sqlite3OomFault(db); rc = SQLITE_ERROR; if( resetSchemaOnFault>0 ){ sqlite3ResetOneSchema(db, resetSchemaOnFault-1); @@ -80462,6 +81015,9 @@ vdbe_return: testcase( nVmStep>0 ); p->aCounter[SQLITE_STMTSTATUS_VM_STEP] += (int)nVmStep; sqlite3VdbeLeave(p); + assert( rc!=SQLITE_OK || nExtraDelete==0 + || sqlite3_strlike("DELETE%",p->zSql,0)!=0 + ); return rc; /* Jump to here if a string or blob larger than SQLITE_MAX_LENGTH @@ -80475,7 +81031,7 @@ too_big: /* Jump to here if a malloc() fails. */ no_mem: - db->mallocFailed = 1; + sqlite3OomFault(db); sqlite3VdbeError(p, "out of memory"); rc = SQLITE_NOMEM; goto vdbe_error_halt; @@ -80496,7 +81052,7 @@ abort_due_to_error: */ abort_due_to_interrupt: assert( db->u1.isInterrupted ); - rc = SQLITE_INTERRUPT; + rc = db->mallocFailed ? SQLITE_NOMEM : SQLITE_INTERRUPT; p->rc = rc; sqlite3VdbeError(p, "%s", sqlite3ErrStr(rc)); goto vdbe_error_halt; @@ -80622,38 +81178,6 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_open( ){ int nAttempt = 0; int iCol; /* Index of zColumn in row-record */ - - /* This VDBE program seeks a btree cursor to the identified - ** db/table/row entry. The reason for using a vdbe program instead - ** of writing code to use the b-tree layer directly is that the - ** vdbe program will take advantage of the various transaction, - ** locking and error handling infrastructure built into the vdbe. - ** - ** After seeking the cursor, the vdbe executes an OP_ResultRow. - ** Code external to the Vdbe then "borrows" the b-tree cursor and - ** uses it to implement the blob_read(), blob_write() and - ** blob_bytes() functions. - ** - ** The sqlite3_blob_close() function finalizes the vdbe program, - ** which closes the b-tree cursor and (possibly) commits the - ** transaction. - */ - static const int iLn = VDBE_OFFSET_LINENO(4); - static const VdbeOpList openBlob[] = { - /* {OP_Transaction, 0, 0, 0}, // 0: Inserted separately */ - {OP_TableLock, 0, 0, 0}, /* 1: Acquire a read or write lock */ - /* One of the following two instructions is replaced by an OP_Noop. */ - {OP_OpenRead, 0, 0, 0}, /* 2: Open cursor 0 for reading */ - {OP_OpenWrite, 0, 0, 0}, /* 3: Open cursor 0 for read/write */ - {OP_Variable, 1, 1, 1}, /* 4: Push the rowid to the stack */ - {OP_NotExists, 0, 10, 1}, /* 5: Seek the cursor */ - {OP_Column, 0, 0, 1}, /* 6 */ - {OP_ResultRow, 1, 0, 0}, /* 7 */ - {OP_Goto, 0, 4, 0}, /* 8 */ - {OP_Close, 0, 0, 0}, /* 9 */ - {OP_Halt, 0, 0, 0}, /* 10 */ - }; - int rc = SQLITE_OK; char *zErr = 0; Table *pTab; @@ -80772,45 +81296,78 @@ SQLITE_API int SQLITE_STDCALL sqlite3_blob_open( pBlob->pStmt = (sqlite3_stmt *)sqlite3VdbeCreate(pParse); assert( pBlob->pStmt || db->mallocFailed ); if( pBlob->pStmt ){ + + /* This VDBE program seeks a btree cursor to the identified + ** db/table/row entry. The reason for using a vdbe program instead + ** of writing code to use the b-tree layer directly is that the + ** vdbe program will take advantage of the various transaction, + ** locking and error handling infrastructure built into the vdbe. + ** + ** After seeking the cursor, the vdbe executes an OP_ResultRow. + ** Code external to the Vdbe then "borrows" the b-tree cursor and + ** uses it to implement the blob_read(), blob_write() and + ** blob_bytes() functions. + ** + ** The sqlite3_blob_close() function finalizes the vdbe program, + ** which closes the b-tree cursor and (possibly) commits the + ** transaction. + */ + static const int iLn = VDBE_OFFSET_LINENO(2); + static const VdbeOpList openBlob[] = { + {OP_TableLock, 0, 0, 0}, /* 0: Acquire a read or write lock */ + {OP_OpenRead, 0, 0, 0}, /* 1: Open a cursor */ + {OP_Variable, 1, 1, 0}, /* 2: Move ?1 into reg[1] */ + {OP_NotExists, 0, 7, 1}, /* 3: Seek the cursor */ + {OP_Column, 0, 0, 1}, /* 4 */ + {OP_ResultRow, 1, 0, 0}, /* 5 */ + {OP_Goto, 0, 2, 0}, /* 6 */ + {OP_Close, 0, 0, 0}, /* 7 */ + {OP_Halt, 0, 0, 0}, /* 8 */ + }; Vdbe *v = (Vdbe *)pBlob->pStmt; int iDb = sqlite3SchemaToIndex(db, pTab->pSchema); - + VdbeOp *aOp; sqlite3VdbeAddOp4Int(v, OP_Transaction, iDb, flags, pTab->pSchema->schema_cookie, pTab->pSchema->iGeneration); sqlite3VdbeChangeP5(v, 1); - sqlite3VdbeAddOpList(v, ArraySize(openBlob), openBlob, iLn); + aOp = sqlite3VdbeAddOpList(v, ArraySize(openBlob), openBlob, iLn); /* Make sure a mutex is held on the table to be accessed */ sqlite3VdbeUsesBtree(v, iDb); - /* Configure the OP_TableLock instruction */ + if( db->mallocFailed==0 ){ + assert( aOp!=0 ); + /* Configure the OP_TableLock instruction */ #ifdef SQLITE_OMIT_SHARED_CACHE - sqlite3VdbeChangeToNoop(v, 1); + aOp[0].opcode = OP_Noop; #else - sqlite3VdbeChangeP1(v, 1, iDb); - sqlite3VdbeChangeP2(v, 1, pTab->tnum); - sqlite3VdbeChangeP3(v, 1, flags); - sqlite3VdbeChangeP4(v, 1, pTab->zName, P4_TRANSIENT); -#endif - - /* Remove either the OP_OpenWrite or OpenRead. Set the P2 - ** parameter of the other to pTab->tnum. */ - sqlite3VdbeChangeToNoop(v, 3 - flags); - sqlite3VdbeChangeP2(v, 2 + flags, pTab->tnum); - sqlite3VdbeChangeP3(v, 2 + flags, iDb); - - /* Configure the number of columns. Configure the cursor to - ** think that the table has one more column than it really - ** does. An OP_Column to retrieve this imaginary column will - ** always return an SQL NULL. This is useful because it means - ** we can invoke OP_Column to fill in the vdbe cursors type - ** and offset cache without causing any IO. - */ - sqlite3VdbeChangeP4(v, 2+flags, SQLITE_INT_TO_PTR(pTab->nCol+1),P4_INT32); - sqlite3VdbeChangeP2(v, 6, pTab->nCol); - if( !db->mallocFailed ){ + aOp[0].p1 = iDb; + aOp[0].p2 = pTab->tnum; + aOp[0].p3 = flags; + sqlite3VdbeChangeP4(v, 1, pTab->zName, P4_TRANSIENT); + } + if( db->mallocFailed==0 ){ +#endif + + /* Remove either the OP_OpenWrite or OpenRead. Set the P2 + ** parameter of the other to pTab->tnum. */ + if( flags ) aOp[1].opcode = OP_OpenWrite; + aOp[1].p2 = pTab->tnum; + aOp[1].p3 = iDb; + + /* Configure the number of columns. Configure the cursor to + ** think that the table has one more column than it really + ** does. An OP_Column to retrieve this imaginary column will + ** always return an SQL NULL. This is useful because it means + ** we can invoke OP_Column to fill in the vdbe cursors type + ** and offset cache without causing any IO. + */ + aOp[1].p4type = P4_INT32; + aOp[1].p4.i = pTab->nCol+1; + aOp[4].p2 = pTab->nCol; + pParse->nVar = 1; pParse->nMem = 1; pParse->nTab = 1; @@ -81723,7 +82280,7 @@ static int vdbePmaReaderInit( rc = vdbePmaReaderSeek(pTask, pReadr, pFile, iStart); if( rc==SQLITE_OK ){ - u64 nByte; /* Size of PMA in bytes */ + u64 nByte = 0; /* Size of PMA in bytes */ rc = vdbePmaReadVarint(pReadr, &nByte); pReadr->iEof = pReadr->iReadOff + nByte; *pnByte += nByte; @@ -82807,6 +83364,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterWrite( if( nMin>pSorter->nMemory ){ u8 *aNew; + int iListOff = (u8*)pSorter->list.pList - pSorter->list.aMemory; int nNew = pSorter->nMemory * 2; while( nNew < nMin ) nNew = nNew*2; if( nNew > pSorter->mxPmaSize ) nNew = pSorter->mxPmaSize; @@ -82814,16 +83372,16 @@ SQLITE_PRIVATE int sqlite3VdbeSorterWrite( aNew = sqlite3Realloc(pSorter->list.aMemory, nNew); if( !aNew ) return SQLITE_NOMEM; - pSorter->list.pList = (SorterRecord*)( - aNew + ((u8*)pSorter->list.pList - pSorter->list.aMemory) - ); + pSorter->list.pList = (SorterRecord*)&aNew[iListOff]; pSorter->list.aMemory = aNew; pSorter->nMemory = nNew; } pNew = (SorterRecord*)&pSorter->list.aMemory[pSorter->iMemory]; pSorter->iMemory += ROUND8(nReq); - pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory); + if( pSorter->list.pList ){ + pNew->u.iNext = (int)((u8*)(pSorter->list.pList) - pSorter->list.aMemory); + } }else{ pNew = (SorterRecord *)sqlite3Malloc(nReq); if( pNew==0 ){ @@ -84281,9 +84839,8 @@ SQLITE_PRIVATE int sqlite3MemJournalSize(void){ ** The return value from this routine is WRC_Abort to abandon the tree walk ** and WRC_Continue to continue. */ -SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){ +static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ int rc; - if( pExpr==0 ) return WRC_Continue; testcase( ExprHasProperty(pExpr, EP_TokenOnly) ); testcase( ExprHasProperty(pExpr, EP_Reduced) ); rc = pWalker->xExprCallback(pWalker, pExpr); @@ -84299,6 +84856,9 @@ SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){ } return rc & WRC_Abort; } +SQLITE_PRIVATE int sqlite3WalkExpr(Walker *pWalker, Expr *pExpr){ + return pExpr ? walkExpr(pWalker,pExpr) : WRC_Continue; +} /* ** Call sqlite3WalkExpr() for every expression in list p or until @@ -85072,7 +85632,7 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ wrong_num_args = 1; } }else{ - is_agg = pDef->xFunc==0; + is_agg = pDef->xFinalize!=0; if( pDef->funcFlags & SQLITE_FUNC_UNLIKELY ){ ExprSetProperty(pExpr, EP_Unlikely|EP_Skip); if( n==2 ){ @@ -85800,10 +86360,12 @@ SQLITE_PRIVATE int sqlite3ResolveExprNames( #endif savedHasAgg = pNC->ncFlags & (NC_HasAgg|NC_MinMaxAgg); pNC->ncFlags &= ~(NC_HasAgg|NC_MinMaxAgg); - memset(&w, 0, sizeof(w)); + w.pParse = pNC->pParse; w.xExprCallback = resolveExprStep; w.xSelectCallback = resolveSelectStep; - w.pParse = pNC->pParse; + w.xSelectCallback2 = 0; + w.walkerDepth = 0; + w.eCode = 0; w.u.pNC = pNC; sqlite3WalkExpr(&w, pExpr); #if SQLITE_MAX_EXPR_DEPTH>0 @@ -85989,8 +86551,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprAddCollateToken( SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(Parse *pParse, Expr *pExpr, const char *zC){ Token s; assert( zC!=0 ); - s.z = zC; - s.n = sqlite3Strlen30(s.z); + sqlite3TokenInit(&s, (char*)zC); return sqlite3ExprAddCollateToken(pParse, pExpr, &s, 0); } @@ -86358,6 +86919,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprAlloc( int nExtra = 0; int iValue = 0; + assert( db!=0 ); if( pToken ){ if( op!=TK_INTEGER || pToken->z==0 || sqlite3GetInt32(pToken->z, &iValue)==0 ){ @@ -86365,8 +86927,9 @@ SQLITE_PRIVATE Expr *sqlite3ExprAlloc( assert( iValue>=0 ); } } - pNew = sqlite3DbMallocZero(db, sizeof(Expr)+nExtra); + pNew = sqlite3DbMallocRawNN(db, sizeof(Expr)+nExtra); if( pNew ){ + memset(pNew, 0, sizeof(Expr)); pNew->op = (u8)op; pNew->iAgg = -1; if( pToken ){ @@ -86603,7 +87166,10 @@ SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr){ if( x>pParse->nzVar ){ char **a; a = sqlite3DbRealloc(db, pParse->azVar, x*sizeof(a[0])); - if( a==0 ) return; /* Error reported through db->mallocFailed */ + if( a==0 ){ + assert( db->mallocFailed ); /* Error reported through mallocFailed */ + return; + } pParse->azVar = a; memset(&a[pParse->nzVar], 0, (x-pParse->nzVar)*sizeof(a[0])); pParse->nzVar = x; @@ -86758,6 +87324,7 @@ static int dupedExprSize(Expr *p, int flags){ static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){ Expr *pNew = 0; /* Value to return */ assert( flags==0 || flags==EXPRDUP_REDUCE ); + assert( db!=0 ); if( p ){ const int isReduced = (flags&EXPRDUP_REDUCE); u8 *zAlloc; @@ -86770,7 +87337,7 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int flags, u8 **pzBuffer){ zAlloc = *pzBuffer; staticFlag = EP_Static; }else{ - zAlloc = sqlite3DbMallocRaw(db, dupedExprSize(p, flags)); + zAlloc = sqlite3DbMallocRawNN(db, dupedExprSize(p, flags)); } pNew = (Expr *)zAlloc; @@ -86893,12 +87460,13 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, ExprList *p, int flags) ExprList *pNew; struct ExprList_item *pItem, *pOldItem; int i; + assert( db!=0 ); if( p==0 ) return 0; - pNew = sqlite3DbMallocRaw(db, sizeof(*pNew) ); + pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew) ); if( pNew==0 ) return 0; pNew->nExpr = i = p->nExpr; if( (flags & EXPRDUP_REDUCE)==0 ) for(i=1; inExpr; i+=i){} - pNew->a = pItem = sqlite3DbMallocRaw(db, i*sizeof(p->a[0]) ); + pNew->a = pItem = sqlite3DbMallocRawNN(db, i*sizeof(p->a[0]) ); if( pItem==0 ){ sqlite3DbFree(db, pNew); return 0; @@ -86929,9 +87497,10 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3 *db, SrcList *p, int flags){ SrcList *pNew; int i; int nByte; + assert( db!=0 ); if( p==0 ) return 0; nByte = sizeof(*p) + (p->nSrc>0 ? sizeof(p->a[0]) * (p->nSrc-1) : 0); - pNew = sqlite3DbMallocRaw(db, nByte ); + pNew = sqlite3DbMallocRawNN(db, nByte ); if( pNew==0 ) return 0; pNew->nSrc = pNew->nAlloc = p->nSrc; for(i=0; inSrc; i++){ @@ -86968,11 +87537,12 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3 *db, SrcList *p, int flags){ SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3 *db, IdList *p){ IdList *pNew; int i; + assert( db!=0 ); if( p==0 ) return 0; - pNew = sqlite3DbMallocRaw(db, sizeof(*pNew) ); + pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew) ); if( pNew==0 ) return 0; pNew->nId = p->nId; - pNew->a = sqlite3DbMallocRaw(db, p->nId*sizeof(p->a[0]) ); + pNew->a = sqlite3DbMallocRawNN(db, p->nId*sizeof(p->a[0]) ); if( pNew->a==0 ){ sqlite3DbFree(db, pNew); return 0; @@ -86990,8 +87560,9 @@ SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3 *db, IdList *p){ } SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ Select *pNew, *pPrior; + assert( db!=0 ); if( p==0 ) return 0; - pNew = sqlite3DbMallocRaw(db, sizeof(*p) ); + pNew = sqlite3DbMallocRawNN(db, sizeof(*p) ); if( pNew==0 ) return 0; pNew->pEList = sqlite3ExprListDup(db, p->pEList, flags); pNew->pSrc = sqlite3SrcListDup(db, p->pSrc, flags); @@ -87037,12 +87608,14 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppend( Expr *pExpr /* Expression to be appended. Might be NULL */ ){ sqlite3 *db = pParse->db; + assert( db!=0 ); if( pList==0 ){ - pList = sqlite3DbMallocZero(db, sizeof(ExprList) ); + pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) ); if( pList==0 ){ goto no_mem; } - pList->a = sqlite3DbMallocRaw(db, sizeof(pList->a[0])); + pList->nExpr = 0; + pList->a = sqlite3DbMallocRawNN(db, sizeof(pList->a[0])); if( pList->a==0 ) goto no_mem; }else if( (pList->nExpr & (pList->nExpr-1))==0 ){ struct ExprList_item *a; @@ -88799,7 +89372,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) zId = pExpr->u.zToken; nId = sqlite3Strlen30(zId); pDef = sqlite3FindFunction(db, zId, nId, nFarg, enc, 0); - if( pDef==0 || pDef->xFunc==0 ){ + if( pDef==0 || pDef->xFinalize!=0 ){ sqlite3ErrorMsg(pParse, "unknown function: %.*s()", nId, zId); break; } @@ -90746,33 +91319,6 @@ exit_rename_table: db->flags = savedDbFlags; } - -/* -** Generate code to make sure the file format number is at least minFormat. -** The generated code will increase the file format number if necessary. -*/ -SQLITE_PRIVATE void sqlite3MinimumFileFormat(Parse *pParse, int iDb, int minFormat){ - Vdbe *v; - v = sqlite3GetVdbe(pParse); - /* The VDBE should have been allocated before this routine is called. - ** If that allocation failed, we would have quit before reaching this - ** point */ - if( ALWAYS(v) ){ - int r1 = sqlite3GetTempReg(pParse); - int r2 = sqlite3GetTempReg(pParse); - int addr1; - sqlite3VdbeAddOp3(v, OP_ReadCookie, iDb, r1, BTREE_FILE_FORMAT); - sqlite3VdbeUsesBtree(v, iDb); - sqlite3VdbeAddOp2(v, OP_Integer, minFormat, r2); - addr1 = sqlite3VdbeAddOp3(v, OP_Ge, r2, 0, r1); - sqlite3VdbeChangeP5(v, SQLITE_NOTNULL); VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, r2); - sqlite3VdbeJumpHere(v, addr1); - sqlite3ReleaseTempReg(pParse, r1); - sqlite3ReleaseTempReg(pParse, r2); - } -} - /* ** This function is called after an "ALTER TABLE ... ADD" statement ** has been parsed. Argument pColDef contains the text of the new @@ -90791,9 +91337,11 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ Column *pCol; /* The new column */ Expr *pDflt; /* Default value for the new column */ sqlite3 *db; /* The database connection; */ + Vdbe *v = pParse->pVdbe; /* The prepared statement under construction */ db = pParse->db; if( pParse->nErr || db->mallocFailed ) return; + assert( v!=0 ); pNew = pParse->pNewTable; assert( pNew ); @@ -90853,7 +91401,7 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ rc = sqlite3ValueFromExpr(db, pDflt, SQLITE_UTF8, SQLITE_AFF_BLOB, &pVal); assert( rc==SQLITE_OK || rc==SQLITE_NOMEM ); if( rc!=SQLITE_OK ){ - db->mallocFailed = 1; + assert( db->mallocFailed == 1 ); return; } if( !pVal ){ @@ -90883,11 +91431,16 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ db->flags = savedDbFlags; } - /* If the default value of the new column is NULL, then set the file + /* If the default value of the new column is NULL, then the file ** format to 2. If the default value of the new column is not NULL, - ** the file format becomes 3. + ** the file format be 3. Back when this feature was first added + ** in 2006, we went to the trouble to upgrade the file format to the + ** minimum support values. But 10-years on, we can assume that all + ** extent versions of SQLite support file-format 4, so we always and + ** unconditionally upgrade to 4. */ - sqlite3MinimumFileFormat(pParse, iDb, pDflt ? 3 : 2); + sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, + SQLITE_MAX_FILE_FORMAT); /* Reload the schema of the modified table. */ reloadTableSchema(pParse, pTab, pTab->zName); @@ -90961,7 +91514,7 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ pNew->aCol = (Column*)sqlite3DbMallocZero(db, sizeof(Column)*nAlloc); pNew->zName = sqlite3MPrintf(db, "sqlite_altertab_%s", pTab->zName); if( !pNew->aCol || !pNew->zName ){ - db->mallocFailed = 1; + assert( db->mallocFailed ); goto exit_begin_add_column; } memcpy(pNew->aCol, pTab->aCol, sizeof(Column)*pNew->nCol); @@ -91306,7 +91859,7 @@ static void sampleClear(sqlite3 *db, Stat4Sample *p){ static void sampleSetRowid(sqlite3 *db, Stat4Sample *p, int n, const u8 *pData){ assert( db!=0 ); if( p->nRowid ) sqlite3DbFree(db, p->u.aRowid); - p->u.aRowid = sqlite3DbMallocRaw(db, n); + p->u.aRowid = sqlite3DbMallocRawNN(db, n); if( p->u.aRowid ){ p->nRowid = n; memcpy(p->u.aRowid, pData, n); @@ -91471,8 +92024,7 @@ static const FuncDef statInitFuncdef = { SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ - statInit, /* xFunc */ - 0, /* xStep */ + statInit, /* xSFunc */ 0, /* xFinalize */ "stat_init", /* zName */ 0, /* pHash */ @@ -91772,8 +92324,7 @@ static const FuncDef statPushFuncdef = { SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ - statPush, /* xFunc */ - 0, /* xStep */ + statPush, /* xSFunc */ 0, /* xFinalize */ "stat_push", /* zName */ 0, /* pHash */ @@ -91919,8 +92470,7 @@ static const FuncDef statGetFuncdef = { SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ - statGet, /* xFunc */ - 0, /* xStep */ + statGet, /* xSFunc */ 0, /* xFinalize */ "stat_get", /* zName */ 0, /* pHash */ @@ -91936,8 +92486,8 @@ static void callStatGet(Vdbe *v, int regStat4, int iParam, int regOut){ #else UNUSED_PARAMETER( iParam ); #endif - sqlite3VdbeAddOp3(v, OP_Function0, 0, regStat4, regOut); - sqlite3VdbeChangeP4(v, -1, (char*)&statGetFuncdef, P4_FUNCDEF); + sqlite3VdbeAddOp4(v, OP_Function0, 0, regStat4, regOut, + (char*)&statGetFuncdef, P4_FUNCDEF); sqlite3VdbeChangeP5(v, 1 + IsStat34); } @@ -92091,8 +92641,8 @@ static void analyzeOneTable( #endif sqlite3VdbeAddOp2(v, OP_Integer, nCol, regStat4+1); sqlite3VdbeAddOp2(v, OP_Integer, pIdx->nKeyCol, regStat4+2); - sqlite3VdbeAddOp3(v, OP_Function0, 0, regStat4+1, regStat4); - sqlite3VdbeChangeP4(v, -1, (char*)&statInitFuncdef, P4_FUNCDEF); + sqlite3VdbeAddOp4(v, OP_Function0, 0, regStat4+1, regStat4, + (char*)&statInitFuncdef, P4_FUNCDEF); sqlite3VdbeChangeP5(v, 2+IsStat34); /* Implementation of the following: @@ -92111,7 +92661,7 @@ static void analyzeOneTable( if( nColTest>0 ){ int endDistinctTest = sqlite3VdbeMakeLabel(v); int *aGotoChng; /* Array of jump instruction addresses */ - aGotoChng = sqlite3DbMallocRaw(db, sizeof(int)*nColTest); + aGotoChng = sqlite3DbMallocRawNN(db, sizeof(int)*nColTest); if( aGotoChng==0 ) continue; /* @@ -92188,8 +92738,8 @@ static void analyzeOneTable( } #endif assert( regChng==(regStat4+1) ); - sqlite3VdbeAddOp3(v, OP_Function0, 1, regStat4, regTemp); - sqlite3VdbeChangeP4(v, -1, (char*)&statPushFuncdef, P4_FUNCDEF); + sqlite3VdbeAddOp4(v, OP_Function0, 1, regStat4, regTemp, + (char*)&statPushFuncdef, P4_FUNCDEF); sqlite3VdbeChangeP5(v, 2+IsStat34); sqlite3VdbeAddOp2(v, OP_Next, iIdxCur, addrNextRow); VdbeCoverage(v); @@ -92519,7 +93069,7 @@ static int analysisLoader(void *pData, int argc, char **argv, char **NotUsed){ ** the old data with the new instead of allocating a new array. */ if( pIndex->aiRowEst==0 ){ pIndex->aiRowEst = (tRowcnt*)sqlite3MallocZero(sizeof(tRowcnt) * nCol); - if( pIndex->aiRowEst==0 ) pInfo->db->mallocFailed = 1; + if( pIndex->aiRowEst==0 ) sqlite3OomFault(pInfo->db); } aiRowEst = pIndex->aiRowEst; #endif @@ -92666,7 +93216,7 @@ static int loadStatTbl( Index *pPrevIdx = 0; /* Previous index in the loop */ IndexSample *pSample; /* A slot in pIdx->aSample[] */ - assert( db->lookaside.bEnabled==0 ); + assert( db->lookaside.bDisable ); zSql = sqlite3MPrintf(db, zSql1, zDb); if( !zSql ){ return SQLITE_NOMEM; @@ -92780,7 +93330,7 @@ static int loadStatTbl( static int loadStat4(sqlite3 *db, const char *zDb){ int rc = SQLITE_OK; /* Result codes from subroutines */ - assert( db->lookaside.bEnabled==0 ); + assert( db->lookaside.bDisable ); if( sqlite3FindTable(db, "sqlite_stat4", zDb) ){ rc = loadStatTbl(db, 0, "SELECT idx,count(*) FROM %Q.sqlite_stat4 GROUP BY idx", @@ -92862,10 +93412,9 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ /* Load the statistics from the sqlite_stat4 table. */ #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 if( rc==SQLITE_OK && OptimizationEnabled(db, SQLITE_Stat34) ){ - int lookasideEnabled = db->lookaside.bEnabled; - db->lookaside.bEnabled = 0; + db->lookaside.bDisable++; rc = loadStat4(db, sInfo.zDatabase); - db->lookaside.bEnabled = lookasideEnabled; + db->lookaside.bDisable--; } for(i=sqliteHashFirst(&db->aDb[iDb].pSchema->idxHash);i;i=sqliteHashNext(i)){ Index *pIdx = sqliteHashData(i); @@ -92875,7 +93424,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ #endif if( rc==SQLITE_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } return rc; } @@ -92996,7 +93545,7 @@ static void attachFunc( ** hash tables. */ if( db->aDb==db->aDbStatic ){ - aNew = sqlite3DbMallocRaw(db, sizeof(db->aDb[0])*3 ); + aNew = sqlite3DbMallocRawNN(db, sizeof(db->aDb[0])*3 ); if( aNew==0 ) return; memcpy(aNew, db->aDb, sizeof(db->aDb[0])*2); }else{ @@ -93014,7 +93563,7 @@ static void attachFunc( flags = db->openFlags; rc = sqlite3ParseUri(db->pVfs->zName, zFile, &flags, &pVfs, &zPath, &zErr); if( rc!=SQLITE_OK ){ - if( rc==SQLITE_NOMEM ) db->mallocFailed = 1; + if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); sqlite3_result_error(context, zErr, -1); sqlite3_free(zErr); return; @@ -93043,7 +93592,8 @@ static void attachFunc( sqlite3BtreeSecureDelete(aNew->pBt, sqlite3BtreeSecureDelete(db->aDb[0].pBt,-1) ); #ifndef SQLITE_OMIT_PAGER_PRAGMAS - sqlite3BtreeSetPagerFlags(aNew->pBt, 3 | (db->flags & PAGER_FLAGS_MASK)); + sqlite3BtreeSetPagerFlags(aNew->pBt, + PAGER_SYNCHRONOUS_FULL | (db->flags & PAGER_FLAGS_MASK)); #endif sqlite3BtreeLeave(aNew->pBt); } @@ -93116,7 +93666,7 @@ static void attachFunc( sqlite3ResetAllSchemasOfConnection(db); db->nDb = iDb; if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); sqlite3DbFree(db, zErrDyn); zErrDyn = sqlite3MPrintf(db, "out of memory"); }else if( zErrDyn==0 ){ @@ -93246,11 +93796,11 @@ static void codeAttach( assert( v || db->mallocFailed ); if( v ){ - sqlite3VdbeAddOp3(v, OP_Function0, 0, regArgs+3-pFunc->nArg, regArgs+3); + sqlite3VdbeAddOp4(v, OP_Function0, 0, regArgs+3-pFunc->nArg, regArgs+3, + (char *)pFunc, P4_FUNCDEF); assert( pFunc->nArg==-1 || (pFunc->nArg&0xff)==pFunc->nArg ); sqlite3VdbeChangeP5(v, (u8)(pFunc->nArg)); - sqlite3VdbeChangeP4(v, -1, (char *)pFunc, P4_FUNCDEF); - + /* Code an OP_Expire. For an ATTACH statement, set P1 to true (expire this ** statement only). For DETACH, set it to false (expire all existing ** statements). @@ -93275,8 +93825,7 @@ SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){ SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ - detachFunc, /* xFunc */ - 0, /* xStep */ + detachFunc, /* xSFunc */ 0, /* xFinalize */ "sqlite_detach", /* zName */ 0, /* pHash */ @@ -93296,8 +93845,7 @@ SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *p SQLITE_UTF8, /* funcFlags */ 0, /* pUserData */ 0, /* pNext */ - attachFunc, /* xFunc */ - 0, /* xStep */ + attachFunc, /* xSFunc */ 0, /* xFinalize */ "sqlite_attach", /* zName */ 0, /* pHash */ @@ -93761,15 +94309,6 @@ SQLITE_PRIVATE void sqlite3AuthContextPop(AuthContext *pContext){ */ /* #include "sqliteInt.h" */ -/* -** This routine is called when a new SQL statement is beginning to -** be parsed. Initialize the pParse structure as needed. -*/ -SQLITE_PRIVATE void sqlite3BeginParse(Parse *pParse, int explainFlag){ - pParse->explain = (u8)explainFlag; - pParse->nVar = 0; -} - #ifndef SQLITE_OMIT_SHARED_CACHE /* ** The TableLock structure is only used by the sqlite3TableLock() and @@ -93824,7 +94363,7 @@ SQLITE_PRIVATE void sqlite3TableLock( p->zName = zName; }else{ pToplevel->nTableLock = 0; - pToplevel->db->mallocFailed = 1; + sqlite3OomFault(pToplevel->db); } } @@ -93974,15 +94513,19 @@ SQLITE_PRIVATE void sqlite3FinishCoding(Parse *pParse){ if( pParse->pAinc!=0 && pParse->nTab==0 ) pParse->nTab = 1; sqlite3VdbeMakeReady(v, pParse); pParse->rc = SQLITE_DONE; - pParse->colNamesSet = 0; }else{ pParse->rc = SQLITE_ERROR; } + + /* We are done with this Parse object. There is no need to de-initialize it */ +#if 0 + pParse->colNamesSet = 0; pParse->nTab = 0; pParse->nMem = 0; pParse->nSet = 0; pParse->nVar = 0; DbMaskZero(pParse->cookieMask); +#endif } /* @@ -94241,7 +94784,6 @@ SQLITE_PRIVATE void sqlite3CollapseDatabaseArray(sqlite3 *db){ } j++; } - memset(&db->aDb[j], 0, (db->nDb-j)*sizeof(db->aDb[j])); db->nDb = j; if( db->nDb<=2 && db->aDb!=db->aDbStatic ){ memcpy(db->aDbStatic, db->aDb, 2*sizeof(db->aDb[0])); @@ -94504,7 +95046,8 @@ SQLITE_PRIVATE int sqlite3TwoPartName( int iDb; /* Database holding the object */ sqlite3 *db = pParse->db; - if( ALWAYS(pName2!=0) && pName2->n>0 ){ + assert( pName2!=0 ); + if( pName2->n>0 ){ if( db->init.busy ) { sqlite3ErrorMsg(pParse, "corrupt database"); return -1; @@ -94593,62 +95136,46 @@ SQLITE_PRIVATE void sqlite3StartTable( int iDb; /* Database number to create the table in */ Token *pName; /* Unqualified name of the table to create */ - /* The table or view name to create is passed to this routine via tokens - ** pName1 and pName2. If the table name was fully qualified, for example: - ** - ** CREATE TABLE xxx.yyy (...); - ** - ** Then pName1 is set to "xxx" and pName2 "yyy". On the other hand if - ** the table name is not fully qualified, i.e.: - ** - ** CREATE TABLE yyy(...); - ** - ** Then pName1 is set to "yyy" and pName2 is "". - ** - ** The call below sets the pName pointer to point at the token (pName1 or - ** pName2) that stores the unqualified table name. The variable iDb is - ** set to the index of the database that the table or view is to be - ** created in. - */ - iDb = sqlite3TwoPartName(pParse, pName1, pName2, &pName); - if( iDb<0 ) return; - if( !OMIT_TEMPDB && isTemp && pName2->n>0 && iDb!=1 ){ - /* If creating a temp table, the name may not be qualified. Unless - ** the database name is "temp" anyway. */ - sqlite3ErrorMsg(pParse, "temporary table name must be unqualified"); - return; + if( db->init.busy && db->init.newTnum==1 ){ + /* Special case: Parsing the sqlite_master or sqlite_temp_master schema */ + iDb = db->init.iDb; + zName = sqlite3DbStrDup(db, SCHEMA_TABLE(iDb)); + pName = pName1; + }else{ + /* The common case */ + iDb = sqlite3TwoPartName(pParse, pName1, pName2, &pName); + if( iDb<0 ) return; + if( !OMIT_TEMPDB && isTemp && pName2->n>0 && iDb!=1 ){ + /* If creating a temp table, the name may not be qualified. Unless + ** the database name is "temp" anyway. */ + sqlite3ErrorMsg(pParse, "temporary table name must be unqualified"); + return; + } + if( !OMIT_TEMPDB && isTemp ) iDb = 1; + zName = sqlite3NameFromToken(db, pName); } - if( !OMIT_TEMPDB && isTemp ) iDb = 1; - pParse->sNameToken = *pName; - zName = sqlite3NameFromToken(db, pName); if( zName==0 ) return; if( SQLITE_OK!=sqlite3CheckObjectName(pParse, zName) ){ goto begin_table_error; } if( db->init.iDb==1 ) isTemp = 1; #ifndef SQLITE_OMIT_AUTHORIZATION - assert( (isTemp & 1)==isTemp ); + assert( isTemp==0 || isTemp==1 ); + assert( isView==0 || isView==1 ); { - int code; + static const u8 aCode[] = { + SQLITE_CREATE_TABLE, + SQLITE_CREATE_TEMP_TABLE, + SQLITE_CREATE_VIEW, + SQLITE_CREATE_TEMP_VIEW + }; char *zDb = db->aDb[iDb].zName; if( sqlite3AuthCheck(pParse, SQLITE_INSERT, SCHEMA_TABLE(isTemp), 0, zDb) ){ goto begin_table_error; } - if( isView ){ - if( !OMIT_TEMPDB && isTemp ){ - code = SQLITE_CREATE_TEMP_VIEW; - }else{ - code = SQLITE_CREATE_VIEW; - } - }else{ - if( !OMIT_TEMPDB && isTemp ){ - code = SQLITE_CREATE_TEMP_TABLE; - }else{ - code = SQLITE_CREATE_TABLE; - } - } - if( !isVirtual && sqlite3AuthCheck(pParse, code, zName, 0, zDb) ){ + if( !isVirtual && sqlite3AuthCheck(pParse, (int)aCode[isTemp+2*isView], + zName, 0, zDb) ){ goto begin_table_error; } } @@ -94684,7 +95211,7 @@ SQLITE_PRIVATE void sqlite3StartTable( pTable = sqlite3DbMallocZero(db, sizeof(Table)); if( pTable==0 ){ - db->mallocFailed = 1; + assert( db->mallocFailed ); pParse->rc = SQLITE_NOMEM; pParse->nErr++; goto begin_table_error; @@ -94741,10 +95268,8 @@ SQLITE_PRIVATE void sqlite3StartTable( addr1 = sqlite3VdbeAddOp1(v, OP_If, reg3); VdbeCoverage(v); fileFormat = (db->flags & SQLITE_LegacyFileFmt)!=0 ? 1 : SQLITE_MAX_FILE_FORMAT; - sqlite3VdbeAddOp2(v, OP_Integer, fileFormat, reg3); - sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, reg3); - sqlite3VdbeAddOp2(v, OP_Integer, ENC(db), reg3); - sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_TEXT_ENCODING, reg3); + sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_FILE_FORMAT, fileFormat); + sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_TEXT_ENCODING, ENC(db)); sqlite3VdbeJumpHere(v, addr1); /* This just creates a place-holder record in the sqlite_master table. @@ -95229,13 +95754,11 @@ SQLITE_PRIVATE CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char *zName){ ** 1 chance in 2^32. So we're safe enough. */ SQLITE_PRIVATE void sqlite3ChangeCookie(Parse *pParse, int iDb){ - int r1 = sqlite3GetTempReg(pParse); sqlite3 *db = pParse->db; Vdbe *v = pParse->pVdbe; assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - sqlite3VdbeAddOp2(v, OP_Integer, db->aDb[iDb].pSchema->schema_cookie+1, r1); - sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_SCHEMA_VERSION, r1); - sqlite3ReleaseTempReg(pParse, r1); + sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_SCHEMA_VERSION, + db->aDb[iDb].pSchema->schema_cookie+1); } /* @@ -95317,7 +95840,7 @@ static char *createTableStmt(sqlite3 *db, Table *p){ n += 35 + 6*p->nCol; zStmt = sqlite3DbMallocRaw(0, n); if( zStmt==0 ){ - db->mallocFailed = 1; + sqlite3OomFault(db); return 0; } sqlite3_snprintf(n, zStmt, "CREATE TABLE "); @@ -95466,8 +95989,7 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ if( pTab->iPKey>=0 ){ ExprList *pList; Token ipkToken; - ipkToken.z = pTab->aCol[pTab->iPKey].zName; - ipkToken.n = sqlite3Strlen30(ipkToken.z); + sqlite3TokenInit(&ipkToken, pTab->aCol[pTab->iPKey].zName); pList = sqlite3ExprListAppend(pParse, 0, sqlite3ExprAlloc(db, TK_ID, &ipkToken, 0)); if( pList==0 ) return; @@ -95610,9 +96132,13 @@ SQLITE_PRIVATE void sqlite3EndTable( ** So do not write to the disk again. Extract the root page number ** for the table from the db->init.newTnum field. (The page number ** should have been put there by the sqliteOpenCb routine.) + ** + ** If the root page number is 1, that means this is the sqlite_master + ** table itself. So mark it read-only. */ if( db->init.busy ){ p->tnum = db->init.newTnum; + if( p->tnum==1 ) p->tabFlags |= TF_Readonly; } /* Special processing for WITHOUT ROWID Tables */ @@ -95713,7 +96239,7 @@ SQLITE_PRIVATE void sqlite3EndTable( sqlite3VdbeAddOp3(v, OP_InitCoroutine, regYield, 0, addrTop); sqlite3SelectDestInit(&dest, SRT_Coroutine, regYield); sqlite3Select(pParse, pSelect, &dest); - sqlite3VdbeAddOp1(v, OP_EndCoroutine, regYield); + sqlite3VdbeEndCoroutine(v, regYield); sqlite3VdbeJumpHere(v, addrTop - 1); if( pParse->nErr ) return; pSelTab = sqlite3ResultSetOfSelect(pParse, pSelect); @@ -95797,7 +96323,7 @@ SQLITE_PRIVATE void sqlite3EndTable( pOld = sqlite3HashInsert(&pSchema->tblHash, p->zName, p); if( pOld ){ assert( p==pOld ); /* Malloc must have failed inside HashInsert() */ - db->mallocFailed = 1; + sqlite3OomFault(db); return; } pParse->pNewTable = 0; @@ -95901,7 +96427,6 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ int n; /* Temporarily holds the number of cursors assigned */ sqlite3 *db = pParse->db; /* Database connection for malloc errors */ sqlite3_xauth xAuth; /* Saved xAuth pointer */ - u8 bEnabledLA; /* Saved db->lookaside.bEnabled state */ assert( pTable ); @@ -95947,18 +96472,18 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ ** statement that defines the view. */ assert( pTable->pSelect ); - bEnabledLA = db->lookaside.bEnabled; if( pTable->pCheck ){ - db->lookaside.bEnabled = 0; + db->lookaside.bDisable++; sqlite3ColumnsFromExprList(pParse, pTable->pCheck, &pTable->nCol, &pTable->aCol); + db->lookaside.bDisable--; }else{ pSel = sqlite3SelectDup(db, pTable->pSelect, 0); if( pSel ){ n = pParse->nTab; sqlite3SrcListAssignCursors(pParse, pSel->pSrc); pTable->nCol = -1; - db->lookaside.bEnabled = 0; + db->lookaside.bDisable++; #ifndef SQLITE_OMIT_AUTHORIZATION xAuth = db->xAuth; db->xAuth = 0; @@ -95967,6 +96492,7 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ #else pSelTab = sqlite3ResultSetOfSelect(pParse, pSel); #endif + db->lookaside.bDisable--; pParse->nTab = n; if( pSelTab ){ assert( pTable->aCol==0 ); @@ -95985,7 +96511,6 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ nErr++; } } - db->lookaside.bEnabled = bEnabledLA; pTable->pSchema->schemaFlags |= DB_UnresetViews; #endif /* SQLITE_OMIT_VIEW */ return nErr; @@ -96065,6 +96590,7 @@ SQLITE_PRIVATE void sqlite3RootPageMoved(sqlite3 *db, int iDb, int iFrom, int iT static void destroyRootPage(Parse *pParse, int iTable, int iDb){ Vdbe *v = sqlite3GetVdbe(pParse); int r1 = sqlite3GetTempReg(pParse); + assert( iTable>1 ); sqlite3VdbeAddOp3(v, OP_Destroy, iTable, r1, iDb); sqlite3MayAbort(pParse); #ifndef SQLITE_OMIT_AUTOVACUUM @@ -96450,7 +96976,7 @@ SQLITE_PRIVATE void sqlite3CreateForeignKey( pFKey->zTo, (void *)pFKey ); if( pNextTo==pFKey ){ - db->mallocFailed = 1; + sqlite3OomFault(db); goto fk_end; } if( pNextTo ){ @@ -96810,8 +97336,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( */ if( pList==0 ){ Token prevCol; - prevCol.z = pTab->aCol[pTab->nCol-1].zName; - prevCol.n = sqlite3Strlen30(prevCol.z); + sqlite3TokenInit(&prevCol, pTab->aCol[pTab->nCol-1].zName); pList = sqlite3ExprListAppend(pParse, 0, sqlite3ExprAlloc(db, TK_ID, &prevCol, 0)); if( pList==0 ) goto exit_create_index; @@ -97033,7 +97558,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( pIndex->zName, pIndex); if( p ){ assert( p==pIndex ); /* Malloc must have failed */ - db->mallocFailed = 1; + sqlite3OomFault(db); goto exit_create_index; } db->flags |= SQLITE_InternChanges; @@ -97462,10 +97987,12 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppend( ){ struct SrcList_item *pItem; assert( pDatabase==0 || pTable!=0 ); /* Cannot have C without B */ + assert( db!=0 ); if( pList==0 ){ - pList = sqlite3DbMallocZero(db, sizeof(SrcList) ); + pList = sqlite3DbMallocRawNN(db, sizeof(SrcList) ); if( pList==0 ) return 0; pList->nAlloc = 1; + pList->nSrc = 0; } pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc); if( db->mallocFailed ){ @@ -97646,7 +98173,7 @@ SQLITE_PRIVATE void sqlite3SrcListShiftJoinType(SrcList *p){ } /* -** Begin a transaction +** Generate VDBE code for a BEGIN statement. */ SQLITE_PRIVATE void sqlite3BeginTransaction(Parse *pParse, int type){ sqlite3 *db; @@ -97656,7 +98183,6 @@ SQLITE_PRIVATE void sqlite3BeginTransaction(Parse *pParse, int type){ assert( pParse!=0 ); db = pParse->db; assert( db!=0 ); -/* if( db->aDb[0].pBt==0 ) return; */ if( sqlite3AuthCheck(pParse, SQLITE_TRANSACTION, "BEGIN", 0, 0) ){ return; } @@ -97668,11 +98194,11 @@ SQLITE_PRIVATE void sqlite3BeginTransaction(Parse *pParse, int type){ sqlite3VdbeUsesBtree(v, i); } } - sqlite3VdbeAddOp2(v, OP_AutoCommit, 0, 0); + sqlite3VdbeAddOp0(v, OP_AutoCommit); } /* -** Commit a transaction +** Generate VDBE code for a COMMIT statement. */ SQLITE_PRIVATE void sqlite3CommitTransaction(Parse *pParse){ Vdbe *v; @@ -97684,12 +98210,12 @@ SQLITE_PRIVATE void sqlite3CommitTransaction(Parse *pParse){ } v = sqlite3GetVdbe(pParse); if( v ){ - sqlite3VdbeAddOp2(v, OP_AutoCommit, 1, 0); + sqlite3VdbeAddOp1(v, OP_AutoCommit, 1); } } /* -** Rollback a transaction +** Generate VDBE code for a ROLLBACK statement. */ SQLITE_PRIVATE void sqlite3RollbackTransaction(Parse *pParse){ Vdbe *v; @@ -97751,7 +98277,7 @@ SQLITE_PRIVATE int sqlite3OpenTempDatabase(Parse *pParse){ db->aDb[1].pBt = pBt; assert( db->aDb[1].pSchema ); if( SQLITE_NOMEM==sqlite3BtreeSetPageSize(pBt, db->nextPagesize, -1, 0) ){ - db->mallocFailed = 1; + sqlite3OomFault(db); return 1; } } @@ -97868,7 +98394,7 @@ SQLITE_PRIVATE void sqlite3HaltConstraint( sqlite3MayAbort(pParse); } sqlite3VdbeAddOp4(v, OP_Halt, errCode, onError, 0, p4, p4type); - if( p5Errmsg ) sqlite3VdbeChangeP5(v, p5Errmsg); + sqlite3VdbeChangeP5(v, p5Errmsg); } /* @@ -97886,14 +98412,14 @@ SQLITE_PRIVATE void sqlite3UniqueConstraint( sqlite3StrAccumInit(&errMsg, pParse->db, 0, 0, 200); if( pIdx->aColExpr ){ - sqlite3XPrintf(&errMsg, 0, "index '%q'", pIdx->zName); + sqlite3XPrintf(&errMsg, "index '%q'", pIdx->zName); }else{ for(j=0; jnKeyCol; j++){ char *zCol; assert( pIdx->aiColumn[j]>=0 ); zCol = pTab->aCol[pIdx->aiColumn[j]].zName; if( j ) sqlite3StrAccumAppend(&errMsg, ", ", 2); - sqlite3XPrintf(&errMsg, 0, "%s.%s", pTab->zName, zCol); + sqlite3XPrintf(&errMsg, "%s.%s", pTab->zName, zCol); } } zErr = sqlite3StrAccumFinish(&errMsg); @@ -98126,10 +98652,9 @@ SQLITE_PRIVATE With *sqlite3WithAdd( }else{ pNew = sqlite3DbMallocZero(db, sizeof(*pWith)); } - assert( zName!=0 || pNew==0 ); - assert( db->mallocFailed==0 || pNew==0 ); + assert( (pNew!=0 && zName!=0) || db->mallocFailed ); - if( pNew==0 ){ + if( db->mallocFailed ){ sqlite3ExprListDelete(db, pArglist); sqlite3SelectDelete(db, pQuery); sqlite3DbFree(db, zName); @@ -98343,7 +98868,7 @@ static CollSeq *findCollSeqEntry( */ assert( pDel==0 || pDel==pColl ); if( pDel!=0 ){ - db->mallocFailed = 1; + sqlite3OomFault(db); sqlite3DbFree(db, pDel); pColl = 0; } @@ -98409,8 +98934,8 @@ SQLITE_PRIVATE CollSeq *sqlite3FindCollSeq( ** 5: UTF16 byte order conversion required - argument count matches exactly ** 6: Perfect match: encoding and argument count match exactly. ** -** If nArg==(-2) then any function with a non-null xStep or xFunc is -** a perfect match and any function with both xStep and xFunc NULL is +** If nArg==(-2) then any function with a non-null xSFunc is +** a perfect match and any function with xSFunc NULL is ** a non-match. */ #define FUNC_PERFECT_MATCH 6 /* The score for a perfect match */ @@ -98422,7 +98947,7 @@ static int matchQuality( int match; /* nArg of -2 is a special case */ - if( nArg==(-2) ) return (p->xFunc==0 && p->xStep==0) ? 0 : FUNC_PERFECT_MATCH; + if( nArg==(-2) ) return (p->xSFunc==0) ? 0 : FUNC_PERFECT_MATCH; /* Wrong number of arguments means "no match" */ if( p->nArg!=nArg && p->nArg>=0 ) return 0; @@ -98500,7 +99025,7 @@ SQLITE_PRIVATE void sqlite3FuncDefInsert( ** no matching function previously existed. ** ** If nArg is -2, then the first valid function found is returned. A -** function is valid if either xFunc or xStep is non-zero. The nArg==(-2) +** function is valid if xSFunc is non-zero. The nArg==(-2) ** case is used to see if zName is a valid function name for some number ** of arguments. If nArg is -2, then createFlag must be 0. ** @@ -98577,7 +99102,7 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( sqlite3FuncDefInsert(&db->aFunc, pBest); } - if( pBest && (pBest->xStep || pBest->xFunc || createFlag) ){ + if( pBest && (pBest->xSFunc || createFlag) ){ return pBest; } return 0; @@ -98631,7 +99156,7 @@ SQLITE_PRIVATE Schema *sqlite3SchemaGet(sqlite3 *db, Btree *pBt){ p = (Schema *)sqlite3DbMallocZero(0, sizeof(Schema)); } if( !p ){ - db->mallocFailed = 1; + sqlite3OomFault(db); }else if ( 0==p->file_format ){ sqlite3HashInit(&p->tblHash); sqlite3HashInit(&p->idxHash); @@ -99085,7 +99610,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( ** one, so just keep it in its register(s) and fall through to the ** delete code. */ nKey = nPk; /* OP_Found will use an unpacked key */ - aToOpen = sqlite3DbMallocRaw(db, nIdx+2); + aToOpen = sqlite3DbMallocRawNN(db, nIdx+2); if( aToOpen==0 ){ sqlite3WhereEnd(pWInfo); goto delete_from_cleanup; @@ -99125,13 +99650,12 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( */ if( !isView ){ int iAddrOnce = 0; - u8 p5 = (eOnePass==ONEPASS_OFF ? 0 : OPFLAG_FORDELETE); if( eOnePass==ONEPASS_MULTI ){ iAddrOnce = sqlite3CodeOnce(pParse); VdbeCoverage(v); } testcase( IsVirtual(pTab) ); - sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, p5, iTabCur, - aToOpen, &iDataCur, &iIdxCur); + sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, OPFLAG_FORDELETE, + iTabCur, aToOpen, &iDataCur, &iIdxCur); assert( pPk || IsVirtual(pTab) || iDataCur==iTabCur ); assert( pPk || IsVirtual(pTab) || iIdxCur==iDataCur+1 ); if( eOnePass==ONEPASS_MULTI ) sqlite3VdbeJumpHere(v, iAddrOnce); @@ -99364,15 +99888,20 @@ SQLITE_PRIVATE void sqlite3GenerateRowDelete( ** a view (in which case the only effect of the DELETE statement is to ** fire the INSTEAD OF triggers). */ if( pTab->pSelect==0 ){ + u8 p5 = 0; sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur,0,iIdxNoSeek); sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, (count?OPFLAG_NCHANGE:0)); if( count ){ sqlite3VdbeChangeP4(v, -1, pTab->zName, P4_TRANSIENT); } + if( eMode!=ONEPASS_OFF ){ + sqlite3VdbeChangeP5(v, OPFLAG_AUXDELETE); + } if( iIdxNoSeek>=0 ){ sqlite3VdbeAddOp1(v, OP_Delete, iIdxNoSeek); } - sqlite3VdbeChangeP5(v, eMode==ONEPASS_MULTI); + if( eMode==ONEPASS_MULTI ) p5 |= OPFLAG_SAVEPOSITION; + sqlite3VdbeChangeP5(v, p5); } /* Do any ON CASCADE, SET NULL or SET DEFAULT operations required to @@ -99782,7 +100311,8 @@ static void printfFunc( x.nUsed = 0; x.apArg = argv+1; sqlite3StrAccumInit(&str, db, 0, 0, db->aLimit[SQLITE_LIMIT_LENGTH]); - sqlite3XPrintf(&str, SQLITE_PRINTF_SQLFUNC, zFormat, &x); + str.printfFlags = SQLITE_PRINTF_SQLFUNC; + sqlite3XPrintf(&str, zFormat, &x); n = str.nChar; sqlite3_result_text(context, sqlite3StrAccumFinish(&str), n, SQLITE_DYNAMIC); @@ -100110,10 +100640,10 @@ static void total_changes( ** A structure defining how to do GLOB-style comparisons. */ struct compareInfo { - u8 matchAll; - u8 matchOne; - u8 matchSet; - u8 noCase; + u8 matchAll; /* "*" or "%" */ + u8 matchOne; /* "?" or "_" */ + u8 matchSet; /* "[" or 0 */ + u8 noCase; /* true to ignore case differences */ }; /* @@ -100176,22 +100706,14 @@ static int patternCompare( const u8 *zPattern, /* The glob pattern */ const u8 *zString, /* The string to compare against the glob */ const struct compareInfo *pInfo, /* Information about how to do the compare */ - u32 esc /* The escape character */ + u32 matchOther /* The escape char (LIKE) or '[' (GLOB) */ ){ u32 c, c2; /* Next pattern and input string chars */ u32 matchOne = pInfo->matchOne; /* "?" or "_" */ u32 matchAll = pInfo->matchAll; /* "*" or "%" */ - u32 matchOther; /* "[" or the escape character */ u8 noCase = pInfo->noCase; /* True if uppercase==lowercase */ const u8 *zEscaped = 0; /* One past the last escaped input char */ - /* The GLOB operator does not have an ESCAPE clause. And LIKE does not - ** have the matchSet operator. So we either have to look for one or - ** the other, never both. Hence the single variable matchOther is used - ** to store the one we have to look for. - */ - matchOther = esc ? esc : pInfo->matchSet; - while( (c = Utf8Read(zPattern))!=0 ){ if( c==matchAll ){ /* Match "*" */ /* Skip over multiple "*" characters in the pattern. If there @@ -100205,7 +100727,7 @@ static int patternCompare( if( c==0 ){ return 1; /* "*" at the end of the pattern matches */ }else if( c==matchOther ){ - if( esc ){ + if( pInfo->matchSet==0 ){ c = sqlite3Utf8Read(&zPattern); if( c==0 ) return 0; }else{ @@ -100213,7 +100735,7 @@ static int patternCompare( ** recursive search in this case, but it is an unusual case. */ assert( matchOther<0x80 ); /* '[' is a single-byte character */ while( *zString - && patternCompare(&zPattern[-1],zString,pInfo,esc)==0 ){ + && patternCompare(&zPattern[-1],zString,pInfo,matchOther)==0 ){ SQLITE_SKIP_UTF8(zString); } return *zString!=0; @@ -100239,18 +100761,18 @@ static int patternCompare( } while( (c2 = *(zString++))!=0 ){ if( c2!=c && c2!=cx ) continue; - if( patternCompare(zPattern,zString,pInfo,esc) ) return 1; + if( patternCompare(zPattern,zString,pInfo,matchOther) ) return 1; } }else{ while( (c2 = Utf8Read(zString))!=0 ){ if( c2!=c ) continue; - if( patternCompare(zPattern,zString,pInfo,esc) ) return 1; + if( patternCompare(zPattern,zString,pInfo,matchOther) ) return 1; } } return 0; } if( c==matchOther ){ - if( esc ){ + if( pInfo->matchSet==0 ){ c = sqlite3Utf8Read(&zPattern); if( c==0 ) return 0; zEscaped = zPattern; @@ -100303,7 +100825,7 @@ static int patternCompare( ** The sqlite3_strglob() interface. */ SQLITE_API int SQLITE_STDCALL sqlite3_strglob(const char *zGlobPattern, const char *zString){ - return patternCompare((u8*)zGlobPattern, (u8*)zString, &globInfo, 0)==0; + return patternCompare((u8*)zGlobPattern, (u8*)zString, &globInfo, '[')==0; } /* @@ -100341,9 +100863,10 @@ static void likeFunc( sqlite3_value **argv ){ const unsigned char *zA, *zB; - u32 escape = 0; + u32 escape; int nPat; sqlite3 *db = sqlite3_context_db_handle(context); + struct compareInfo *pInfo = sqlite3_user_data(context); #ifdef SQLITE_LIKE_DOESNT_MATCH_BLOBS if( sqlite3_value_type(argv[0])==SQLITE_BLOB @@ -100383,13 +100906,13 @@ static void likeFunc( return; } escape = sqlite3Utf8Read(&zEsc); + }else{ + escape = pInfo->matchSet; } if( zA && zB ){ - struct compareInfo *pInfo = sqlite3_user_data(context); #ifdef SQLITE_TEST sqlite3_like_count++; #endif - sqlite3_result_int(context, patternCompare(zB, zA, pInfo, escape)); } } @@ -101164,7 +101687,7 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(sqlite3 *db){ int rc = sqlite3_overload_function(db, "MATCH", 2); assert( rc==SQLITE_NOMEM || rc==SQLITE_OK ); if( rc==SQLITE_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } } @@ -101579,7 +102102,7 @@ SQLITE_PRIVATE int sqlite3FkLocateIndex( } }else if( paiCol ){ assert( nCol>1 ); - aiCol = (int *)sqlite3DbMallocRaw(pParse->db, nCol*sizeof(int)); + aiCol = (int *)sqlite3DbMallocRawNN(pParse->db, nCol*sizeof(int)); if( !aiCol ) return 1; *paiCol = aiCol; } @@ -102525,7 +103048,6 @@ static Trigger *fkActionTrigger( pTrigger = pFKey->apTrigger[iAction]; if( action!=OE_None && !pTrigger ){ - u8 enableLookaside; /* Copy of db->lookaside.bEnabled */ char const *zFrom; /* Name of child table */ int nFrom; /* Length in bytes of zFrom */ Index *pIdx = 0; /* Parent key index for this FK */ @@ -102552,11 +103074,9 @@ static Trigger *fkActionTrigger( assert( iFromCol>=0 ); assert( pIdx!=0 || (pTab->iPKey>=0 && pTab->iPKeynCol) ); assert( pIdx==0 || pIdx->aiColumn[i]>=0 ); - tToCol.z = pTab->aCol[pIdx ? pIdx->aiColumn[i] : pTab->iPKey].zName; - tFromCol.z = pFKey->pFrom->aCol[iFromCol].zName; - - tToCol.n = sqlite3Strlen30(tToCol.z); - tFromCol.n = sqlite3Strlen30(tFromCol.z); + sqlite3TokenInit(&tToCol, + pTab->aCol[pIdx ? pIdx->aiColumn[i] : pTab->iPKey].zName); + sqlite3TokenInit(&tFromCol, pFKey->pFrom->aCol[iFromCol].zName); /* Create the expression "OLD.zToCol = zFromCol". It is important ** that the "OLD.zToCol" term is on the LHS of the = operator, so @@ -102636,8 +103156,7 @@ static Trigger *fkActionTrigger( } /* Disable lookaside memory allocation */ - enableLookaside = db->lookaside.bEnabled; - db->lookaside.bEnabled = 0; + db->lookaside.bDisable++; pTrigger = (Trigger *)sqlite3DbMallocZero(db, sizeof(Trigger) + /* struct Trigger */ @@ -102659,7 +103178,7 @@ static Trigger *fkActionTrigger( } /* Re-enable the lookaside buffer, if it was disabled earlier. */ - db->lookaside.bEnabled = enableLookaside; + db->lookaside.bDisable--; sqlite3ExprDelete(db, pWhere); sqlite3ExprDelete(db, pWhen); @@ -102854,7 +103373,7 @@ SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(sqlite3 *db, Index *pIdx){ Table *pTab = pIdx->pTable; pIdx->zColAff = (char *)sqlite3DbMallocRaw(0, pIdx->nColumn+1); if( !pIdx->zColAff ){ - db->mallocFailed = 1; + sqlite3OomFault(db); return 0; } for(n=0; nnColumn; n++){ @@ -102905,7 +103424,7 @@ SQLITE_PRIVATE void sqlite3TableAffinity(Vdbe *v, Table *pTab, int iReg){ sqlite3 *db = sqlite3VdbeDb(v); zColAff = (char *)sqlite3DbMallocRaw(0, pTab->nCol+1); if( !zColAff ){ - db->mallocFailed = 1; + sqlite3OomFault(db); return; } @@ -103001,7 +103520,7 @@ static int autoIncBegin( pInfo = pToplevel->pAinc; while( pInfo && pInfo->pTab!=pTab ){ pInfo = pInfo->pNext; } if( pInfo==0 ){ - pInfo = sqlite3DbMallocRaw(pParse->db, sizeof(*pInfo)); + pInfo = sqlite3DbMallocRawNN(pParse->db, sizeof(*pInfo)); if( pInfo==0 ) return 0; pInfo->pNext = pToplevel->pAinc; pToplevel->pAinc = pInfo; @@ -103025,7 +103544,6 @@ SQLITE_PRIVATE void sqlite3AutoincrementBegin(Parse *pParse){ sqlite3 *db = pParse->db; /* The database connection */ Db *pDb; /* Database only autoinc table */ int memId; /* Register holding max rowid */ - int addr; /* A VDBE address */ Vdbe *v = pParse->pVdbe; /* VDBE under construction */ /* This routine is never called during trigger-generation. It is @@ -103035,33 +103553,46 @@ SQLITE_PRIVATE void sqlite3AutoincrementBegin(Parse *pParse){ assert( v ); /* We failed long ago if this is not so */ for(p = pParse->pAinc; p; p = p->pNext){ + static const int iLn = VDBE_OFFSET_LINENO(2); + static const VdbeOpList autoInc[] = { + /* 0 */ {OP_Null, 0, 0, 0}, + /* 1 */ {OP_Rewind, 0, 9, 0}, + /* 2 */ {OP_Column, 0, 0, 0}, + /* 3 */ {OP_Ne, 0, 7, 0}, + /* 4 */ {OP_Rowid, 0, 0, 0}, + /* 5 */ {OP_Column, 0, 1, 0}, + /* 6 */ {OP_Goto, 0, 9, 0}, + /* 7 */ {OP_Next, 0, 2, 0}, + /* 8 */ {OP_Integer, 0, 0, 0}, + /* 9 */ {OP_Close, 0, 0, 0} + }; + VdbeOp *aOp; pDb = &db->aDb[p->iDb]; memId = p->regCtr; assert( sqlite3SchemaMutexHeld(db, 0, pDb->pSchema) ); sqlite3OpenTable(pParse, 0, p->iDb, pDb->pSchema->pSeqTab, OP_OpenRead); - sqlite3VdbeAddOp3(v, OP_Null, 0, memId, memId+1); - addr = sqlite3VdbeCurrentAddr(v); sqlite3VdbeLoadString(v, memId-1, p->pTab->zName); - sqlite3VdbeAddOp2(v, OP_Rewind, 0, addr+9); VdbeCoverage(v); - sqlite3VdbeAddOp3(v, OP_Column, 0, 0, memId); - sqlite3VdbeAddOp3(v, OP_Ne, memId-1, addr+7, memId); VdbeCoverage(v); - sqlite3VdbeChangeP5(v, SQLITE_JUMPIFNULL); - sqlite3VdbeAddOp2(v, OP_Rowid, 0, memId+1); - sqlite3VdbeAddOp3(v, OP_Column, 0, 1, memId); - sqlite3VdbeGoto(v, addr+9); - sqlite3VdbeAddOp2(v, OP_Next, 0, addr+2); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Integer, 0, memId); - sqlite3VdbeAddOp0(v, OP_Close); + aOp = sqlite3VdbeAddOpList(v, ArraySize(autoInc), autoInc, iLn); + if( aOp==0 ) break; + aOp[0].p2 = memId; + aOp[0].p3 = memId+1; + aOp[2].p3 = memId; + aOp[3].p1 = memId-1; + aOp[3].p3 = memId; + aOp[3].p5 = SQLITE_JUMPIFNULL; + aOp[4].p2 = memId+1; + aOp[5].p3 = memId; + aOp[8].p2 = memId; } } /* ** Update the maximum rowid for an autoincrement calculation. ** -** This routine should be called when the top of the stack holds a +** This routine should be called when the regRowid register holds a ** new rowid that is about to be inserted. If that new rowid is ** larger than the maximum rowid in the memId memory cell, then the -** memory cell is updated. The stack is unchanged. +** memory cell is updated. */ static void autoIncStep(Parse *pParse, int memId, int regRowid){ if( memId>0 ){ @@ -103076,31 +103607,44 @@ static void autoIncStep(Parse *pParse, int memId, int regRowid){ ** table (either directly or through triggers) needs to call this ** routine just before the "exit" code. */ -SQLITE_PRIVATE void sqlite3AutoincrementEnd(Parse *pParse){ +static SQLITE_NOINLINE void autoIncrementEnd(Parse *pParse){ AutoincInfo *p; Vdbe *v = pParse->pVdbe; sqlite3 *db = pParse->db; assert( v ); for(p = pParse->pAinc; p; p = p->pNext){ + static const int iLn = VDBE_OFFSET_LINENO(2); + static const VdbeOpList autoIncEnd[] = { + /* 0 */ {OP_NotNull, 0, 2, 0}, + /* 1 */ {OP_NewRowid, 0, 0, 0}, + /* 2 */ {OP_MakeRecord, 0, 2, 0}, + /* 3 */ {OP_Insert, 0, 0, 0}, + /* 4 */ {OP_Close, 0, 0, 0} + }; + VdbeOp *aOp; Db *pDb = &db->aDb[p->iDb]; - int addr1; int iRec; int memId = p->regCtr; iRec = sqlite3GetTempReg(pParse); assert( sqlite3SchemaMutexHeld(db, 0, pDb->pSchema) ); sqlite3OpenTable(pParse, 0, p->iDb, pDb->pSchema->pSeqTab, OP_OpenWrite); - addr1 = sqlite3VdbeAddOp1(v, OP_NotNull, memId+1); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_NewRowid, 0, memId+1); - sqlite3VdbeJumpHere(v, addr1); - sqlite3VdbeAddOp3(v, OP_MakeRecord, memId-1, 2, iRec); - sqlite3VdbeAddOp3(v, OP_Insert, 0, iRec, memId+1); - sqlite3VdbeChangeP5(v, OPFLAG_APPEND); - sqlite3VdbeAddOp0(v, OP_Close); + aOp = sqlite3VdbeAddOpList(v, ArraySize(autoIncEnd), autoIncEnd, iLn); + if( aOp==0 ) break; + aOp[0].p1 = memId+1; + aOp[1].p2 = memId+1; + aOp[2].p1 = memId-1; + aOp[2].p3 = iRec; + aOp[3].p2 = iRec; + aOp[3].p3 = memId+1; + aOp[3].p5 = OPFLAG_APPEND; sqlite3ReleaseTempReg(pParse, iRec); } } +SQLITE_PRIVATE void sqlite3AutoincrementEnd(Parse *pParse){ + if( pParse->pAinc ) autoIncrementEnd(pParse); +} #else /* ** If SQLITE_OMIT_AUTOINCREMENT is defined, then the three routines @@ -103431,7 +103975,7 @@ SQLITE_PRIVATE void sqlite3Insert( rc = sqlite3Select(pParse, pSelect, &dest); regFromSelect = dest.iSdst; if( rc || db->mallocFailed || pParse->nErr ) goto insert_cleanup; - sqlite3VdbeAddOp1(v, OP_EndCoroutine, regYield); + sqlite3VdbeEndCoroutine(v, regYield); sqlite3VdbeJumpHere(v, addrTop - 1); /* label B: */ assert( pSelect->pEList ); nColumn = pSelect->pEList->nExpr; @@ -103533,7 +104077,7 @@ SQLITE_PRIVATE void sqlite3Insert( int nIdx; nIdx = sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, 0, -1, 0, &iDataCur, &iIdxCur); - aRegIdx = sqlite3DbMallocRaw(db, sizeof(int)*(nIdx+1)); + aRegIdx = sqlite3DbMallocRawNN(db, sizeof(int)*(nIdx+1)); if( aRegIdx==0 ){ goto insert_cleanup; } @@ -103741,7 +104285,7 @@ SQLITE_PRIVATE void sqlite3Insert( { int isReplace; /* Set to true if constraints may cause a replace */ sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, - regIns, 0, ipkColumn>=0, onError, endOfLoop, &isReplace + regIns, 0, ipkColumn>=0, onError, endOfLoop, &isReplace, 0 ); sqlite3FkCheck(pParse, pTab, 0, regIns, 0, 0); sqlite3CompleteInsertion(pParse, pTab, iDataCur, iIdxCur, @@ -103823,6 +104367,59 @@ insert_cleanup: #undef tmask #endif +/* +** Meanings of bits in of pWalker->eCode for checkConstraintUnchanged() +*/ +#define CKCNSTRNT_COLUMN 0x01 /* CHECK constraint uses a changing column */ +#define CKCNSTRNT_ROWID 0x02 /* CHECK constraint references the ROWID */ + +/* This is the Walker callback from checkConstraintUnchanged(). Set +** bit 0x01 of pWalker->eCode if +** pWalker->eCode to 0 if this expression node references any of the +** columns that are being modifed by an UPDATE statement. +*/ +static int checkConstraintExprNode(Walker *pWalker, Expr *pExpr){ + if( pExpr->op==TK_COLUMN ){ + assert( pExpr->iColumn>=0 || pExpr->iColumn==-1 ); + if( pExpr->iColumn>=0 ){ + if( pWalker->u.aiCol[pExpr->iColumn]>=0 ){ + pWalker->eCode |= CKCNSTRNT_COLUMN; + } + }else{ + pWalker->eCode |= CKCNSTRNT_ROWID; + } + } + return WRC_Continue; +} + +/* +** pExpr is a CHECK constraint on a row that is being UPDATE-ed. The +** only columns that are modified by the UPDATE are those for which +** aiChng[i]>=0, and also the ROWID is modified if chngRowid is true. +** +** Return true if CHECK constraint pExpr does not use any of the +** changing columns (or the rowid if it is changing). In other words, +** return true if this CHECK constraint can be skipped when validating +** the new row in the UPDATE statement. +*/ +static int checkConstraintUnchanged(Expr *pExpr, int *aiChng, int chngRowid){ + Walker w; + memset(&w, 0, sizeof(w)); + w.eCode = 0; + w.xExprCallback = checkConstraintExprNode; + w.u.aiCol = aiChng; + sqlite3WalkExpr(&w, pExpr); + if( !chngRowid ){ + testcase( (w.eCode & CKCNSTRNT_ROWID)!=0 ); + w.eCode &= ~CKCNSTRNT_ROWID; + } + testcase( w.eCode==0 ); + testcase( w.eCode==CKCNSTRNT_COLUMN ); + testcase( w.eCode==CKCNSTRNT_ROWID ); + testcase( w.eCode==(CKCNSTRNT_ROWID|CKCNSTRNT_COLUMN) ); + return !w.eCode; +} + /* ** Generate code to do constraint checks prior to an INSERT or an UPDATE ** on table pTab. @@ -103917,7 +104514,8 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( u8 pkChng, /* Non-zero if the rowid or PRIMARY KEY changed */ u8 overrideError, /* Override onError to this if not OE_Default */ int ignoreDest, /* Jump to this label on an OE_Ignore resolution */ - int *pbMayReplace /* OUT: Set to true if constraint may cause a replace */ + int *pbMayReplace, /* OUT: Set to true if constraint may cause a replace */ + int *aiChng /* column i is unchanged if aiChng[i]<0 */ ){ Vdbe *v; /* VDBE under constrution */ Index *pIdx; /* Pointer to one of the indices */ @@ -103963,10 +104561,14 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( */ for(i=0; iiPKey ){ + continue; /* ROWID is never NULL */ + } + if( aiChng && aiChng[i]<0 ){ + /* Don't bother checking for NOT NULL on columns that do not change */ continue; } onError = pTab->aCol[i].notNull; - if( onError==OE_None ) continue; + if( onError==OE_None ) continue; /* This column is allowed to be NULL */ if( overrideError!=OE_Default ){ onError = overrideError; }else if( onError==OE_Default ){ @@ -104015,8 +104617,11 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( pParse->ckBase = regNewData+1; onError = overrideError!=OE_Default ? overrideError : OE_Abort; for(i=0; inExpr; i++){ - int allOk = sqlite3VdbeMakeLabel(v); - sqlite3ExprIfTrue(pParse, pCheck->a[i].pExpr, allOk, SQLITE_JUMPIFNULL); + int allOk; + Expr *pExpr = pCheck->a[i].pExpr; + if( aiChng && checkConstraintUnchanged(pExpr, aiChng, pkChng) ) continue; + allOk = sqlite3VdbeMakeLabel(v); + sqlite3ExprIfTrue(pParse, pExpr, allOk, SQLITE_JUMPIFNULL); if( onError==OE_Ignore ){ sqlite3VdbeGoto(v, ignoreDest); }else{ @@ -104366,7 +104971,7 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( assert( pParse->nested==0 ); pik_flags |= OPFLAG_NCHANGE; } - if( pik_flags ) sqlite3VdbeChangeP5(v, pik_flags); + sqlite3VdbeChangeP5(v, pik_flags); } if( !HasRowid(pTab) ) return; regData = regNewData + 1; @@ -104418,7 +105023,7 @@ SQLITE_PRIVATE int sqlite3OpenTableAndIndices( Parse *pParse, /* Parsing context */ Table *pTab, /* Table to be opened */ int op, /* OP_OpenRead or OP_OpenWrite */ - u8 p5, /* P5 value for OP_Open* instructions */ + u8 p5, /* P5 value for OP_Open* opcodes (except on WITHOUT ROWID) */ int iBase, /* Use this for the table cursor, if there is one */ u8 *aToOpen, /* If not NULL: boolean for each table and index */ int *piDataCur, /* Write the database source cursor number here */ @@ -104453,15 +105058,16 @@ SQLITE_PRIVATE int sqlite3OpenTableAndIndices( for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){ int iIdxCur = iBase++; assert( pIdx->pSchema==pTab->pSchema ); - if( IsPrimaryKeyIndex(pIdx) && !HasRowid(pTab) && piDataCur ){ - *piDataCur = iIdxCur; - } if( aToOpen==0 || aToOpen[i+1] ){ sqlite3VdbeAddOp3(v, op, iIdxCur, pIdx->tnum, iDb); sqlite3VdbeSetP4KeyInfo(pParse, pIdx); - sqlite3VdbeChangeP5(v, p5); VdbeComment((v, "%s", pIdx->zName)); } + if( IsPrimaryKeyIndex(pIdx) && !HasRowid(pTab) ){ + if( piDataCur ) *piDataCur = iIdxCur; + }else{ + sqlite3VdbeChangeP5(v, p5); + } } if( iBase>pParse->nTab ) pParse->nTab = iBase; return i; @@ -104782,9 +105388,9 @@ static int xferOptimization( assert( (pDest->tabFlags & TF_Autoincrement)==0 ); } sqlite3VdbeAddOp2(v, OP_RowData, iSrc, regData); - sqlite3VdbeAddOp3(v, OP_Insert, iDest, regData, regRowid); + sqlite3VdbeAddOp4(v, OP_Insert, iDest, regData, regRowid, + pDest->zName, 0); sqlite3VdbeChangeP5(v, OPFLAG_NCHANGE|OPFLAG_LASTROWID|OPFLAG_APPEND); - sqlite3VdbeChangeP4(v, -1, pDest->zName, 0); sqlite3VdbeAddOp2(v, OP_Next, iSrc, addr1); VdbeCoverage(v); sqlite3VdbeAddOp2(v, OP_Close, iSrc, 0); sqlite3VdbeAddOp2(v, OP_Close, iDest, 0); @@ -104951,7 +105557,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_exec( for(i=0; imallocFailed = 1; + sqlite3OomFault(db); goto exec_out; } } @@ -106839,8 +107445,8 @@ static const struct sPragmaNames { /* ** Interpret the given string as a safety level. Return 0 for OFF, -** 1 for ON or NORMAL and 2 for FULL. Return 1 for an empty or -** unrecognized string argument. The FULL option is disallowed +** 1 for ON or NORMAL, 2 for FULL, and 3 for EXTRA. Return 1 for an empty or +** unrecognized string argument. The FULL and EXTRA option is disallowed ** if the omitFull parameter it 1. ** ** Note that the values returned are one less that the values that @@ -106849,18 +107455,21 @@ static const struct sPragmaNames { ** and older scripts may have used numbers 0 for OFF and 1 for ON. */ static u8 getSafetyLevel(const char *z, int omitFull, u8 dflt){ - /* 123456789 123456789 */ - static const char zText[] = "onoffalseyestruefull"; - static const u8 iOffset[] = {0, 1, 2, 4, 9, 12, 16}; - static const u8 iLength[] = {2, 2, 3, 5, 3, 4, 4}; - static const u8 iValue[] = {1, 0, 0, 0, 1, 1, 2}; + /* 123456789 123456789 123 */ + static const char zText[] = "onoffalseyestruextrafull"; + static const u8 iOffset[] = {0, 1, 2, 4, 9, 12, 15, 20}; + static const u8 iLength[] = {2, 2, 3, 5, 3, 4, 5, 4}; + static const u8 iValue[] = {1, 0, 0, 0, 1, 1, 3, 2}; + /* on no off false yes true extra full */ int i, n; if( sqlite3Isdigit(*z) ){ return (u8)sqlite3Atoi(z); } n = sqlite3Strlen30(z); - for(i=0; inMem += 2; - addr = sqlite3VdbeAddOpList(v, ArraySize(getCacheSize), getCacheSize,iLn); - sqlite3VdbeChangeP1(v, addr, iDb); - sqlite3VdbeChangeP1(v, addr+1, iDb); - sqlite3VdbeChangeP1(v, addr+6, SQLITE_DEFAULT_CACHE_SIZE); + sqlite3VdbeVerifyNoMallocRequired(v, ArraySize(getCacheSize)); + aOp = sqlite3VdbeAddOpList(v, ArraySize(getCacheSize), getCacheSize, iLn); + if( ONLY_IF_REALLOC_STRESS(aOp==0) ) break; + aOp[0].p1 = iDb; + aOp[1].p1 = iDb; + aOp[6].p1 = SQLITE_DEFAULT_CACHE_SIZE; }else{ int size = sqlite3AbsInt32(sqlite3Atoi(zRight)); sqlite3BeginWriteOperation(pParse, 0, iDb); - sqlite3VdbeAddOp2(v, OP_Integer, size, 1); - sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_DEFAULT_CACHE_SIZE, 1); + sqlite3VdbeAddOp3(v, OP_SetCookie, iDb, BTREE_DEFAULT_CACHE_SIZE, size); assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); pDb->pSchema->cache_size = size; sqlite3BtreeSetCacheSize(pDb->pBt, pDb->pSchema->cache_size); @@ -107281,7 +107891,7 @@ SQLITE_PRIVATE void sqlite3Pragma( */ db->nextPagesize = sqlite3Atoi(zRight); if( SQLITE_NOMEM==sqlite3BtreeSetPageSize(pBt, db->nextPagesize,-1,0) ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } } break; @@ -107488,16 +108098,18 @@ SQLITE_PRIVATE void sqlite3Pragma( { OP_ReadCookie, 0, 1, BTREE_LARGEST_ROOT_PAGE}, { OP_If, 1, 0, 0}, /* 2 */ { OP_Halt, SQLITE_OK, OE_Abort, 0}, /* 3 */ - { OP_Integer, 0, 1, 0}, /* 4 */ - { OP_SetCookie, 0, BTREE_INCR_VACUUM, 1}, /* 5 */ + { OP_SetCookie, 0, BTREE_INCR_VACUUM, 0}, /* 4 */ }; - int iAddr; - iAddr = sqlite3VdbeAddOpList(v, ArraySize(setMeta6), setMeta6, iLn); - sqlite3VdbeChangeP1(v, iAddr, iDb); - sqlite3VdbeChangeP1(v, iAddr+1, iDb); - sqlite3VdbeChangeP2(v, iAddr+2, iAddr+4); - sqlite3VdbeChangeP1(v, iAddr+4, eAuto-1); - sqlite3VdbeChangeP1(v, iAddr+5, iDb); + VdbeOp *aOp; + int iAddr = sqlite3VdbeCurrentAddr(v); + sqlite3VdbeVerifyNoMallocRequired(v, ArraySize(setMeta6)); + aOp = sqlite3VdbeAddOpList(v, ArraySize(setMeta6), setMeta6, iLn); + if( ONLY_IF_REALLOC_STRESS(aOp==0) ) break; + aOp[0].p1 = iDb; + aOp[1].p1 = iDb; + aOp[2].p2 = iAddr+4; + aOp[4].p1 = iDb; + aOp[4].p3 = eAuto - 1; sqlite3VdbeUsesBtree(v, iDb); } } @@ -107776,7 +108388,7 @@ SQLITE_PRIVATE void sqlite3Pragma( /* ** PRAGMA [schema.]synchronous - ** PRAGMA [schema.]synchronous=OFF|ON|NORMAL|FULL + ** PRAGMA [schema.]synchronous=OFF|ON|NORMAL|FULL|EXTRA ** ** Return or set the local value of the synchronous flag. Changing ** the local value does not make changes to the disk file and the @@ -108203,18 +108815,6 @@ SQLITE_PRIVATE void sqlite3Pragma( case PragTyp_INTEGRITY_CHECK: { int i, j, addr, mxErr; - /* Code that appears at the end of the integrity check. If no error - ** messages have been generated, output OK. Otherwise output the - ** error message - */ - static const int iLn = VDBE_OFFSET_LINENO(2); - static const VdbeOpList endCode[] = { - { OP_AddImm, 1, 0, 0}, /* 0 */ - { OP_If, 1, 0, 0}, /* 1 */ - { OP_String8, 0, 3, 0}, /* 2 */ - { OP_ResultRow, 3, 1, 0}, - }; - int isQuick = (sqlite3Tolower(zLeft[0])=='q'); /* If the PRAGMA command was of the form "PRAGMA .integrity_check", @@ -108411,10 +109011,23 @@ SQLITE_PRIVATE void sqlite3Pragma( #endif /* SQLITE_OMIT_BTREECOUNT */ } } - addr = sqlite3VdbeAddOpList(v, ArraySize(endCode), endCode, iLn); - sqlite3VdbeChangeP2(v, addr, -mxErr); - sqlite3VdbeJumpHere(v, addr+1); - sqlite3VdbeChangeP4(v, addr+2, "ok", P4_STATIC); + { + static const int iLn = VDBE_OFFSET_LINENO(2); + static const VdbeOpList endCode[] = { + { OP_AddImm, 1, 0, 0}, /* 0 */ + { OP_If, 1, 4, 0}, /* 1 */ + { OP_String8, 0, 3, 0}, /* 2 */ + { OP_ResultRow, 3, 1, 0}, /* 3 */ + }; + VdbeOp *aOp; + + aOp = sqlite3VdbeAddOpList(v, ArraySize(endCode), endCode, iLn); + if( aOp ){ + aOp[0].p2 = -mxErr; + aOp[2].p4type = P4_STATIC; + aOp[2].p4.z = "ok"; + } + } } break; #endif /* SQLITE_OMIT_INTEGRITY_CHECK */ @@ -108528,14 +109141,16 @@ SQLITE_PRIVATE void sqlite3Pragma( /* Write the specified cookie value */ static const VdbeOpList setCookie[] = { { OP_Transaction, 0, 1, 0}, /* 0 */ - { OP_Integer, 0, 1, 0}, /* 1 */ - { OP_SetCookie, 0, 0, 1}, /* 2 */ + { OP_SetCookie, 0, 0, 0}, /* 1 */ }; - int addr = sqlite3VdbeAddOpList(v, ArraySize(setCookie), setCookie, 0); - sqlite3VdbeChangeP1(v, addr, iDb); - sqlite3VdbeChangeP1(v, addr+1, sqlite3Atoi(zRight)); - sqlite3VdbeChangeP1(v, addr+2, iDb); - sqlite3VdbeChangeP2(v, addr+2, iCookie); + VdbeOp *aOp; + sqlite3VdbeVerifyNoMallocRequired(v, ArraySize(setCookie)); + aOp = sqlite3VdbeAddOpList(v, ArraySize(setCookie), setCookie, 0); + if( ONLY_IF_REALLOC_STRESS(aOp==0) ) break; + aOp[0].p1 = iDb; + aOp[1].p1 = iDb; + aOp[1].p2 = iCookie; + aOp[1].p3 = sqlite3Atoi(zRight); }else{ /* Read the specified cookie value */ static const VdbeOpList readCookie[] = { @@ -108543,10 +109158,13 @@ SQLITE_PRIVATE void sqlite3Pragma( { OP_ReadCookie, 0, 1, 0}, /* 1 */ { OP_ResultRow, 1, 1, 0} }; - int addr = sqlite3VdbeAddOpList(v, ArraySize(readCookie), readCookie, 0); - sqlite3VdbeChangeP1(v, addr, iDb); - sqlite3VdbeChangeP1(v, addr+1, iDb); - sqlite3VdbeChangeP3(v, addr+1, iCookie); + VdbeOp *aOp; + sqlite3VdbeVerifyNoMallocRequired(v, ArraySize(readCookie)); + aOp = sqlite3VdbeAddOpList(v, ArraySize(readCookie),readCookie,0); + if( ONLY_IF_REALLOC_STRESS(aOp==0) ) break; + aOp[0].p1 = iDb; + aOp[1].p1 = iDb; + aOp[1].p3 = iCookie; sqlite3VdbeSetNumCols(v, 1); sqlite3VdbeSetColName(v, 0, COLNAME_NAME, zLeft, SQLITE_TRANSIENT); } @@ -108804,11 +109422,10 @@ static void corruptSchema( if( !db->mallocFailed && (db->flags & SQLITE_RecoveryMode)==0 ){ char *z; if( zObj==0 ) zObj = "?"; - z = sqlite3_mprintf("malformed database schema (%s)", zObj); - if( z && zExtra ) z = sqlite3_mprintf("%z - %s", z, zExtra); + z = sqlite3MPrintf(db, "malformed database schema (%s)", zObj); + if( zExtra ) z = sqlite3MPrintf(db, "%z - %s", z, zExtra); sqlite3DbFree(db, *pData->pzErrMsg); *pData->pzErrMsg = z; - if( z==0 ) db->mallocFailed = 1; } pData->rc = db->mallocFailed ? SQLITE_NOMEM : SQLITE_CORRUPT_BKPT; } @@ -108867,7 +109484,7 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char }else{ pData->rc = rc; if( rc==SQLITE_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); }else if( rc!=SQLITE_INTERRUPT && (rc&0xFF)!=SQLITE_LOCKED ){ corruptSchema(pData, argv[0], sqlite3_errmsg(db)); } @@ -108913,61 +109530,27 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ #ifndef SQLITE_OMIT_DEPRECATED int size; #endif - Table *pTab; Db *pDb; char const *azArg[4]; int meta[5]; InitData initData; - char const *zMasterSchema; - char const *zMasterName; + const char *zMasterName; int openedTransaction = 0; - /* - ** The master database table has a structure like this - */ - static const char master_schema[] = - "CREATE TABLE sqlite_master(\n" - " type text,\n" - " name text,\n" - " tbl_name text,\n" - " rootpage integer,\n" - " sql text\n" - ")" - ; -#ifndef SQLITE_OMIT_TEMPDB - static const char temp_master_schema[] = - "CREATE TEMP TABLE sqlite_temp_master(\n" - " type text,\n" - " name text,\n" - " tbl_name text,\n" - " rootpage integer,\n" - " sql text\n" - ")" - ; -#else - #define temp_master_schema 0 -#endif - assert( iDb>=0 && iDbnDb ); assert( db->aDb[iDb].pSchema ); assert( sqlite3_mutex_held(db->mutex) ); assert( iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt) ); - /* zMasterSchema and zInitScript are set to point at the master schema - ** and initialisation script appropriate for the database being - ** initialized. zMasterName is the name of the master table. - */ - if( !OMIT_TEMPDB && iDb==1 ){ - zMasterSchema = temp_master_schema; - }else{ - zMasterSchema = master_schema; - } - zMasterName = SCHEMA_TABLE(iDb); - - /* Construct the schema tables. */ - azArg[0] = zMasterName; + /* Construct the in-memory representation schema tables (sqlite_master or + ** sqlite_temp_master) by invoking the parser directly. The appropriate + ** table name will be inserted automatically by the parser so we can just + ** use the abbreviation "x" here. The parser will also automatically tag + ** the schema table as read-only. */ + azArg[0] = zMasterName = SCHEMA_TABLE(iDb); azArg[1] = "1"; - azArg[2] = zMasterSchema; + azArg[2] = "CREATE TABLE x(type text,name text,tbl_name text," + "rootpage integer,sql text)"; azArg[3] = 0; initData.db = db; initData.iDb = iDb; @@ -108978,10 +109561,6 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ rc = initData.rc; goto error_out; } - pTab = sqlite3FindTable(db, zMasterName, db->aDb[iDb].zName); - if( ALWAYS(pTab) ){ - pTab->tabFlags |= TF_Readonly; - } /* Create a cursor to hold the database open */ @@ -109100,7 +109679,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ { char *zSql; zSql = sqlite3MPrintf(db, - "SELECT name, rootpage, sql FROM '%q'.%s ORDER BY rowid", + "SELECT name, rootpage, sql FROM \"%w\".%s ORDER BY rowid", db->aDb[iDb].zName, zMasterName); #ifndef SQLITE_OMIT_AUTHORIZATION { @@ -109150,7 +109729,7 @@ initone_error_out: error_out: if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } return rc; } @@ -109248,7 +109827,7 @@ static void schemaIsValid(Parse *pParse){ if( !sqlite3BtreeIsInReadTrans(pBt) ){ rc = sqlite3BtreeBeginTrans(pBt, 0); if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } if( rc!=SQLITE_OK ) return; openedTransaction = 1; @@ -109311,6 +109890,11 @@ SQLITE_PRIVATE void sqlite3ParserReset(Parse *pParse){ sqlite3 *db = pParse->db; sqlite3DbFree(db, pParse->aLabel); sqlite3ExprListDelete(db, pParse->pConstExpr); + if( db ){ + assert( db->lookaside.bDisable >= pParse->disableLookaside ); + db->lookaside.bDisable -= pParse->disableLookaside; + } + pParse->disableLookaside = 0; } } @@ -109339,7 +109923,7 @@ static int sqlite3Prepare( } pParse->pReprepare = pReprepare; assert( ppStmt && *ppStmt==0 ); - assert( !db->mallocFailed ); + /* assert( !db->mallocFailed ); // not true with SQLITE_USE_ALLOCA */ assert( sqlite3_mutex_held(db->mutex) ); /* Check to verify that it is possible to get a read lock on all @@ -109396,8 +109980,8 @@ static int sqlite3Prepare( zSqlCopy = sqlite3DbStrNDup(db, zSql, nBytes); if( zSqlCopy ){ sqlite3RunParser(pParse, zSqlCopy, &zErrMsg); - sqlite3DbFree(db, zSqlCopy); pParse->zTail = &zSql[pParse->zTail-zSqlCopy]; + sqlite3DbFree(db, zSqlCopy); }else{ pParse->zTail = &zSql[nBytes]; } @@ -109406,9 +109990,6 @@ static int sqlite3Prepare( } assert( 0==pParse->nQueryLoop ); - if( db->mallocFailed ){ - pParse->rc = SQLITE_NOMEM; - } if( pParse->rc==SQLITE_DONE ) pParse->rc = SQLITE_OK; if( pParse->checkSchema ){ schemaIsValid(pParse); @@ -109530,7 +110111,7 @@ SQLITE_PRIVATE int sqlite3Reprepare(Vdbe *p){ rc = sqlite3LockAndPrepare(db, zSql, -1, 0, p, &pNew, 0); if( rc ){ if( rc==SQLITE_NOMEM ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } assert( pNew==0 ); return rc; @@ -109784,29 +110365,37 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( Select *pNew; Select standin; sqlite3 *db = pParse->db; - pNew = sqlite3DbMallocZero(db, sizeof(*pNew) ); + pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew) ); if( pNew==0 ){ assert( db->mallocFailed ); pNew = &standin; - memset(pNew, 0, sizeof(*pNew)); } if( pEList==0 ){ pEList = sqlite3ExprListAppend(pParse, 0, sqlite3Expr(db,TK_ASTERISK,0)); } pNew->pEList = pEList; + pNew->op = TK_SELECT; + pNew->selFlags = selFlags; + pNew->iLimit = 0; + pNew->iOffset = 0; +#if SELECTTRACE_ENABLED + pNew->zSelName[0] = 0; +#endif + pNew->addrOpenEphm[0] = -1; + pNew->addrOpenEphm[1] = -1; + pNew->nSelectRow = 0; if( pSrc==0 ) pSrc = sqlite3DbMallocZero(db, sizeof(*pSrc)); pNew->pSrc = pSrc; pNew->pWhere = pWhere; pNew->pGroupBy = pGroupBy; pNew->pHaving = pHaving; pNew->pOrderBy = pOrderBy; - pNew->selFlags = selFlags; - pNew->op = TK_SELECT; + pNew->pPrior = 0; + pNew->pNext = 0; pNew->pLimit = pLimit; pNew->pOffset = pOffset; + pNew->pWith = 0; assert( pOffset==0 || pLimit!=0 || pParse->nErr>0 || db->mallocFailed!=0 ); - pNew->addrOpenEphm[0] = -1; - pNew->addrOpenEphm[1] = -1; if( db->mallocFailed ) { clearSelect(db, pNew, pNew!=&standin); pNew = 0; @@ -110669,8 +111258,8 @@ static void selectInnerLoop( ** X extra columns. */ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){ - KeyInfo *p = sqlite3DbMallocZero(0, - sizeof(KeyInfo) + (N+X)*(sizeof(CollSeq*)+1)); + int nExtra = (N+X)*(sizeof(CollSeq*)+1); + KeyInfo *p = sqlite3Malloc(sizeof(KeyInfo) + nExtra); if( p ){ p->aSortOrder = (u8*)&p->aColl[N+X]; p->nField = (u16)N; @@ -110678,8 +111267,9 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){ p->enc = ENC(db); p->db = db; p->nRef = 1; + memset(&p[1], 0, nExtra); }else{ - db->mallocFailed = 1; + sqlite3OomFault(db); } return p; } @@ -111340,7 +111930,7 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( pCol->zName = zName; sqlite3ColumnPropertiesFromName(0, pCol); if( zName && sqlite3HashInsert(&ht, zName, pCol)==pCol ){ - db->mallocFailed = 1; + sqlite3OomFault(db); } } sqlite3HashClear(&ht); @@ -111427,7 +112017,7 @@ SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ } /* The sqlite3ResultSetOfSelect() is only used n contexts where lookaside ** is disabled */ - assert( db->lookaside.bEnabled==0 ); + assert( db->lookaside.bDisable ); pTab->nRef = 1; pTab->zName = 0; pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); @@ -111523,10 +112113,8 @@ static void computeLimitRegisters(Parse *pParse, Select *p, int iBreak){ sqlite3ExprCode(pParse, p->pOffset, iOffset); sqlite3VdbeAddOp1(v, OP_MustBeInt, iOffset); VdbeCoverage(v); VdbeComment((v, "OFFSET counter")); - sqlite3VdbeAddOp3(v, OP_SetIfNotPos, iOffset, iOffset, 0); - sqlite3VdbeAddOp3(v, OP_Add, iLimit, iOffset, iOffset+1); + sqlite3VdbeAddOp3(v, OP_OffsetLimit, iLimit, iOffset+1, iOffset); VdbeComment((v, "LIMIT+OFFSET")); - sqlite3VdbeAddOp3(v, OP_SetIfNotPos, iLimit, iOffset+1, -1); } } } @@ -111943,9 +112531,8 @@ static int multiSelect( addr = sqlite3VdbeAddOp1(v, OP_IfNot, p->iLimit); VdbeCoverage(v); VdbeComment((v, "Jump ahead if LIMIT reached")); if( p->iOffset ){ - sqlite3VdbeAddOp3(v, OP_SetIfNotPos, p->iOffset, p->iOffset, 0); - sqlite3VdbeAddOp3(v, OP_Add, p->iLimit, p->iOffset, p->iOffset+1); - sqlite3VdbeAddOp3(v, OP_SetIfNotPos, p->iLimit, p->iOffset+1, -1); + sqlite3VdbeAddOp3(v, OP_OffsetLimit, + p->iLimit, p->iOffset+1, p->iOffset); } } explainSetInteger(iSub2, pParse->iNextSelectId); @@ -112536,10 +113123,11 @@ static int multiSelectOrderBy( ** to the right and the left are evaluated, they use the correct ** collation. */ - aPermute = sqlite3DbMallocRaw(db, sizeof(int)*nOrderBy); + aPermute = sqlite3DbMallocRawNN(db, sizeof(int)*(nOrderBy + 1)); if( aPermute ){ struct ExprList_item *pItem; - for(i=0, pItem=pOrderBy->a; ia; i<=nOrderBy; i++, pItem++){ assert( pItem->u.x.iOrderByCol>0 ); assert( pItem->u.x.iOrderByCol<=p->pEList->nExpr ); aPermute[i] = pItem->u.x.iOrderByCol - 1; @@ -112617,7 +113205,7 @@ static int multiSelectOrderBy( pPrior->iLimit = regLimitA; explainSetInteger(iSub1, pParse->iNextSelectId); sqlite3Select(pParse, pPrior, &destA); - sqlite3VdbeAddOp1(v, OP_EndCoroutine, regAddrA); + sqlite3VdbeEndCoroutine(v, regAddrA); sqlite3VdbeJumpHere(v, addr1); /* Generate a coroutine to evaluate the SELECT statement on @@ -112634,7 +113222,7 @@ static int multiSelectOrderBy( sqlite3Select(pParse, p, &destB); p->iLimit = savedLimit; p->iOffset = savedOffset; - sqlite3VdbeAddOp1(v, OP_EndCoroutine, regAddrB); + sqlite3VdbeEndCoroutine(v, regAddrB); /* Generate a subroutine that outputs the current row of the A ** select as the next output row of the compound select. @@ -114101,8 +114689,7 @@ static int selectExpander(Walker *pWalker, Select *p){ pExpr = pRight; } pNew = sqlite3ExprListAppend(pParse, pNew, pExpr); - sColname.z = zColname; - sColname.n = sqlite3Strlen30(zColname); + sqlite3TokenInit(&sColname, zColname); sqlite3ExprListSetName(pParse, pNew, &sColname, 0); if( pNew && (p->selFlags & SF_NestedFrom)!=0 ){ struct ExprList_item *pX = &pNew->a[pNew->nExpr-1]; @@ -114656,7 +115243,7 @@ SQLITE_PRIVATE int sqlite3Select( pItem->pTab->nRowLogEst = sqlite3LogEst(pSub->nSelectRow); pItem->fg.viaCoroutine = 1; pItem->regResult = dest.iSdst; - sqlite3VdbeAddOp1(v, OP_EndCoroutine, pItem->regReturn); + sqlite3VdbeEndCoroutine(v, pItem->regReturn); sqlite3VdbeJumpHere(v, addrTop-1); sqlite3ClearTempRegCache(pParse); }else{ @@ -115228,7 +115815,8 @@ SQLITE_PRIVATE int sqlite3Select( if( flag ){ pMinMax = sqlite3ExprListDup(db, pMinMax, 0); pDel = pMinMax; - if( pMinMax && !db->mallocFailed ){ + assert( db->mallocFailed || pMinMax!=0 ); + if( !db->mallocFailed ){ pMinMax->a[0].sortOrder = flag!=WHERE_ORDERBY_MIN ?1:0; pMinMax->a[0].pExpr->op = TK_COLUMN; } @@ -115801,8 +116389,7 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( pStepList->pTrig = pTrig; pStepList = pStepList->pNext; } - nameToken.z = pTrig->zName; - nameToken.n = sqlite3Strlen30(nameToken.z); + sqlite3TokenInit(&nameToken, pTrig->zName); sqlite3FixInit(&sFix, pParse, iDb, "trigger", &nameToken); if( sqlite3FixTriggerStep(&sFix, pTrig->step_list) || sqlite3FixExpr(&sFix, pTrig->pWhen) @@ -115838,7 +116425,7 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); pTrig = sqlite3HashInsert(pHash, zName, pTrig); if( pTrig ){ - db->mallocFailed = 1; + sqlite3OomFault(db); }else if( pLink->pSchema==pLink->pTabSchema ){ Table *pTab; pTab = sqlite3HashFind(&pLink->pTabSchema->tblHash, pLink->table); @@ -116466,8 +117053,8 @@ SQLITE_PRIVATE void sqlite3CodeRowTriggerDirect( if( pPrg ){ int bRecursive = (p->zName && 0==(pParse->db->flags&SQLITE_RecTriggers)); - sqlite3VdbeAddOp3(v, OP_Program, reg, ignoreJump, ++pParse->nMem); - sqlite3VdbeChangeP4(v, -1, (const char *)pPrg->pProgram, P4_SUBPROGRAM); + sqlite3VdbeAddOp4(v, OP_Program, reg, ignoreJump, ++pParse->nMem, + (const char *)pPrg->pProgram, P4_SUBPROGRAM); VdbeComment( (v, "Call: %s.%s", (p->zName?p->zName:"fkey"), onErrorText(orconf))); @@ -116814,7 +117401,7 @@ SQLITE_PRIVATE void sqlite3Update( /* Allocate space for aXRef[], aRegIdx[], and aToOpen[]. ** Initialize aXRef[] and aToOpen[] to their default values. */ - aXRef = sqlite3DbMallocRaw(db, sizeof(int) * (pTab->nCol+nIdx) + nIdx+2 ); + aXRef = sqlite3DbMallocRawNN(db, sizeof(int) * (pTab->nCol+nIdx) + nIdx+2 ); if( aXRef==0 ) goto update_cleanup; aRegIdx = aXRef+pTab->nCol; aToOpen = (u8*)(aRegIdx+nIdx); @@ -117189,7 +117776,8 @@ SQLITE_PRIVATE void sqlite3Update( /* Do constraint checks. */ assert( regOldRowid>0 ); sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, - regNewRowid, regOldRowid, chngKey, onError, labelContinue, &bReplace); + regNewRowid, regOldRowid, chngKey, onError, labelContinue, &bReplace, + aXRef); /* Do FK constraint checks. */ if( hasFK ){ @@ -117854,7 +118442,7 @@ static int createModule( rc = SQLITE_MISUSE_BKPT; }else{ Module *pMod; - pMod = (Module *)sqlite3DbMallocRaw(db, sizeof(Module) + nName + 1); + pMod = (Module *)sqlite3DbMallocRawNN(db, sizeof(Module) + nName + 1); if( pMod ){ Module *pDel; char *zCopy = (char *)(&pMod[1]); @@ -117867,7 +118455,7 @@ static int createModule( pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,(void*)pMod); assert( pDel==0 || pDel==pMod ); if( pDel ){ - db->mallocFailed = 1; + sqlite3OomFault(db); sqlite3DbFree(db, pDel); } } @@ -118244,7 +118832,7 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){ assert( sqlite3SchemaMutexHeld(db, 0, pSchema) ); pOld = sqlite3HashInsert(&pSchema->tblHash, zName, pTab); if( pOld ){ - db->mallocFailed = 1; + sqlite3OomFault(db); assert( pTab==pOld ); /* Malloc must have failed inside HashInsert() */ return; } @@ -118335,7 +118923,7 @@ static int vtabCallConstructor( db->pVtabCtx = &sCtx; rc = xConstruct(db, pMod->pAux, nArg, azArg, &pVTable->pVtab, &zErr); db->pVtabCtx = sCtx.pPrior; - if( rc==SQLITE_NOMEM ) db->mallocFailed = 1; + if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); assert( sCtx.pTab==pTab ); if( SQLITE_OK!=rc ){ @@ -118821,7 +119409,7 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction( Table *pTab; sqlite3_vtab *pVtab; sqlite3_module *pMod; - void (*xFunc)(sqlite3_context*,int,sqlite3_value**) = 0; + void (*xSFunc)(sqlite3_context*,int,sqlite3_value**) = 0; void *pArg = 0; FuncDef *pNew; int rc = 0; @@ -118849,7 +119437,7 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction( for(z=(unsigned char*)zLowerName; *z; z++){ *z = sqlite3UpperToLower[*z]; } - rc = pMod->xFindFunction(pVtab, nArg, zLowerName, &xFunc, &pArg); + rc = pMod->xFindFunction(pVtab, nArg, zLowerName, &xSFunc, &pArg); sqlite3DbFree(db, zLowerName); } if( rc==0 ){ @@ -118866,7 +119454,7 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction( *pNew = *pDef; pNew->zName = (char *)&pNew[1]; memcpy(pNew->zName, pDef->zName, sqlite3Strlen30(pDef->zName)+1); - pNew->xFunc = xFunc; + pNew->xSFunc = xSFunc; pNew->pUserData = pArg; pNew->funcFlags |= SQLITE_FUNC_EPHEM; return pNew; @@ -118893,7 +119481,7 @@ SQLITE_PRIVATE void sqlite3VtabMakeWritable(Parse *pParse, Table *pTab){ pToplevel->apVtabLock = apVtabLock; pToplevel->apVtabLock[pToplevel->nVtabLock++] = pTab; }else{ - pToplevel->db->mallocFailed = 1; + sqlite3OomFault(pToplevel->db); } } @@ -119635,7 +120223,7 @@ static void explainIndexRange(StrAccum *pStr, WhereLoop *pLoop){ for(i=0; i=nSkip ? "%s=?" : "ANY(%s)", z); + sqlite3XPrintf(pStr, i>=nSkip ? "%s=?" : "ANY(%s)", z); } j = i; @@ -119694,13 +120282,13 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( sqlite3StrAccumInit(&str, db, zBuf, sizeof(zBuf), SQLITE_MAX_LENGTH); sqlite3StrAccumAppendAll(&str, isSearch ? "SEARCH" : "SCAN"); if( pItem->pSelect ){ - sqlite3XPrintf(&str, 0, " SUBQUERY %d", pItem->iSelectId); + sqlite3XPrintf(&str, " SUBQUERY %d", pItem->iSelectId); }else{ - sqlite3XPrintf(&str, 0, " TABLE %s", pItem->zName); + sqlite3XPrintf(&str, " TABLE %s", pItem->zName); } if( pItem->zAlias ){ - sqlite3XPrintf(&str, 0, " AS %s", pItem->zAlias); + sqlite3XPrintf(&str, " AS %s", pItem->zAlias); } if( (flags & (WHERE_IPK|WHERE_VIRTUALTABLE))==0 ){ const char *zFmt = 0; @@ -119724,7 +120312,7 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( } if( zFmt ){ sqlite3StrAccumAppend(&str, " USING ", 7); - sqlite3XPrintf(&str, 0, zFmt, pIdx->zName); + sqlite3XPrintf(&str, zFmt, pIdx->zName); explainIndexRange(&str, pLoop); } }else if( (flags & WHERE_IPK)!=0 && (flags & WHERE_CONSTRAINT)!=0 ){ @@ -119739,17 +120327,17 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( assert( flags&WHERE_TOP_LIMIT); zRangeOp = "<"; } - sqlite3XPrintf(&str, 0, " USING INTEGER PRIMARY KEY (rowid%s?)",zRangeOp); + sqlite3XPrintf(&str, " USING INTEGER PRIMARY KEY (rowid%s?)",zRangeOp); } #ifndef SQLITE_OMIT_VIRTUALTABLE else if( (flags & WHERE_VIRTUALTABLE)!=0 ){ - sqlite3XPrintf(&str, 0, " VIRTUAL TABLE INDEX %d:%s", + sqlite3XPrintf(&str, " VIRTUAL TABLE INDEX %d:%s", pLoop->u.vtab.idxNum, pLoop->u.vtab.idxStr); } #endif #ifdef SQLITE_EXPLAIN_ESTIMATED_ROWS if( pLoop->nOut>=10 ){ - sqlite3XPrintf(&str, 0, " (~%llu rows)", sqlite3LogEstToInt(pLoop->nOut)); + sqlite3XPrintf(&str, " (~%llu rows)", sqlite3LogEstToInt(pLoop->nOut)); }else{ sqlite3StrAccumAppend(&str, " (~1 row)", 9); } @@ -119886,8 +120474,7 @@ static void codeApplyAffinity(Parse *pParse, int base, int n, char *zAff){ /* Code the OP_Affinity opcode if there is anything left to do. */ if( n>0 ){ - sqlite3VdbeAddOp2(v, OP_Affinity, base, n); - sqlite3VdbeChangeP4(v, -1, zAff, n); + sqlite3VdbeAddOp4(v, OP_Affinity, base, n, 0, zAff, n); sqlite3ExprCacheAffinityChange(pParse, base, n); } } @@ -120055,9 +120642,7 @@ static int codeAllEqualityTerms( pParse->nMem += nReg; zAff = sqlite3DbStrDup(pParse->db,sqlite3IndexAffinityStr(pParse->db,pIdx)); - if( !zAff ){ - pParse->db->mallocFailed = 1; - } + assert( zAff!=0 || pParse->db->mallocFailed ); if( nSkip ){ int iIdxCur = pLevel->iIdxCur; @@ -120306,6 +120891,54 @@ static void codeCursorHint( # define codeCursorHint(A,B,C) /* No-op */ #endif /* SQLITE_ENABLE_CURSOR_HINTS */ +/* +** Cursor iCur is open on an intkey b-tree (a table). Register iRowid contains +** a rowid value just read from cursor iIdxCur, open on index pIdx. This +** function generates code to do a deferred seek of cursor iCur to the +** rowid stored in register iRowid. +** +** Normally, this is just: +** +** OP_Seek $iCur $iRowid +** +** However, if the scan currently being coded is a branch of an OR-loop and +** the statement currently being coded is a SELECT, then P3 of the OP_Seek +** is set to iIdxCur and P4 is set to point to an array of integers +** containing one entry for each column of the table cursor iCur is open +** on. For each table column, if the column is the i'th column of the +** index, then the corresponding array entry is set to (i+1). If the column +** does not appear in the index at all, the array entry is set to 0. +*/ +static void codeDeferredSeek( + WhereInfo *pWInfo, /* Where clause context */ + Index *pIdx, /* Index scan is using */ + int iCur, /* Cursor for IPK b-tree */ + int iIdxCur /* Index cursor */ +){ + Parse *pParse = pWInfo->pParse; /* Parse context */ + Vdbe *v = pParse->pVdbe; /* Vdbe to generate code within */ + + assert( iIdxCur>0 ); + assert( pIdx->aiColumn[pIdx->nColumn-1]==-1 ); + + sqlite3VdbeAddOp3(v, OP_Seek, iIdxCur, 0, iCur); + if( (pWInfo->wctrlFlags & WHERE_FORCE_TABLE) + && DbMaskAllZero(sqlite3ParseToplevel(pParse)->writeMask) + ){ + int i; + Table *pTab = pIdx->pTable; + int *ai = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int)*(pTab->nCol+1)); + if( ai ){ + ai[0] = pTab->nCol; + for(i=0; inColumn-1; i++){ + assert( pIdx->aiColumn[i]nCol ); + if( pIdx->aiColumn[i]>=0 ) ai[pIdx->aiColumn[i]+1] = i+1; + } + sqlite3VdbeChangeP4(v, -1, (char*)ai, P4_INTARRAY); + } + } +} + /* ** Generate code for the start of the iLevel-th loop in the WHERE clause ** implementation described by pWInfo. @@ -120785,14 +121418,14 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( omitTable ){ /* pIdx is a covering index. No need to access the main table. */ }else if( HasRowid(pIdx->pTable) ){ - iRowidReg = ++pParse->nMem; - sqlite3VdbeAddOp2(v, OP_IdxRowid, iIdxCur, iRowidReg); - sqlite3ExprCacheStore(pParse, iCur, -1, iRowidReg); if( pWInfo->eOnePass!=ONEPASS_OFF ){ + iRowidReg = ++pParse->nMem; + sqlite3VdbeAddOp2(v, OP_IdxRowid, iIdxCur, iRowidReg); + sqlite3ExprCacheStore(pParse, iCur, -1, iRowidReg); sqlite3VdbeAddOp3(v, OP_NotExists, iCur, 0, iRowidReg); VdbeCoverage(v); }else{ - sqlite3VdbeAddOp2(v, OP_Seek, iCur, iRowidReg); /* Deferred seek */ + codeDeferredSeek(pWInfo, pIdx, iCur, iIdxCur); } }else if( iCur!=iIdxCur ){ Index *pPk = sqlite3PrimaryKeyIndex(pIdx->pTable); @@ -120961,7 +121594,9 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( Expr *pExpr = pWC->a[iTerm].pExpr; if( &pWC->a[iTerm] == pTerm ) continue; if( ExprHasProperty(pExpr, EP_FromJoin) ) continue; - if( (pWC->a[iTerm].wtFlags & TERM_VIRTUAL)!=0 ) continue; + testcase( pWC->a[iTerm].wtFlags & TERM_VIRTUAL ); + testcase( pWC->a[iTerm].wtFlags & TERM_CODED ); + if( (pWC->a[iTerm].wtFlags & (TERM_VIRTUAL|TERM_CODED))!=0 ) continue; if( (pWC->a[iTerm].eOperator & WO_ALL)==0 ) continue; testcase( pWC->a[iTerm].wtFlags & TERM_ORINFO ); pExpr = sqlite3ExprDup(db, pExpr, 0); @@ -121301,7 +121936,7 @@ static int whereClauseInsert(WhereClause *pWC, Expr *p, u16 wtFlags){ if( pWC->nTerm>=pWC->nSlot ){ WhereTerm *pOld = pWC->a; sqlite3 *db = pWC->pWInfo->pParse->db; - pWC->a = sqlite3DbMallocRaw(db, sizeof(pWC->a[0])*pWC->nSlot*2 ); + pWC->a = sqlite3DbMallocRawNN(db, sizeof(pWC->a[0])*pWC->nSlot*2 ); if( pWC->a==0 ){ if( wtFlags & TERM_DYNAMIC ){ sqlite3ExprDelete(db, p); @@ -121439,6 +122074,7 @@ static int isLikeOrGlob( sqlite3 *db = pParse->db; /* Database connection */ sqlite3_value *pVal = 0; int op; /* Opcode of pRight */ + int rc; /* Result code to return */ if( !sqlite3IsLikeFunction(db, pExpr, pnoCase, wc) ){ return 0; @@ -121504,8 +122140,9 @@ static int isLikeOrGlob( } } + rc = (z!=0); sqlite3ValueFree(pVal); - return (z!=0); + return rc; } #endif /* SQLITE_OMIT_LIKE_OPTIMIZATION */ @@ -121784,7 +122421,7 @@ static void exprAnalyzeOrTerm( WhereAndInfo *pAndInfo; assert( (pOrTerm->wtFlags & (TERM_ANDINFO|TERM_ORINFO))==0 ); chngToIN = 0; - pAndInfo = sqlite3DbMallocRaw(db, sizeof(*pAndInfo)); + pAndInfo = sqlite3DbMallocRawNN(db, sizeof(*pAndInfo)); if( pAndInfo ){ WhereClause *pAndWC; WhereTerm *pAndTerm; @@ -121798,7 +122435,6 @@ static void exprAnalyzeOrTerm( sqlite3WhereSplit(pAndWC, pOrTerm->pExpr, TK_AND); sqlite3WhereExprAnalyze(pSrc, pAndWC); pAndWC->pOuter = pWC; - testcase( db->mallocFailed ); if( !db->mallocFailed ){ for(j=0, pAndTerm=pAndWC->a; jnTerm; j++, pAndTerm++){ assert( pAndTerm->pExpr ); @@ -123541,7 +124177,7 @@ static int vtabBestIndex(Parse *pParse, Table *pTab, sqlite3_index_info *p){ if( rc!=SQLITE_OK ){ if( rc==SQLITE_NOMEM ){ - pParse->db->mallocFailed = 1; + sqlite3OomFault(pParse->db); }else if( !pVtab->zErrMsg ){ sqlite3ErrorMsg(pParse, "%s", sqlite3ErrStr(rc)); }else{ @@ -124333,7 +124969,7 @@ static int whereLoopResize(sqlite3 *db, WhereLoop *p, int n){ WhereTerm **paNew; if( p->nLSlot>=n ) return SQLITE_OK; n = (n+7)&~7; - paNew = sqlite3DbMallocRaw(db, sizeof(p->aLTerm[0])*n); + paNew = sqlite3DbMallocRawNN(db, sizeof(p->aLTerm[0])*n); if( paNew==0 ) return SQLITE_NOMEM; memcpy(paNew, p->aLTerm, sizeof(p->aLTerm[0])*p->nLSlot); if( p->aLTerm!=p->aLTermSpace ) sqlite3DbFree(db, p->aLTerm); @@ -124630,7 +125266,7 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ #endif if( p==0 ){ /* Allocate a new WhereLoop to add to the end of the list */ - *ppPrev = p = sqlite3DbMallocRaw(db, sizeof(WhereLoop)); + *ppPrev = p = sqlite3DbMallocRawNN(db, sizeof(WhereLoop)); if( p==0 ) return SQLITE_NOMEM; whereLoopInit(p); p->pNextLoop = 0; @@ -126036,7 +126672,6 @@ static const char *wherePathName(WherePath *pPath, int nLoop, WhereLoop *pLast){ ** order. */ static LogEst whereSortingCost( - WhereInfo *pWInfo, LogEst nRow, int nOrderBy, int nSorted @@ -126058,14 +126693,6 @@ static LogEst whereSortingCost( assert( nOrderBy>0 && 66==sqlite3LogEst(100) ); rScale = sqlite3LogEst((nOrderBy-nSorted)*100/nOrderBy) - 66; rSortCost = nRow + estLog(nRow) + rScale + 16; - - /* TUNING: The cost of implementing DISTINCT using a B-TREE is - ** similar but with a larger constant of proportionality. - ** Multiply by an additional factor of 3.0. */ - if( pWInfo->wctrlFlags & WHERE_WANT_DISTINCT ){ - rSortCost += 16; - } - return rSortCost; } @@ -126127,7 +126754,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ /* Allocate and initialize space for aTo, aFrom and aSortCost[] */ nSpace = (sizeof(WherePath)+sizeof(WhereLoop*)*nLoop)*mxChoice*2; nSpace += sizeof(LogEst) * nOrderBy; - pSpace = sqlite3DbMallocRaw(db, nSpace); + pSpace = sqlite3DbMallocRawNN(db, nSpace); if( pSpace==0 ) return SQLITE_NOMEM; aTo = (WherePath*)pSpace; aFrom = aTo+mxChoice; @@ -126199,7 +126826,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ if( isOrdered>=0 && isOrderednLevel==1 ); if( (wctrlFlags & WHERE_ONEPASS_DESIRED)!=0 ){ int wsFlags = pWInfo->a[0].pWLoop->wsFlags; int bOnerow = (wsFlags & WHERE_ONEROW)!=0; - if( bOnerow || ( (wctrlFlags & WHERE_ONEPASS_MULTIROW) - && 0==(wsFlags & WHERE_VIRTUALTABLE) - )){ + if( bOnerow + || ((wctrlFlags & WHERE_ONEPASS_MULTIROW)!=0 + && 0==(wsFlags & WHERE_VIRTUALTABLE)) + ){ pWInfo->eOnePass = bOnerow ? ONEPASS_SINGLE : ONEPASS_MULTI; if( HasRowid(pTabList->a[0].pTab) && (wsFlags & WHERE_IDX_ONLY) ){ if( wctrlFlags & WHERE_ONEPASS_MULTIROW ){ @@ -126916,8 +127542,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( Bitmask b = pTabItem->colUsed; int n = 0; for(; b; b=b>>1, n++){} - sqlite3VdbeChangeP4(v, sqlite3VdbeCurrentAddr(v)-1, - SQLITE_INT_TO_PTR(n), P4_INT32); + sqlite3VdbeChangeP4(v, -1, SQLITE_INT_TO_PTR(n), P4_INT32); assert( n<=pTab->nCol ); } #ifdef SQLITE_ENABLE_CURSOR_HINTS @@ -127311,6 +127936,15 @@ struct TrigEvent { int a; IdList * b; }; */ struct AttachKey { int type; Token key; }; +/* +** Disable lookaside memory allocation for objects that might be +** shared across database connections. +*/ +static void disableLookaside(Parse *pParse){ + pParse->disableLookaside++; + pParse->db->lookaside.bDisable++; +} + /* ** For a compound SELECT statement, make sure p->pPrior->pNext==p for @@ -127393,7 +128027,7 @@ struct AttachKey { int type; Token key; }; ** unary TK_ISNULL or TK_NOTNULL expression. */ static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){ sqlite3 *db = pParse->db; - if( pY && pA && pY->op==TK_NULL ){ + if( pA && pY && pY->op==TK_NULL ){ pA->op = (u8)op; sqlite3ExprDelete(db, pA->pRight); pA->pRight = 0; @@ -129384,14 +130018,11 @@ static void yy_reduce( ** break; */ /********** Begin reduce actions **********************************************/ - case 5: /* explain ::= */ -{ sqlite3BeginParse(pParse, 0); } - break; case 6: /* explain ::= EXPLAIN */ -{ sqlite3BeginParse(pParse, 1); } +{ pParse->explain = 1; } break; case 7: /* explain ::= EXPLAIN QUERY PLAN */ -{ sqlite3BeginParse(pParse, 2); } +{ pParse->explain = 2; } break; case 8: /* cmdx ::= cmd */ { sqlite3FinishCoding(pParse); } @@ -129438,7 +130069,7 @@ static void yy_reduce( break; case 27: /* createkw ::= CREATE */ { - pParse->db->lookaside.bEnabled = 0; + disableLookaside(pParse); yygotominor.yy0 = yymsp[0].minor.yy0; } break; @@ -130520,7 +131151,7 @@ static void yy_reduce( break; case 307: /* add_column_fullname ::= fullname */ { - pParse->db->lookaside.bEnabled = 0; + disableLookaside(pParse); sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); } break; @@ -130566,6 +131197,7 @@ static void yy_reduce( /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3); /* (4) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==4); + /* (5) explain ::= */ yytestcase(yyruleno==5); /* (10) trans_opt ::= */ yytestcase(yyruleno==10); /* (11) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==11); /* (12) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==12); @@ -130899,12 +131531,92 @@ SQLITE_PRIVATE void sqlite3Parser( /* #include "sqliteInt.h" */ /* #include */ +/* Character classes for tokenizing +** +** In the sqlite3GetToken() function, a switch() on aiClass[c] is implemented +** using a lookup table, whereas a switch() directly on c uses a binary search. +** The lookup table is much faster. To maximize speed, and to ensure that +** a lookup table is used, all of the classes need to be small integers and +** all of them need to be used within the switch. +*/ +#define CC_X 0 /* The letter 'x', or start of BLOB literal */ +#define CC_KYWD 1 /* Alphabetics or '_'. Usable in a keyword */ +#define CC_ID 2 /* unicode characters usable in IDs */ +#define CC_DIGIT 3 /* Digits */ +#define CC_DOLLAR 4 /* '$' */ +#define CC_VARALPHA 5 /* '@', '#', ':'. Alphabetic SQL variables */ +#define CC_VARNUM 6 /* '?'. Numeric SQL variables */ +#define CC_SPACE 7 /* Space characters */ +#define CC_QUOTE 8 /* '"', '\'', or '`'. String literals, quoted ids */ +#define CC_QUOTE2 9 /* '['. [...] style quoted ids */ +#define CC_PIPE 10 /* '|'. Bitwise OR or concatenate */ +#define CC_MINUS 11 /* '-'. Minus or SQL-style comment */ +#define CC_LT 12 /* '<'. Part of < or <= or <> */ +#define CC_GT 13 /* '>'. Part of > or >= */ +#define CC_EQ 14 /* '='. Part of = or == */ +#define CC_BANG 15 /* '!'. Part of != */ +#define CC_SLASH 16 /* '/'. / or c-style comment */ +#define CC_LP 17 /* '(' */ +#define CC_RP 18 /* ')' */ +#define CC_SEMI 19 /* ';' */ +#define CC_PLUS 20 /* '+' */ +#define CC_STAR 21 /* '*' */ +#define CC_PERCENT 22 /* '%' */ +#define CC_COMMA 23 /* ',' */ +#define CC_AND 24 /* '&' */ +#define CC_TILDA 25 /* '~' */ +#define CC_DOT 26 /* '.' */ +#define CC_ILLEGAL 27 /* Illegal character */ + +static const unsigned char aiClass[] = { +#ifdef SQLITE_ASCII +/* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf */ +/* 0x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 7, 7, 27, 7, 7, 27, 27, +/* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, +/* 2x */ 7, 15, 8, 5, 4, 22, 24, 8, 17, 18, 21, 20, 23, 11, 26, 16, +/* 3x */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 19, 12, 14, 13, 6, +/* 4x */ 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +/* 5x */ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 9, 27, 27, 27, 1, +/* 6x */ 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +/* 7x */ 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 27, 10, 27, 25, 27, +/* 8x */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +/* 9x */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +/* Ax */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +/* Bx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +/* Cx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +/* Dx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +/* Ex */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +/* Fx */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 +#endif +#ifdef SQLITE_EBCDIC +/* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf */ +/* 0x */ 27, 27, 27, 27, 27, 7, 27, 27, 27, 27, 27, 27, 7, 7, 27, 27, +/* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, +/* 2x */ 27, 27, 27, 27, 27, 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, +/* 3x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, +/* 4x */ 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 12, 17, 20, 10, +/* 5x */ 24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 15, 4, 21, 18, 19, 27, +/* 6x */ 11, 16, 27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 22, 1, 13, 7, +/* 7x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 8, 5, 5, 5, 8, 14, 8, +/* 8x */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, +/* 9x */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, +/* 9x */ 25, 1, 1, 1, 1, 1, 1, 0, 1, 1, 27, 27, 27, 27, 27, 27, +/* Bx */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 9, 27, 27, 27, 27, 27, +/* Cx */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, +/* Dx */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, +/* Ex */ 27, 27, 1, 1, 1, 1, 1, 0, 1, 1, 27, 27, 27, 27, 27, 27, +/* Fx */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27, 27, 27, 27, 27, 27, +#endif +}; + /* -** The charMap() macro maps alphabetic characters into their +** The charMap() macro maps alphabetic characters (only) into their ** lower-case ASCII equivalent. On ASCII machines, this is just ** an upper-to-lower case map. On EBCDIC machines we also need -** to adjust the encoding. Only alphabetic characters and underscores -** need to be translated. +** to adjust the encoding. The mapping is only valid for alphabetics +** which are the only characters for which this feature is used. +** +** Used by keywordhash.h */ #ifdef SQLITE_ASCII # define charMap(X) sqlite3UpperToLower[(unsigned char)X] @@ -130938,7 +131650,7 @@ const unsigned char ebcdicToAscii[] = { ** returned. If the input is not a keyword, TK_ID is returned. ** ** The implementation of this routine was generated by a program, -** mkkeywordhash.h, located in the tool subdirectory of the distribution. +** mkkeywordhash.c, located in the tool subdirectory of the distribution. ** The output of the mkkeywordhash.c program is written into a file ** named keywordhash.h and then included into this source file by ** the #include below. @@ -131079,138 +131791,147 @@ static int keywordCode(const char *z, int n, int *pType){ TK_JOIN_KW, TK_ROLLBACK, TK_ROW, TK_UNION, TK_USING, TK_VACUUM, TK_VIEW, TK_INITIALLY, TK_ALL, }; - int h, i; + int i, j; + const char *zKW; if( n>=2 ){ - h = ((charMap(z[0])*4) ^ (charMap(z[n-1])*3) ^ n) % 127; - for(i=((int)aHash[h])-1; i>=0; i=((int)aNext[i])-1){ - if( aLen[i]==n && sqlite3StrNICmp(&zText[aOffset[i]],z,n)==0 ){ - testcase( i==0 ); /* REINDEX */ - testcase( i==1 ); /* INDEXED */ - testcase( i==2 ); /* INDEX */ - testcase( i==3 ); /* DESC */ - testcase( i==4 ); /* ESCAPE */ - testcase( i==5 ); /* EACH */ - testcase( i==6 ); /* CHECK */ - testcase( i==7 ); /* KEY */ - testcase( i==8 ); /* BEFORE */ - testcase( i==9 ); /* FOREIGN */ - testcase( i==10 ); /* FOR */ - testcase( i==11 ); /* IGNORE */ - testcase( i==12 ); /* REGEXP */ - testcase( i==13 ); /* EXPLAIN */ - testcase( i==14 ); /* INSTEAD */ - testcase( i==15 ); /* ADD */ - testcase( i==16 ); /* DATABASE */ - testcase( i==17 ); /* AS */ - testcase( i==18 ); /* SELECT */ - testcase( i==19 ); /* TABLE */ - testcase( i==20 ); /* LEFT */ - testcase( i==21 ); /* THEN */ - testcase( i==22 ); /* END */ - testcase( i==23 ); /* DEFERRABLE */ - testcase( i==24 ); /* ELSE */ - testcase( i==25 ); /* EXCEPT */ - testcase( i==26 ); /* TRANSACTION */ - testcase( i==27 ); /* ACTION */ - testcase( i==28 ); /* ON */ - testcase( i==29 ); /* NATURAL */ - testcase( i==30 ); /* ALTER */ - testcase( i==31 ); /* RAISE */ - testcase( i==32 ); /* EXCLUSIVE */ - testcase( i==33 ); /* EXISTS */ - testcase( i==34 ); /* SAVEPOINT */ - testcase( i==35 ); /* INTERSECT */ - testcase( i==36 ); /* TRIGGER */ - testcase( i==37 ); /* REFERENCES */ - testcase( i==38 ); /* CONSTRAINT */ - testcase( i==39 ); /* INTO */ - testcase( i==40 ); /* OFFSET */ - testcase( i==41 ); /* OF */ - testcase( i==42 ); /* SET */ - testcase( i==43 ); /* TEMPORARY */ - testcase( i==44 ); /* TEMP */ - testcase( i==45 ); /* OR */ - testcase( i==46 ); /* UNIQUE */ - testcase( i==47 ); /* QUERY */ - testcase( i==48 ); /* WITHOUT */ - testcase( i==49 ); /* WITH */ - testcase( i==50 ); /* OUTER */ - testcase( i==51 ); /* RELEASE */ - testcase( i==52 ); /* ATTACH */ - testcase( i==53 ); /* HAVING */ - testcase( i==54 ); /* GROUP */ - testcase( i==55 ); /* UPDATE */ - testcase( i==56 ); /* BEGIN */ - testcase( i==57 ); /* INNER */ - testcase( i==58 ); /* RECURSIVE */ - testcase( i==59 ); /* BETWEEN */ - testcase( i==60 ); /* NOTNULL */ - testcase( i==61 ); /* NOT */ - testcase( i==62 ); /* NO */ - testcase( i==63 ); /* NULL */ - testcase( i==64 ); /* LIKE */ - testcase( i==65 ); /* CASCADE */ - testcase( i==66 ); /* ASC */ - testcase( i==67 ); /* DELETE */ - testcase( i==68 ); /* CASE */ - testcase( i==69 ); /* COLLATE */ - testcase( i==70 ); /* CREATE */ - testcase( i==71 ); /* CURRENT_DATE */ - testcase( i==72 ); /* DETACH */ - testcase( i==73 ); /* IMMEDIATE */ - testcase( i==74 ); /* JOIN */ - testcase( i==75 ); /* INSERT */ - testcase( i==76 ); /* MATCH */ - testcase( i==77 ); /* PLAN */ - testcase( i==78 ); /* ANALYZE */ - testcase( i==79 ); /* PRAGMA */ - testcase( i==80 ); /* ABORT */ - testcase( i==81 ); /* VALUES */ - testcase( i==82 ); /* VIRTUAL */ - testcase( i==83 ); /* LIMIT */ - testcase( i==84 ); /* WHEN */ - testcase( i==85 ); /* WHERE */ - testcase( i==86 ); /* RENAME */ - testcase( i==87 ); /* AFTER */ - testcase( i==88 ); /* REPLACE */ - testcase( i==89 ); /* AND */ - testcase( i==90 ); /* DEFAULT */ - testcase( i==91 ); /* AUTOINCREMENT */ - testcase( i==92 ); /* TO */ - testcase( i==93 ); /* IN */ - testcase( i==94 ); /* CAST */ - testcase( i==95 ); /* COLUMN */ - testcase( i==96 ); /* COMMIT */ - testcase( i==97 ); /* CONFLICT */ - testcase( i==98 ); /* CROSS */ - testcase( i==99 ); /* CURRENT_TIMESTAMP */ - testcase( i==100 ); /* CURRENT_TIME */ - testcase( i==101 ); /* PRIMARY */ - testcase( i==102 ); /* DEFERRED */ - testcase( i==103 ); /* DISTINCT */ - testcase( i==104 ); /* IS */ - testcase( i==105 ); /* DROP */ - testcase( i==106 ); /* FAIL */ - testcase( i==107 ); /* FROM */ - testcase( i==108 ); /* FULL */ - testcase( i==109 ); /* GLOB */ - testcase( i==110 ); /* BY */ - testcase( i==111 ); /* IF */ - testcase( i==112 ); /* ISNULL */ - testcase( i==113 ); /* ORDER */ - testcase( i==114 ); /* RESTRICT */ - testcase( i==115 ); /* RIGHT */ - testcase( i==116 ); /* ROLLBACK */ - testcase( i==117 ); /* ROW */ - testcase( i==118 ); /* UNION */ - testcase( i==119 ); /* USING */ - testcase( i==120 ); /* VACUUM */ - testcase( i==121 ); /* VIEW */ - testcase( i==122 ); /* INITIALLY */ - testcase( i==123 ); /* ALL */ - *pType = aCode[i]; - break; - } + i = ((charMap(z[0])*4) ^ (charMap(z[n-1])*3) ^ n) % 127; + for(i=((int)aHash[i])-1; i>=0; i=((int)aNext[i])-1){ + if( aLen[i]!=n ) continue; + j = 0; + zKW = &zText[aOffset[i]]; +#ifdef SQLITE_ASCII + while( j': { + case CC_GT: { if( (c=z[1])=='=' ){ *tokenType = TK_GE; return 2; @@ -131361,7 +132084,7 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ return 1; } } - case '!': { + case CC_BANG: { if( z[1]!='=' ){ *tokenType = TK_ILLEGAL; return 2; @@ -131370,7 +132093,7 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ return 2; } } - case '|': { + case CC_PIPE: { if( z[1]!='|' ){ *tokenType = TK_BITOR; return 1; @@ -131379,21 +132102,19 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ return 2; } } - case ',': { + case CC_COMMA: { *tokenType = TK_COMMA; return 1; } - case '&': { + case CC_AND: { *tokenType = TK_BITAND; return 1; } - case '~': { + case CC_TILDA: { *tokenType = TK_BITNOT; return 1; } - case '`': - case '\'': - case '"': { + case CC_QUOTE: { int delim = z[0]; testcase( delim=='`' ); testcase( delim=='\'' ); @@ -131418,7 +132139,7 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ return i; } } - case '.': { + case CC_DOT: { #ifndef SQLITE_OMIT_FLOATING_POINT if( !sqlite3Isdigit(z[1]) ) #endif @@ -131429,8 +132150,7 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ /* If the next character is a digit, this is a floating point ** number that begins with ".". Fall thru into the next case */ } - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': { + case CC_DIGIT: { testcase( z[0]=='0' ); testcase( z[0]=='1' ); testcase( z[0]=='2' ); testcase( z[0]=='3' ); testcase( z[0]=='4' ); testcase( z[0]=='5' ); testcase( z[0]=='6' ); testcase( z[0]=='7' ); testcase( z[0]=='8' ); @@ -131465,22 +132185,18 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ } return i; } - case '[': { + case CC_QUOTE2: { for(i=1, c=z[0]; c!=']' && (c=z[i])!=0; i++){} *tokenType = c==']' ? TK_ID : TK_ILLEGAL; return i; } - case '?': { + case CC_VARNUM: { *tokenType = TK_VARIABLE; for(i=1; sqlite3Isdigit(z[i]); i++){} return i; } -#ifndef SQLITE_OMIT_TCL_VARIABLE - case '$': -#endif - case '@': /* For compatibility with MS SQL Server */ - case '#': - case ':': { + case CC_DOLLAR: + case CC_VARALPHA: { int n = 0; testcase( z[0]=='$' ); testcase( z[0]=='@' ); testcase( z[0]==':' ); testcase( z[0]=='#' ); @@ -131509,8 +132225,20 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ if( n==0 ) *tokenType = TK_ILLEGAL; return i; } + case CC_KYWD: { + for(i=1; aiClass[z[i]]<=CC_KYWD; i++){} + if( IdChar(z[i]) ){ + /* This token started out using characters that can appear in keywords, + ** but z[i] is a character not allowed within keywords, so this must + ** be an identifier instead */ + i++; + break; + } + *tokenType = TK_ID; + return keywordCode((char*)z, i, tokenType); + } #ifndef SQLITE_OMIT_BLOB_LITERAL - case 'x': case 'X': { + case CC_X: { testcase( z[0]=='x' ); testcase( z[0]=='X' ); if( z[1]=='\'' ){ *tokenType = TK_BLOB; @@ -131522,20 +132250,22 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ if( z[i] ) i++; return i; } - /* Otherwise fall through to the next case */ + /* If it is not a BLOB literal, then it must be an ID, since no + ** SQL keywords start with the letter 'x'. Fall through */ } #endif + case CC_ID: { + i = 1; + break; + } default: { - if( !IdChar(*z) ){ - break; - } - for(i=1; IdChar(z[i]); i++){} - *tokenType = TK_ID; - return keywordCode((char*)z, i, tokenType); + *tokenType = TK_ILLEGAL; + return 1; } } - *tokenType = TK_ILLEGAL; - return 1; + while( IdChar(z[i]) ){ i++; } + *tokenType = TK_ID; + return i; } /* @@ -131551,7 +132281,6 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr void *pEngine; /* The LEMON-generated LALR(1) parser */ int tokenType; /* type of the next token */ int lastTokenParsed = -1; /* type of the previous token */ - u8 enableLookaside; /* Saved value of db->lookaside.bEnabled */ sqlite3 *db = pParse->db; /* The database connection */ int mxSqlLen; /* Max length of an SQL string */ @@ -131567,7 +132296,7 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr /* sqlite3ParserTrace(stdout, "parser: "); */ pEngine = sqlite3ParserAlloc(sqlite3Malloc); if( pEngine==0 ){ - db->mallocFailed = 1; + sqlite3OomFault(db); return SQLITE_NOMEM; } assert( pParse->pNewTable==0 ); @@ -131575,8 +132304,6 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr assert( pParse->nVar==0 ); assert( pParse->nzVar==0 ); assert( pParse->azVar==0 ); - enableLookaside = db->lookaside.bEnabled; - if( db->lookaside.pStart ) db->lookaside.bEnabled = 1; while( zSql[i]!=0 ){ assert( i>=0 ); pParse->sLastToken.z = &zSql[i]; @@ -131589,7 +132316,6 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr if( tokenType>=TK_SPACE ){ assert( tokenType==TK_SPACE || tokenType==TK_ILLEGAL ); if( db->u1.isInterrupted ){ - sqlite3ErrorMsg(pParse, "interrupt"); pParse->rc = SQLITE_INTERRUPT; break; } @@ -131624,7 +132350,6 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr sqlite3_mutex_leave(sqlite3MallocMutex()); #endif /* YYDEBUG */ sqlite3ParserFree(pEngine, sqlite3_free); - db->lookaside.bEnabled = enableLookaside; if( db->mallocFailed ){ pParse->rc = SQLITE_NOMEM; } @@ -132765,12 +133490,12 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){ p = (LookasideSlot*)&((u8*)p)[sz]; } db->lookaside.pEnd = p; - db->lookaside.bEnabled = 1; + db->lookaside.bDisable = 0; db->lookaside.bMalloced = pBuf==0 ?1:0; }else{ db->lookaside.pStart = db; db->lookaside.pEnd = db; - db->lookaside.bEnabled = 0; + db->lookaside.bDisable = 1; db->lookaside.bMalloced = 0; } #endif /* SQLITE_OMIT_LOOKASIDE */ @@ -133642,7 +134367,7 @@ SQLITE_PRIVATE int sqlite3CreateFunc( int nArg, int enc, void *pUserData, - void (*xFunc)(sqlite3_context*,int,sqlite3_value **), + void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), void (*xStep)(sqlite3_context*,int,sqlite3_value **), void (*xFinal)(sqlite3_context*), FuncDestructor *pDestructor @@ -133653,9 +134378,9 @@ SQLITE_PRIVATE int sqlite3CreateFunc( assert( sqlite3_mutex_held(db->mutex) ); if( zFunctionName==0 || - (xFunc && (xFinal || xStep)) || - (!xFunc && (xFinal && !xStep)) || - (!xFunc && (!xFinal && xStep)) || + (xSFunc && (xFinal || xStep)) || + (!xSFunc && (xFinal && !xStep)) || + (!xSFunc && (!xFinal && xStep)) || (nArg<-1 || nArg>SQLITE_MAX_FUNCTION_ARG) || (255<(nName = sqlite3Strlen30( zFunctionName))) ){ return SQLITE_MISUSE_BKPT; @@ -133678,10 +134403,10 @@ SQLITE_PRIVATE int sqlite3CreateFunc( }else if( enc==SQLITE_ANY ){ int rc; rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF8|extraFlags, - pUserData, xFunc, xStep, xFinal, pDestructor); + pUserData, xSFunc, xStep, xFinal, pDestructor); if( rc==SQLITE_OK ){ rc = sqlite3CreateFunc(db, zFunctionName, nArg, SQLITE_UTF16LE|extraFlags, - pUserData, xFunc, xStep, xFinal, pDestructor); + pUserData, xSFunc, xStep, xFinal, pDestructor); } if( rc!=SQLITE_OK ){ return rc; @@ -133725,8 +134450,7 @@ SQLITE_PRIVATE int sqlite3CreateFunc( p->pDestructor = pDestructor; p->funcFlags = (p->funcFlags & SQLITE_FUNC_ENCMASK) | extraFlags; testcase( p->funcFlags & SQLITE_DETERMINISTIC ); - p->xFunc = xFunc; - p->xStep = xStep; + p->xSFunc = xSFunc ? xSFunc : xStep; p->xFinalize = xFinal; p->pUserData = pUserData; p->nArg = (u16)nArg; @@ -133742,11 +134466,11 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function( int nArg, int enc, void *p, - void (*xFunc)(sqlite3_context*,int,sqlite3_value **), + void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), void (*xStep)(sqlite3_context*,int,sqlite3_value **), void (*xFinal)(sqlite3_context*) ){ - return sqlite3_create_function_v2(db, zFunc, nArg, enc, p, xFunc, xStep, + return sqlite3_create_function_v2(db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, 0); } @@ -133756,7 +134480,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( int nArg, int enc, void *p, - void (*xFunc)(sqlite3_context*,int,sqlite3_value **), + void (*xSFunc)(sqlite3_context*,int,sqlite3_value **), void (*xStep)(sqlite3_context*,int,sqlite3_value **), void (*xFinal)(sqlite3_context*), void (*xDestroy)(void *) @@ -133779,7 +134503,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function_v2( pArg->xDestroy = xDestroy; pArg->pUserData = p; } - rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, xFunc, xStep, xFinal, pArg); + rc = sqlite3CreateFunc(db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, pArg); if( pArg && pArg->nRef==0 ){ assert( rc!=SQLITE_OK ); xDestroy(p); @@ -133799,7 +134523,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( int nArg, int eTextRep, void *p, - void (*xFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xSFunc)(sqlite3_context*,int,sqlite3_value**), void (*xStep)(sqlite3_context*,int,sqlite3_value**), void (*xFinal)(sqlite3_context*) ){ @@ -133812,7 +134536,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_create_function16( sqlite3_mutex_enter(db->mutex); assert( !db->mallocFailed ); zFunc8 = sqlite3Utf16to8(db, zFunctionName, -1, SQLITE_UTF16NATIVE); - rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xFunc, xStep, xFinal,0); + rc = sqlite3CreateFunc(db, zFunc8, nArg, eTextRep, p, xSFunc,xStep,xFinal,0); sqlite3DbFree(db, zFunc8); rc = sqlite3ApiExit(db, rc); sqlite3_mutex_leave(db->mutex); @@ -134276,7 +135000,7 @@ SQLITE_API const void *SQLITE_STDCALL sqlite3_errmsg16(sqlite3 *db){ ** be cleared before returning. Do this directly, instead of via ** sqlite3ApiExit(), to avoid setting the database handle error message. */ - db->mallocFailed = 0; + sqlite3OomClear(db); } sqlite3_mutex_leave(db->mutex); return z; @@ -134914,7 +135638,7 @@ static int openDatabase( db->openFlags = flags; rc = sqlite3ParseUri(zVfs, zFilename, &flags, &db->pVfs, &zOpen, &zErrMsg); if( rc!=SQLITE_OK ){ - if( rc==SQLITE_NOMEM ) db->mallocFailed = 1; + if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); sqlite3ErrorWithMsg(db, rc, zErrMsg ? "%s" : 0, zErrMsg); sqlite3_free(zErrMsg); goto opendb_out; @@ -135634,7 +136358,7 @@ SQLITE_API int SQLITE_CDECL sqlite3_test_control(int op, ...){ */ case SQLITE_TESTCTRL_ASSERT: { volatile int x = 0; - assert( (x = va_arg(ap,int))!=0 ); + assert( /*side-effects-ok*/ (x = va_arg(ap,int))!=0 ); rc = x; break; } @@ -136668,6 +137392,12 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db){ # define NDEBUG 1 #endif +/* FTS3/FTS4 require virtual tables */ +#ifdef SQLITE_OMIT_VIRTUALTABLE +# undef SQLITE_ENABLE_FTS3 +# undef SQLITE_ENABLE_FTS4 +#endif + /* ** FTS4 is really an extension for FTS3. It is enabled using the ** SQLITE_ENABLE_FTS3 macro. But to avoid confusion we also all @@ -146164,6 +146894,7 @@ static void scalarFunc( nName = sqlite3_value_bytes(argv[0])+1; if( argc==2 ){ +#ifdef SQLITE_ENABLE_FTS3_TOKENIZER void *pOld; int n = sqlite3_value_bytes(argv[1]); if( zName==0 || n!=sizeof(pPtr) ){ @@ -146176,7 +146907,14 @@ static void scalarFunc( sqlite3_result_error(context, "out of memory", -1); return; } - }else{ +#else + sqlite3_result_error(context, "fts3tokenize: " + "disabled - rebuild with -DSQLITE_ENABLE_FTS3_TOKENIZER", -1 + ); + return; +#endif /* SQLITE_ENABLE_FTS3_TOKENIZER */ + }else + { if( zName ){ pPtr = sqlite3Fts3HashFind(pHash, zName, nName); } @@ -146425,6 +147163,7 @@ finish: Tcl_DecrRefCount(pRet); } +#ifdef SQLITE_ENABLE_FTS3_TOKENIZER static int registerTokenizer( sqlite3 *db, @@ -146446,6 +147185,8 @@ int registerTokenizer( return sqlite3_finalize(pStmt); } +#endif /* SQLITE_ENABLE_FTS3_TOKENIZER */ + static int queryTokenizer( @@ -146517,11 +147258,13 @@ static void intTestFunc( assert( 0==strcmp(sqlite3_errmsg(db), "unknown tokenizer: nosuchtokenizer") ); /* Test the storage function */ +#ifdef SQLITE_ENABLE_FTS3_TOKENIZER rc = registerTokenizer(db, "nosuchtokenizer", p1); assert( rc==SQLITE_OK ); rc = queryTokenizer(db, "nosuchtokenizer", &p2); assert( rc==SQLITE_OK ); assert( p2==p1 ); +#endif sqlite3_result_text(context, "ok", -1, SQLITE_STATIC); } @@ -161127,7 +161870,7 @@ static void *rbuMalloc(sqlite3rbu *p, int nByte){ void *pRet = 0; if( p->rc==SQLITE_OK ){ assert( nByte>0 ); - pRet = sqlite3_malloc(nByte); + pRet = sqlite3_malloc64(nByte); if( pRet==0 ){ p->rc = SQLITE_NOMEM; }else{ @@ -161173,8 +161916,8 @@ static char *rbuStrndup(const char *zStr, int *pRc){ assert( *pRc==SQLITE_OK ); if( zStr ){ - int nCopy = strlen(zStr) + 1; - zRet = (char*)sqlite3_malloc(nCopy); + size_t nCopy = strlen(zStr) + 1; + zRet = (char*)sqlite3_malloc64(nCopy); if( zRet ){ memcpy(zRet, zStr, nCopy); }else{ @@ -162522,7 +163265,7 @@ static int rbuCaptureWalRead(sqlite3rbu *pRbu, i64 iOff, int iAmt){ if( pRbu->nFrame==pRbu->nFrameAlloc ){ int nNew = (pRbu->nFrameAlloc ? pRbu->nFrameAlloc : 64) * 2; RbuFrame *aNew; - aNew = (RbuFrame*)sqlite3_realloc(pRbu->aFrame, nNew * sizeof(RbuFrame)); + aNew = (RbuFrame*)sqlite3_realloc64(pRbu->aFrame, nNew * sizeof(RbuFrame)); if( aNew==0 ) return SQLITE_NOMEM; pRbu->aFrame = aNew; pRbu->nFrameAlloc = nNew; @@ -162587,7 +163330,7 @@ static LPWSTR rbuWinUtf8ToUnicode(const char *zFilename){ if( nChar==0 ){ return 0; } - zWideFilename = sqlite3_malloc( nChar*sizeof(zWideFilename[0]) ); + zWideFilename = sqlite3_malloc64( nChar*sizeof(zWideFilename[0]) ); if( zWideFilename==0 ){ return 0; } @@ -163221,11 +163964,12 @@ SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_open( const char *zState ){ sqlite3rbu *p; - int nTarget = strlen(zTarget); - int nRbu = strlen(zRbu); - int nState = zState ? strlen(zState) : 0; + size_t nTarget = strlen(zTarget); + size_t nRbu = strlen(zRbu); + size_t nState = zState ? strlen(zState) : 0; + size_t nByte = sizeof(sqlite3rbu) + nTarget+1 + nRbu+1+ nState+1; - p = (sqlite3rbu*)sqlite3_malloc(sizeof(sqlite3rbu)+nTarget+1+nRbu+1+nState+1); + p = (sqlite3rbu*)sqlite3_malloc64(nByte); if( p ){ RbuState *pState = 0; @@ -163362,7 +164106,7 @@ SQLITE_API sqlite3 *SQLITE_STDCALL sqlite3rbu_db(sqlite3rbu *pRbu, int bRbu){ static void rbuEditErrmsg(sqlite3rbu *p){ if( p->rc==SQLITE_CONSTRAINT && p->zErrmsg ){ int i; - int nErrmsg = strlen(p->zErrmsg); + size_t nErrmsg = strlen(p->zErrmsg); for(i=0; i<(nErrmsg-8); i++){ if( memcmp(&p->zErrmsg[i], "rbu_imp_", 8)==0 ){ int nDel = 8; @@ -163826,7 +164570,7 @@ static int rbuVfsShmMap( if( eStage==RBU_STAGE_OAL || eStage==RBU_STAGE_MOVE ){ if( iRegion<=p->nShm ){ int nByte = (iRegion+1) * sizeof(char*); - char **apNew = (char**)sqlite3_realloc(p->apShm, nByte); + char **apNew = (char**)sqlite3_realloc64(p->apShm, nByte); if( apNew==0 ){ rc = SQLITE_NOMEM; }else{ @@ -163837,7 +164581,7 @@ static int rbuVfsShmMap( } if( rc==SQLITE_OK && p->apShm[iRegion]==0 ){ - char *pNew = (char*)sqlite3_malloc(szRegion); + char *pNew = (char*)sqlite3_malloc64(szRegion); if( pNew==0 ){ rc = SQLITE_NOMEM; }else{ @@ -163947,7 +164691,7 @@ static int rbuVfsOpen( ** the name of the *-wal file this db connection will use. SQLite ** happens to pass a pointer to this buffer when using xAccess() ** or xOpen() to operate on the *-wal file. */ - int n = strlen(zName); + int n = (int)strlen(zName); const char *z = &zName[n]; if( flags & SQLITE_OPEN_URI ){ int odd = 0; @@ -163973,8 +164717,8 @@ static int rbuVfsOpen( ** code ensures that the string passed to xOpen() is terminated by a ** pair of '\0' bytes in case the VFS attempts to extract a URI ** parameter from it. */ - int nCopy = strlen(zName); - char *zCopy = sqlite3_malloc(nCopy+2); + size_t nCopy = strlen(zName); + char *zCopy = sqlite3_malloc64(nCopy+2); if( zCopy ){ memcpy(zCopy, zName, nCopy); zCopy[nCopy-3] = 'o'; @@ -164203,13 +164947,13 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_create_vfs(const char *zName, const cha }; rbu_vfs *pNew = 0; /* Newly allocated VFS */ - int nName; int rc = SQLITE_OK; + size_t nName; + size_t nByte; - int nByte; nName = strlen(zName); nByte = sizeof(rbu_vfs) + nName + 1; - pNew = (rbu_vfs*)sqlite3_malloc(nByte); + pNew = (rbu_vfs*)sqlite3_malloc64(nByte); if( pNew==0 ){ rc = SQLITE_NOMEM; }else{ @@ -164403,7 +165147,9 @@ static int statConnect( int iDb; if( argc>=4 ){ - iDb = sqlite3FindDbName(db, argv[3]); + Token nm; + sqlite3TokenInit(&nm, (char*)argv[3]); + iDb = sqlite3FindDb(db, &nm); if( iDb<0 ){ *pzErr = sqlite3_mprintf("no such database: %s", argv[3]); return SQLITE_ERROR; @@ -164988,7 +165734,11 @@ SQLITE_EXTENSION_INIT1 /* #include */ /* #include */ -#define UNUSED_PARAM(X) (void)(X) +/* Mark a function parameter as unused, to suppress nuisance compiler +** warnings. */ +#ifndef UNUSED_PARAM +# define UNUSED_PARAM(X) (void)(X) +#endif #ifndef LARGEST_INT64 # define LARGEST_INT64 (0xffffffff|(((sqlite3_int64)0x7fffffff)<<32)) @@ -165233,10 +165983,33 @@ static void jsonAppendString(JsonString *p, const char *zIn, u32 N){ if( (N+p->nUsed+2 >= p->nAlloc) && jsonGrow(p,N+2)!=0 ) return; p->zBuf[p->nUsed++] = '"'; for(i=0; inUsed+N+3-i > p->nAlloc) && jsonGrow(p,N+3-i)!=0 ) return; p->zBuf[p->nUsed++] = '\\'; + }else if( c<=0x1f ){ + static const char aSpecial[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 'b', 't', 'n', 0, 'f', 'r', 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + assert( sizeof(aSpecial)==32 ); + assert( aSpecial['\b']=='b' ); + assert( aSpecial['\f']=='f' ); + assert( aSpecial['\n']=='n' ); + assert( aSpecial['\r']=='r' ); + assert( aSpecial['\t']=='t' ); + if( aSpecial[c] ){ + c = aSpecial[c]; + goto json_simple_escape; + } + if( (p->nUsed+N+7+i > p->nAlloc) && jsonGrow(p,N+7-i)!=0 ) return; + p->zBuf[p->nUsed++] = '\\'; + p->zBuf[p->nUsed++] = 'u'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0'; + p->zBuf[p->nUsed++] = '0' + (c>>4); + c = "0123456789abcdef"[c&0xf]; } p->zBuf[p->nUsed++] = c; } @@ -165277,7 +166050,7 @@ static void jsonAppendValue( default: { if( p->bErr==0 ){ sqlite3_result_error(p->pCtx, "JSON cannot hold BLOB values", -1); - p->bErr = 1; + p->bErr = 2; jsonReset(p); } break; @@ -166486,6 +167259,7 @@ static void jsonArrayStep( sqlite3_value **argv ){ JsonString *pStr; + UNUSED_PARAM(argc); pStr = (JsonString*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); if( pStr ){ if( pStr->zBuf==0 ){ @@ -166505,7 +167279,7 @@ static void jsonArrayFinal(sqlite3_context *ctx){ pStr->pCtx = ctx; jsonAppendChar(pStr, ']'); if( pStr->bErr ){ - sqlite3_result_error_nomem(ctx); + if( pStr->bErr==1 ) sqlite3_result_error_nomem(ctx); assert( pStr->bStatic ); }else{ sqlite3_result_text(ctx, pStr->zBuf, pStr->nUsed, @@ -166531,6 +167305,7 @@ static void jsonObjectStep( JsonString *pStr; const char *z; u32 n; + UNUSED_PARAM(argc); pStr = (JsonString*)sqlite3_aggregate_context(ctx, sizeof(*pStr)); if( pStr ){ if( pStr->zBuf==0 ){ @@ -166553,7 +167328,7 @@ static void jsonObjectFinal(sqlite3_context *ctx){ if( pStr ){ jsonAppendChar(pStr, '}'); if( pStr->bErr ){ - sqlite3_result_error_nomem(ctx); + if( pStr->bErr==0 ) sqlite3_result_error_nomem(ctx); assert( pStr->bStatic ); }else{ sqlite3_result_text(ctx, pStr->zBuf, pStr->nUsed, @@ -167218,6 +167993,9 @@ struct Fts5PhraseIter { ** an OOM condition or IO error), an appropriate SQLite error code is ** returned. ** +** This function may be quite inefficient if used with an FTS5 table +** created with the "columnsize=0" option. +** ** xColumnText: ** This function attempts to retrieve the text of column iCol of the ** current document. If successful, (*pz) is set to point to a buffer @@ -167238,15 +168016,29 @@ struct Fts5PhraseIter { ** the query within the current row. Return SQLITE_OK if successful, or ** an error code (i.e. SQLITE_NOMEM) if an error occurs. ** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always returns 0. +** ** xInst: ** Query for the details of phrase match iIdx within the current row. ** Phrase matches are numbered starting from zero, so the iIdx argument ** should be greater than or equal to zero and smaller than the value ** output by xInstCount(). ** +** Usually, output parameter *piPhrase is set to the phrase number, *piCol +** to the column in which it occurs and *piOff the token offset of the +** first token of the phrase. The exception is if the table was created +** with the offsets=0 option specified. In this case *piOff is always +** set to -1. +** ** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM) ** if an error occurs. ** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. +** ** xRowid: ** Returns the rowid of the current row. ** @@ -167330,7 +168122,7 @@ struct Fts5PhraseIter { ** Fts5PhraseIter iter; ** int iCol, iOff; ** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff); -** iOff>=0; +** iCol>=0; ** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff) ** ){ ** // An instance of phrase iPhrase at offset iOff of column iCol @@ -167338,13 +168130,51 @@ struct Fts5PhraseIter { ** ** The Fts5PhraseIter structure is defined above. Applications should not ** modify this structure directly - it should only be used as shown above -** with the xPhraseFirst() and xPhraseNext() API methods. +** with the xPhraseFirst() and xPhraseNext() API methods (and by +** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below). +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always iterates +** through an empty set (all calls to xPhraseFirst() set iCol to -1). ** ** xPhraseNext() ** See xPhraseFirst above. +** +** xPhraseFirstColumn() +** This function and xPhraseNextColumn() are similar to the xPhraseFirst() +** and xPhraseNext() APIs described above. The difference is that instead +** of iterating through all instances of a phrase in the current row, these +** APIs are used to iterate through the set of columns in the current row +** that contain one or more instances of a specified phrase. For example: +** +** Fts5PhraseIter iter; +** int iCol; +** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol); +** iCol>=0; +** pApi->xPhraseNextColumn(pFts, &iter, &iCol) +** ){ +** // Column iCol contains at least one instance of phrase iPhrase +** } +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" option. If the FTS5 table is created with either +** "detail=none" "content=" option (i.e. if it is a contentless table), +** then this API always iterates through an empty set (all calls to +** xPhraseFirstColumn() set iCol to -1). +** +** The information accessed using this API and its companion +** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext +** (or xInst/xInstCount). The chief advantage of this API is that it is +** significantly more efficient than those alternatives when used with +** "detail=column" tables. +** +** xPhraseNextColumn() +** See xPhraseFirstColumn above. */ struct Fts5ExtensionApi { - int iVersion; /* Currently always set to 1 */ + int iVersion; /* Currently always set to 3 */ void *(*xUserData)(Fts5Context*); @@ -167374,8 +168204,11 @@ struct Fts5ExtensionApi { int (*xSetAuxdata)(Fts5Context*, void *pAux, void(*xDelete)(void*)); void *(*xGetAuxdata)(Fts5Context*, int bClear); - void (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); + int (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); void (*xPhraseNext)(Fts5Context*, Fts5PhraseIter*, int *piCol, int *piOff); + + int (*xPhraseFirstColumn)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*); + void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*, int *piCol); }; /* @@ -167681,10 +168514,11 @@ SQLITE_EXTENSION_INIT1 typedef unsigned char u8; typedef unsigned int u32; typedef unsigned short u16; +typedef short i16; typedef sqlite3_int64 i64; typedef sqlite3_uint64 u64; -#define ArraySize(x) (sizeof(x) / sizeof(x[0])) +#define ArraySize(x) ((int)(sizeof(x) / sizeof(x[0]))) #define testcase(x) #define ALWAYS(x) 1 @@ -167735,6 +168569,16 @@ SQLITE_API extern int sqlite3_fts5_may_be_corrupt; # define assert_nc(x) assert(x) #endif +/* Mark a function parameter as unused, to suppress nuisance compiler +** warnings. */ +#ifndef UNUSED_PARAM +# define UNUSED_PARAM(X) (void)(X) +#endif + +#ifndef UNUSED_PARAM2 +# define UNUSED_PARAM2(X, Y) (void)(X), (void)(Y) +#endif + typedef struct Fts5Global Fts5Global; typedef struct Fts5Colset Fts5Colset; @@ -167806,6 +168650,7 @@ struct Fts5Config { char *zContent; /* content table */ char *zContentRowid; /* "content_rowid=" option value */ int bColumnsize; /* "columnsize=" option value (dflt==1) */ + int eDetail; /* FTS5_DETAIL_XXX value */ char *zContentExprlist; Fts5Tokenizer *pTok; fts5_tokenizer *pTokApi; @@ -167834,6 +168679,9 @@ struct Fts5Config { #define FTS5_CONTENT_NONE 1 #define FTS5_CONTENT_EXTERNAL 2 +#define FTS5_DETAIL_FULL 0 +#define FTS5_DETAIL_NONE 1 +#define FTS5_DETAIL_COLUMNS 2 @@ -167880,9 +168728,9 @@ struct Fts5Buffer { int nSpace; }; -static int sqlite3Fts5BufferSize(int*, Fts5Buffer*, int); +static int sqlite3Fts5BufferSize(int*, Fts5Buffer*, u32); static void sqlite3Fts5BufferAppendVarint(int*, Fts5Buffer*, i64); -static void sqlite3Fts5BufferAppendBlob(int*, Fts5Buffer*, int, const u8*); +static void sqlite3Fts5BufferAppendBlob(int*, Fts5Buffer*, u32, const u8*); static void sqlite3Fts5BufferAppendString(int *, Fts5Buffer*, const char*); static void sqlite3Fts5BufferFree(Fts5Buffer*); static void sqlite3Fts5BufferZero(Fts5Buffer*); @@ -167898,7 +168746,7 @@ static char *sqlite3Fts5Mprintf(int *pRc, const char *zFmt, ...); #define fts5BufferSet(a,b,c,d) sqlite3Fts5BufferSet(a,b,c,d) #define fts5BufferGrow(pRc,pBuf,nn) ( \ - (pBuf)->n + (nn) <= (pBuf)->nSpace ? 0 : \ + (u32)((pBuf)->n) + (u32)(nn) <= (u32)((pBuf)->nSpace) ? 0 : \ sqlite3Fts5BufferSize((pRc),(pBuf),(nn)+(pBuf)->n) \ ) @@ -167933,6 +168781,7 @@ struct Fts5PoslistWriter { i64 iPrev; }; static int sqlite3Fts5PoslistWriterAppend(Fts5Buffer*, Fts5PoslistWriter*, i64); +static void sqlite3Fts5PoslistSafeAppend(Fts5Buffer*, i64*, i64); static int sqlite3Fts5PoslistNext64( const u8 *a, int n, /* Buffer containing poslist */ @@ -167947,6 +168796,13 @@ static char *sqlite3Fts5Strndup(int *pRc, const char *pIn, int nIn); /* Character set tests (like isspace(), isalpha() etc.) */ static int sqlite3Fts5IsBareword(char t); + +/* Bucket of terms object used by the integrity-check in offsets=0 mode. */ +typedef struct Fts5Termset Fts5Termset; +static int sqlite3Fts5TermsetNew(Fts5Termset**); +static int sqlite3Fts5TermsetAdd(Fts5Termset*, int, const char*, int, int *pbPresent); +static void sqlite3Fts5TermsetFree(Fts5Termset*); + /* ** End of interface to code in fts5_buffer.c. **************************************************************************/ @@ -167959,6 +168815,15 @@ static int sqlite3Fts5IsBareword(char t); typedef struct Fts5Index Fts5Index; typedef struct Fts5IndexIter Fts5IndexIter; +struct Fts5IndexIter { + i64 iRowid; + const u8 *pData; + int nData; + u8 bEof; +}; + +#define sqlite3Fts5IterEof(x) ((x)->bEof) + /* ** Values used as part of the flags argument passed to IndexQuery(). */ @@ -167967,6 +168832,12 @@ typedef struct Fts5IndexIter Fts5IndexIter; #define FTS5INDEX_QUERY_TEST_NOIDX 0x0004 /* Do not use prefix index */ #define FTS5INDEX_QUERY_SCAN 0x0008 /* Scan query (fts5vocab) */ +/* The following are used internally by the fts5_index.c module. They are +** defined here only to make it easier to avoid clashes with the flags +** above. */ +#define FTS5INDEX_QUERY_SKIPEMPTY 0x0010 +#define FTS5INDEX_QUERY_NOOUTPUT 0x0020 + /* ** Create/destroy an Fts5Index object. */ @@ -167974,14 +168845,27 @@ static int sqlite3Fts5IndexOpen(Fts5Config *pConfig, int bCreate, Fts5Index**, c static int sqlite3Fts5IndexClose(Fts5Index *p); /* -** for( -** sqlite3Fts5IndexQuery(p, "token", 5, 0, 0, &pIter); -** 0==sqlite3Fts5IterEof(pIter); -** sqlite3Fts5IterNext(pIter) -** ){ -** i64 iRowid = sqlite3Fts5IterRowid(pIter); -** } +** Return a simple checksum value based on the arguments. */ +static u64 sqlite3Fts5IndexEntryCksum( + i64 iRowid, + int iCol, + int iPos, + int iIdx, + const char *pTerm, + int nTerm +); + +/* +** Argument p points to a buffer containing utf-8 text that is n bytes in +** size. Return the number of bytes in the nChar character prefix of the +** buffer, or 0 if there are less than nChar characters in total. +*/ +static int sqlite3Fts5IndexCharlenToBytelen( + const char *p, + int nByte, + int nChar +); /* ** Open a new iterator to iterate though all rowids that match the @@ -167999,12 +168883,8 @@ static int sqlite3Fts5IndexQuery( ** The various operations on open token or token prefix iterators opened ** using sqlite3Fts5IndexQuery(). */ -static int sqlite3Fts5IterEof(Fts5IndexIter*); static int sqlite3Fts5IterNext(Fts5IndexIter*); static int sqlite3Fts5IterNextFrom(Fts5IndexIter*, i64 iMatch); -static i64 sqlite3Fts5IterRowid(Fts5IndexIter*); -static int sqlite3Fts5IterPoslist(Fts5IndexIter*,Fts5Colset*, const u8**, int*, i64*); -static int sqlite3Fts5IterPoslistBuffer(Fts5IndexIter *pIter, Fts5Buffer *pBuf); /* ** Close an iterator opened by sqlite3Fts5IndexQuery(). @@ -168068,7 +168948,6 @@ static int sqlite3Fts5IndexSetAverages(Fts5Index *p, const u8*, int); /* ** Functions called by the storage module as part of integrity-check. */ -static u64 sqlite3Fts5IndexCksum(Fts5Config*,i64,int,int,const char*,int); static int sqlite3Fts5IndexIntegrityCheck(Fts5Index*, u64 cksum); /* @@ -168147,7 +169026,7 @@ typedef struct Fts5Hash Fts5Hash; /* ** Create a hash table, free a hash table. */ -static int sqlite3Fts5HashNew(Fts5Hash**, int *pnSize); +static int sqlite3Fts5HashNew(Fts5Config*, Fts5Hash**, int *pnSize); static void sqlite3Fts5HashFree(Fts5Hash*); static int sqlite3Fts5HashWrite( @@ -168206,7 +169085,7 @@ static int sqlite3Fts5StorageRename(Fts5Storage*, const char *zName); static int sqlite3Fts5DropAll(Fts5Config*); static int sqlite3Fts5CreateTable(Fts5Config*, const char*, const char*, int, char **); -static int sqlite3Fts5StorageDelete(Fts5Storage *p, i64); +static int sqlite3Fts5StorageDelete(Fts5Storage *p, i64, sqlite3_value**); static int sqlite3Fts5StorageContentInsert(Fts5Storage *p, sqlite3_value**, i64*); static int sqlite3Fts5StorageIndexInsert(Fts5Storage *p, sqlite3_value**, i64); @@ -168226,8 +169105,6 @@ static int sqlite3Fts5StorageConfigValue( Fts5Storage *p, const char*, sqlite3_value*, int ); -static int sqlite3Fts5StorageSpecialDelete(Fts5Storage *p, i64 iDel, sqlite3_value**); - static int sqlite3Fts5StorageDeleteAll(Fts5Storage *p); static int sqlite3Fts5StorageRebuild(Fts5Storage *p); static int sqlite3Fts5StorageOptimize(Fts5Storage *p); @@ -168284,7 +169161,17 @@ static int sqlite3Fts5ExprPhraseCount(Fts5Expr*); static int sqlite3Fts5ExprPhraseSize(Fts5Expr*, int iPhrase); static int sqlite3Fts5ExprPoslist(Fts5Expr*, int, const u8 **); -static int sqlite3Fts5ExprClonePhrase(Fts5Config*, Fts5Expr*, int, Fts5Expr**); +typedef struct Fts5PoslistPopulator Fts5PoslistPopulator; +static Fts5PoslistPopulator *sqlite3Fts5ExprClearPoslists(Fts5Expr*, int); +static int sqlite3Fts5ExprPopulatePoslists( + Fts5Config*, Fts5Expr*, Fts5PoslistPopulator*, int, const char*, int +); +static void sqlite3Fts5ExprCheckPoslists(Fts5Expr*, i64); +static void sqlite3Fts5ExprClearEof(Fts5Expr*); + +static int sqlite3Fts5ExprClonePhrase(Fts5Expr*, int, Fts5Expr**); + +static int sqlite3Fts5ExprPhraseCollist(Fts5Expr *, int, const u8 **, int *); /******************************************* ** The fts5_expr.c API above this point is used by the other hand-written @@ -169073,7 +169960,8 @@ static void fts5yyStackOverflow(fts5yyParser *fts5yypParser, fts5YYMINORTYPE *ft ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - assert( 0 ); + UNUSED_PARAM(fts5yypMinor); /* Silence a compiler warning */ + sqlite3Fts5ParseError(pParse, "fts5: parser stack overflow"); /******** End %stack_overflow code ********************************************/ sqlite3Fts5ParserARG_STORE; /* Suppress warning about unused %extra_argument var */ } @@ -169370,6 +170258,7 @@ static void fts5yy_syntax_error( #define FTS5TOKEN (fts5yyminor.fts5yy0) /************ Begin %syntax_error code ****************************************/ + UNUSED_PARAM(fts5yymajor); /* Silence a compiler warning */ sqlite3Fts5ParseError( pParse, "fts5: syntax error near \"%.*s\"",FTS5TOKEN.n,FTS5TOKEN.p ); @@ -169747,6 +170636,8 @@ static int fts5HighlightCb( int rc = SQLITE_OK; int iPos; + UNUSED_PARAM2(pToken, nToken); + if( tflags & FTS5_TOKEN_COLOCATED ) return SQLITE_OK; iPos = p->iPos++; @@ -169980,6 +170871,7 @@ static int fts5CountCb( void *pUserData /* Pointer to sqlite3_int64 variable */ ){ sqlite3_int64 *pn = (sqlite3_int64*)pUserData; + UNUSED_PARAM2(pApi, pFts); (*pn)++; return SQLITE_OK; } @@ -170133,7 +171025,7 @@ static int sqlite3Fts5AuxInit(fts5_api *pApi){ int rc = SQLITE_OK; /* Return code */ int i; /* To iterate through builtin functions */ - for(i=0; rc==SQLITE_OK && i<(int)ArraySize(aBuiltin); i++){ + for(i=0; rc==SQLITE_OK && ixCreateFunction(pApi, aBuiltin[i].zFunc, aBuiltin[i].pUserData, @@ -170164,19 +171056,21 @@ static int sqlite3Fts5AuxInit(fts5_api *pApi){ /* #include "fts5Int.h" */ -static int sqlite3Fts5BufferSize(int *pRc, Fts5Buffer *pBuf, int nByte){ - int nNew = pBuf->nSpace ? pBuf->nSpace*2 : 64; - u8 *pNew; - while( nNewp, nNew); - if( pNew==0 ){ - *pRc = SQLITE_NOMEM; - return 1; - }else{ - pBuf->nSpace = nNew; - pBuf->p = pNew; +static int sqlite3Fts5BufferSize(int *pRc, Fts5Buffer *pBuf, u32 nByte){ + if( (u32)pBuf->nSpacenSpace ? pBuf->nSpace : 64; + u8 *pNew; + while( nNewp, nNew); + if( pNew==0 ){ + *pRc = SQLITE_NOMEM; + return 1; + }else{ + pBuf->nSpace = nNew; + pBuf->p = pNew; + } } return 0; } @@ -170210,10 +171104,10 @@ static int sqlite3Fts5Get32(const u8 *aBuf){ static void sqlite3Fts5BufferAppendBlob( int *pRc, Fts5Buffer *pBuf, - int nData, + u32 nData, const u8 *pData ){ - assert( *pRc || nData>=0 ); + assert_nc( *pRc || nData>=0 ); if( fts5BufferGrow(pRc, pBuf, nData) ) return; memcpy(&pBuf->p[pBuf->n], pData, nData); pBuf->n += nData; @@ -170357,23 +171251,36 @@ static int sqlite3Fts5PoslistReaderInit( return pIter->bEof; } -static int sqlite3Fts5PoslistWriterAppend( +/* +** Append position iPos to the position list being accumulated in buffer +** pBuf, which must be already be large enough to hold the new data. +** The previous position written to this list is *piPrev. *piPrev is set +** to iPos before returning. +*/ +static void sqlite3Fts5PoslistSafeAppend( Fts5Buffer *pBuf, - Fts5PoslistWriter *pWriter, + i64 *piPrev, i64 iPos ){ static const i64 colmask = ((i64)(0x7FFFFFFF)) << 32; - int rc = SQLITE_OK; - if( 0==fts5BufferGrow(&rc, pBuf, 5+5+5) ){ - if( (iPos & colmask) != (pWriter->iPrev & colmask) ){ - pBuf->p[pBuf->n++] = 1; - pBuf->n += sqlite3Fts5PutVarint(&pBuf->p[pBuf->n], (iPos>>32)); - pWriter->iPrev = (iPos & colmask); - } - pBuf->n += sqlite3Fts5PutVarint(&pBuf->p[pBuf->n], (iPos-pWriter->iPrev)+2); - pWriter->iPrev = iPos; + if( (iPos & colmask) != (*piPrev & colmask) ){ + pBuf->p[pBuf->n++] = 1; + pBuf->n += sqlite3Fts5PutVarint(&pBuf->p[pBuf->n], (iPos>>32)); + *piPrev = (iPos & colmask); } - return rc; + pBuf->n += sqlite3Fts5PutVarint(&pBuf->p[pBuf->n], (iPos-*piPrev)+2); + *piPrev = iPos; +} + +static int sqlite3Fts5PoslistWriterAppend( + Fts5Buffer *pBuf, + Fts5PoslistWriter *pWriter, + i64 iPos +){ + int rc = 0; /* Initialized only to suppress erroneous warning from Clang */ + if( fts5BufferGrow(&rc, pBuf, 5+5+5) ) return rc; + sqlite3Fts5PoslistSafeAppend(pBuf, &pWriter->iPrev, iPos); + return SQLITE_OK; } static void *sqlite3Fts5MallocZero(int *pRc, int nByte){ @@ -170441,6 +171348,89 @@ static int sqlite3Fts5IsBareword(char t){ } +/************************************************************************* +*/ +typedef struct Fts5TermsetEntry Fts5TermsetEntry; +struct Fts5TermsetEntry { + char *pTerm; + int nTerm; + int iIdx; /* Index (main or aPrefix[] entry) */ + Fts5TermsetEntry *pNext; +}; + +struct Fts5Termset { + Fts5TermsetEntry *apHash[512]; +}; + +static int sqlite3Fts5TermsetNew(Fts5Termset **pp){ + int rc = SQLITE_OK; + *pp = sqlite3Fts5MallocZero(&rc, sizeof(Fts5Termset)); + return rc; +} + +static int sqlite3Fts5TermsetAdd( + Fts5Termset *p, + int iIdx, + const char *pTerm, int nTerm, + int *pbPresent +){ + int rc = SQLITE_OK; + *pbPresent = 0; + if( p ){ + int i; + u32 hash = 13; + Fts5TermsetEntry *pEntry; + + /* Calculate a hash value for this term. This is the same hash checksum + ** used by the fts5_hash.c module. This is not important for correct + ** operation of the module, but is necessary to ensure that some tests + ** designed to produce hash table collisions really do work. */ + for(i=nTerm-1; i>=0; i--){ + hash = (hash << 3) ^ hash ^ pTerm[i]; + } + hash = (hash << 3) ^ hash ^ iIdx; + hash = hash % ArraySize(p->apHash); + + for(pEntry=p->apHash[hash]; pEntry; pEntry=pEntry->pNext){ + if( pEntry->iIdx==iIdx + && pEntry->nTerm==nTerm + && memcmp(pEntry->pTerm, pTerm, nTerm)==0 + ){ + *pbPresent = 1; + break; + } + } + + if( pEntry==0 ){ + pEntry = sqlite3Fts5MallocZero(&rc, sizeof(Fts5TermsetEntry) + nTerm); + if( pEntry ){ + pEntry->pTerm = (char*)&pEntry[1]; + pEntry->nTerm = nTerm; + pEntry->iIdx = iIdx; + memcpy(pEntry->pTerm, pTerm, nTerm); + pEntry->pNext = p->apHash[hash]; + p->apHash[hash] = pEntry; + } + } + } + + return rc; +} + +static void sqlite3Fts5TermsetFree(Fts5Termset *p){ + if( p ){ + u32 i; + for(i=0; iapHash); i++){ + Fts5TermsetEntry *pEntry = p->apHash[i]; + while( pEntry ){ + Fts5TermsetEntry *pDel = pEntry; + pEntry = pEntry->pNext; + sqlite3_free(pDel); + } + } + sqlite3_free(p); + } +} /* ** 2014 Jun 09 @@ -170458,7 +171448,6 @@ static int sqlite3Fts5IsBareword(char t){ */ - /* #include "fts5Int.h" */ #define FTS5_DEFAULT_PAGE_SIZE 4050 @@ -170639,6 +171628,33 @@ static void sqlite3Fts5Dequote(char *z){ } } + +struct Fts5Enum { + const char *zName; + int eVal; +}; +typedef struct Fts5Enum Fts5Enum; + +static int fts5ConfigSetEnum( + const Fts5Enum *aEnum, + const char *zEnum, + int *peVal +){ + int nEnum = (int)strlen(zEnum); + int i; + int iVal = -1; + + for(i=0; aEnum[i].zName; i++){ + if( sqlite3_strnicmp(aEnum[i].zName, zEnum, nEnum)==0 ){ + if( iVal>=0 ) return SQLITE_ERROR; + iVal = aEnum[i].eVal; + } + } + + *peVal = iVal; + return iVal<0 ? SQLITE_ERROR : SQLITE_OK; +} + /* ** Parse a "special" CREATE VIRTUAL TABLE directive and update ** configuration object pConfig as appropriate. @@ -170696,7 +171712,7 @@ static int fts5ConfigParseSpecial( p++; } - if( rc==SQLITE_OK && (nPre<=0 || nPre>=1000) ){ + if( nPre<=0 || nPre>=1000 ){ *pzErr = sqlite3_mprintf("prefix length out of range (max 999)"); rc = SQLITE_ERROR; break; @@ -170789,6 +171805,20 @@ static int fts5ConfigParseSpecial( return rc; } + if( sqlite3_strnicmp("detail", zCmd, nCmd)==0 ){ + const Fts5Enum aDetail[] = { + { "none", FTS5_DETAIL_NONE }, + { "full", FTS5_DETAIL_FULL }, + { "columns", FTS5_DETAIL_COLUMNS }, + { 0, 0 } + }; + + if( (rc = fts5ConfigSetEnum(aDetail, zArg, &pConfig->eDetail)) ){ + *pzErr = sqlite3_mprintf("malformed detail=... directive"); + } + return rc; + } + *pzErr = sqlite3_mprintf("unrecognized option: \"%.*s\"", nCmd, zCmd); return SQLITE_ERROR; } @@ -170944,6 +171974,7 @@ static int sqlite3Fts5ConfigParse( pRet->zDb = sqlite3Fts5Strndup(&rc, azArg[1], -1); pRet->zName = sqlite3Fts5Strndup(&rc, azArg[2], -1); pRet->bColumnsize = 1; + pRet->eDetail = FTS5_DETAIL_FULL; #ifdef SQLITE_DEBUG pRet->bPrefixIndex = 1; #endif @@ -171347,7 +172378,6 @@ static int sqlite3Fts5ConfigLoad(Fts5Config *pConfig, int iCookie){ return rc; } - /* ** 2014 May 31 ** @@ -171390,6 +172420,7 @@ static void sqlite3Fts5ParserTrace(FILE*, char*); struct Fts5Expr { Fts5Index *pIndex; + Fts5Config *pConfig; Fts5ExprNode *pRoot; int bDesc; /* Iterate in descending rowid order */ int nPhrase; /* Number of phrases in expression */ @@ -171411,6 +172442,9 @@ struct Fts5ExprNode { int bEof; /* True at EOF */ int bNomatch; /* True if entry is not a match */ + /* Next method for this node. */ + int (*xNext)(Fts5Expr*, Fts5ExprNode*, int, i64); + i64 iRowid; /* Current rowid */ Fts5ExprNearset *pNear; /* For FTS5_STRING - cluster of phrases */ @@ -171422,6 +172456,12 @@ struct Fts5ExprNode { #define Fts5NodeIsString(p) ((p)->eType==FTS5_TERM || (p)->eType==FTS5_STRING) +/* +** Invoke the xNext method of an Fts5ExprNode object. This macro should be +** used as if it has the same signature as the xNext() methods themselves. +*/ +#define fts5ExprNodeNext(a,b,c,d) (b)->xNext((a), (b), (c), (d)) + /* ** An instance of the following structure represents a single search term ** or term prefix. @@ -171583,8 +172623,17 @@ static int sqlite3Fts5ExprNew( sParse.rc = SQLITE_NOMEM; sqlite3Fts5ParseNodeFree(sParse.pExpr); }else{ - pNew->pRoot = sParse.pExpr; + if( !sParse.pExpr ){ + const int nByte = sizeof(Fts5ExprNode); + pNew->pRoot = (Fts5ExprNode*)sqlite3Fts5MallocZero(&sParse.rc, nByte); + if( pNew->pRoot ){ + pNew->pRoot->bEof = 1; + } + }else{ + pNew->pRoot = sParse.pExpr; + } pNew->pIndex = 0; + pNew->pConfig = pConfig; pNew->apExprPhrase = sParse.apPhrase; pNew->nPhrase = sParse.nPhrase; sParse.apPhrase = 0; @@ -171634,7 +172683,7 @@ static i64 fts5ExprSynonymRowid(Fts5ExprTerm *pTerm, int bDesc, int *pbEof){ assert( bDesc==0 || bDesc==1 ); for(p=pTerm; p; p=p->pSynonym){ if( 0==sqlite3Fts5IterEof(p->pIter) ){ - i64 iRowid = sqlite3Fts5IterRowid(p->pIter); + i64 iRowid = p->pIter->iRowid; if( bRetValid==0 || (bDesc!=(iRowidpSynonym ); for(p=pTerm; p; p=p->pSynonym){ Fts5IndexIter *pIter = p->pIter; - if( sqlite3Fts5IterEof(pIter)==0 && sqlite3Fts5IterRowid(pIter)==iRowid ){ - const u8 *a; - int n; - i64 dummy; - rc = sqlite3Fts5IterPoslist(pIter, pColset, &a, &n, &dummy); - if( rc!=SQLITE_OK ) goto synonym_poslist_out; + if( sqlite3Fts5IterEof(pIter)==0 && pIter->iRowid==iRowid ){ + if( pIter->nData==0 ) continue; if( nIter==nAlloc ){ int nByte = sizeof(Fts5PoslistReader) * nAlloc * 2; Fts5PoslistReader *aNew = (Fts5PoslistReader*)sqlite3_malloc(nByte); @@ -171684,20 +172728,19 @@ static int fts5ExprSynonymPoslist( if( aIter!=aStatic ) sqlite3_free(aIter); aIter = aNew; } - sqlite3Fts5PoslistReaderInit(a, n, &aIter[nIter]); + sqlite3Fts5PoslistReaderInit(pIter->pData, pIter->nData, &aIter[nIter]); assert( aIter[nIter].bEof==0 ); nIter++; } } - assert( *pbDel==0 ); if( nIter==1 ){ *pa = (u8*)aIter[0].a; *pn = aIter[0].n; }else{ Fts5PoslistWriter writer = {0}; - Fts5Buffer buf = {0,0,0}; i64 iPrev = -1; + fts5BufferZero(pBuf); while( 1 ){ int i; i64 iMin = FTS5_LARGEST_INT64; @@ -171712,15 +172755,12 @@ static int fts5ExprSynonymPoslist( } } if( iMin==FTS5_LARGEST_INT64 || rc!=SQLITE_OK ) break; - rc = sqlite3Fts5PoslistWriterAppend(&buf, &writer, iMin); + rc = sqlite3Fts5PoslistWriterAppend(pBuf, &writer, iMin); iPrev = iMin; } - if( rc ){ - sqlite3_free(buf.p); - }else{ - *pa = buf.p; - *pn = buf.n; - *pbDel = 1; + if( rc==SQLITE_OK ){ + *pa = pBuf->p; + *pn = pBuf->n; } } @@ -171743,7 +172783,6 @@ static int fts5ExprSynonymPoslist( */ static int fts5ExprPhraseIsMatch( Fts5ExprNode *pNode, /* Node pPhrase belongs to */ - Fts5Colset *pColset, /* Restrict matches to these columns */ Fts5ExprPhrase *pPhrase, /* Phrase object to initialize */ int *pbMatch /* OUT: Set to true if really a match */ ){ @@ -171757,7 +172796,7 @@ static int fts5ExprPhraseIsMatch( /* If the aStatic[] array is not large enough, allocate a large array ** using sqlite3_malloc(). This approach could be improved upon. */ - if( pPhrase->nTerm>(int)ArraySize(aStatic) ){ + if( pPhrase->nTerm>ArraySize(aStatic) ){ int nByte = sizeof(Fts5PoslistReader) * pPhrase->nTerm; aIter = (Fts5PoslistReader*)sqlite3_malloc(nByte); if( !aIter ) return SQLITE_NOMEM; @@ -171767,18 +172806,21 @@ static int fts5ExprPhraseIsMatch( /* Initialize a term iterator for each term in the phrase */ for(i=0; inTerm; i++){ Fts5ExprTerm *pTerm = &pPhrase->aTerm[i]; - i64 dummy; int n = 0; int bFlag = 0; - const u8 *a = 0; + u8 *a = 0; if( pTerm->pSynonym ){ - rc = fts5ExprSynonymPoslist( - pTerm, pColset, pNode->iRowid, &bFlag, (u8**)&a, &n - ); + Fts5Buffer buf = {0, 0, 0}; + rc = fts5ExprSynonymList(pTerm, pNode->iRowid, &buf, &a, &n); + if( rc ){ + sqlite3_free(a); + goto ismatch_out; + } + if( a==buf.p ) bFlag = 1; }else{ - rc = sqlite3Fts5IterPoslist(pTerm->pIter, pColset, &a, &n, &dummy); + a = (u8*)pTerm->pIter->pData; + n = pTerm->pIter->nData; } - if( rc!=SQLITE_OK ) goto ismatch_out; sqlite3Fts5PoslistReaderInit(a, n, &aIter[i]); aIter[i].bFlag = (u8)bFlag; if( aIter[i].bEof ) goto ismatch_out; @@ -171850,12 +172892,6 @@ static int fts5LookaheadReaderInit( return fts5LookaheadReaderNext(p); } -#if 0 -static int fts5LookaheadReaderEof(Fts5LookaheadReader *p){ - return (p->iPos==FTS5_LOOKAHEAD_EOF); -} -#endif - typedef struct Fts5NearTrimmer Fts5NearTrimmer; struct Fts5NearTrimmer { Fts5LookaheadReader reader; /* Input iterator */ @@ -171893,7 +172929,7 @@ static int fts5ExprNearIsMatch(int *pRc, Fts5ExprNearset *pNear){ /* If the aStatic[] array is not large enough, allocate a large array ** using sqlite3_malloc(). This approach could be improved upon. */ - if( pNear->nPhrase>(int)ArraySize(aStatic) ){ + if( pNear->nPhrase>ArraySize(aStatic) ){ int nByte = sizeof(Fts5NearTrimmer) * pNear->nPhrase; a = (Fts5NearTrimmer*)sqlite3Fts5MallocZero(&rc, nByte); }else{ @@ -171970,6 +173006,315 @@ static int fts5ExprNearIsMatch(int *pRc, Fts5ExprNearset *pNear){ } } +/* +** Advance iterator pIter until it points to a value equal to or laster +** than the initial value of *piLast. If this means the iterator points +** to a value laster than *piLast, update *piLast to the new lastest value. +** +** If the iterator reaches EOF, set *pbEof to true before returning. If +** an error occurs, set *pRc to an error code. If either *pbEof or *pRc +** are set, return a non-zero value. Otherwise, return zero. +*/ +static int fts5ExprAdvanceto( + Fts5IndexIter *pIter, /* Iterator to advance */ + int bDesc, /* True if iterator is "rowid DESC" */ + i64 *piLast, /* IN/OUT: Lastest rowid seen so far */ + int *pRc, /* OUT: Error code */ + int *pbEof /* OUT: Set to true if EOF */ +){ + i64 iLast = *piLast; + i64 iRowid; + + iRowid = pIter->iRowid; + if( (bDesc==0 && iLast>iRowid) || (bDesc && iLastiRowid; + assert( (bDesc==0 && iRowid>=iLast) || (bDesc==1 && iRowid<=iLast) ); + } + *piLast = iRowid; + + return 0; +} + +static int fts5ExprSynonymAdvanceto( + Fts5ExprTerm *pTerm, /* Term iterator to advance */ + int bDesc, /* True if iterator is "rowid DESC" */ + i64 *piLast, /* IN/OUT: Lastest rowid seen so far */ + int *pRc /* OUT: Error code */ +){ + int rc = SQLITE_OK; + i64 iLast = *piLast; + Fts5ExprTerm *p; + int bEof = 0; + + for(p=pTerm; rc==SQLITE_OK && p; p=p->pSynonym){ + if( sqlite3Fts5IterEof(p->pIter)==0 ){ + i64 iRowid = p->pIter->iRowid; + if( (bDesc==0 && iLast>iRowid) || (bDesc && iLastpIter, iLast); + } + } + } + + if( rc!=SQLITE_OK ){ + *pRc = rc; + bEof = 1; + }else{ + *piLast = fts5ExprSynonymRowid(pTerm, bDesc, &bEof); + } + return bEof; +} + + +static int fts5ExprNearTest( + int *pRc, + Fts5Expr *pExpr, /* Expression that pNear is a part of */ + Fts5ExprNode *pNode /* The "NEAR" node (FTS5_STRING) */ +){ + Fts5ExprNearset *pNear = pNode->pNear; + int rc = *pRc; + + if( pExpr->pConfig->eDetail!=FTS5_DETAIL_FULL ){ + Fts5ExprTerm *pTerm; + Fts5ExprPhrase *pPhrase = pNear->apPhrase[0]; + pPhrase->poslist.n = 0; + for(pTerm=&pPhrase->aTerm[0]; pTerm; pTerm=pTerm->pSynonym){ + Fts5IndexIter *pIter = pTerm->pIter; + if( sqlite3Fts5IterEof(pIter)==0 ){ + if( pIter->iRowid==pNode->iRowid && pIter->nData>0 ){ + pPhrase->poslist.n = 1; + } + } + } + return pPhrase->poslist.n; + }else{ + int i; + + /* Check that each phrase in the nearset matches the current row. + ** Populate the pPhrase->poslist buffers at the same time. If any + ** phrase is not a match, break out of the loop early. */ + for(i=0; rc==SQLITE_OK && inPhrase; i++){ + Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; + if( pPhrase->nTerm>1 || pPhrase->aTerm[0].pSynonym || pNear->pColset ){ + int bMatch = 0; + rc = fts5ExprPhraseIsMatch(pNode, pPhrase, &bMatch); + if( bMatch==0 ) break; + }else{ + Fts5IndexIter *pIter = pPhrase->aTerm[0].pIter; + fts5BufferSet(&rc, &pPhrase->poslist, pIter->nData, pIter->pData); + } + } + + *pRc = rc; + if( i==pNear->nPhrase && (i==1 || fts5ExprNearIsMatch(pRc, pNear)) ){ + return 1; + } + return 0; + } +} + + +/* +** Initialize all term iterators in the pNear object. If any term is found +** to match no documents at all, return immediately without initializing any +** further iterators. +*/ +static int fts5ExprNearInitAll( + Fts5Expr *pExpr, + Fts5ExprNode *pNode +){ + Fts5ExprNearset *pNear = pNode->pNear; + int i, j; + int rc = SQLITE_OK; + + assert( pNode->bNomatch==0 ); + for(i=0; rc==SQLITE_OK && inPhrase; i++){ + Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; + for(j=0; jnTerm; j++){ + Fts5ExprTerm *pTerm = &pPhrase->aTerm[j]; + Fts5ExprTerm *p; + int bEof = 1; + + for(p=pTerm; p && rc==SQLITE_OK; p=p->pSynonym){ + if( p->pIter ){ + sqlite3Fts5IterClose(p->pIter); + p->pIter = 0; + } + rc = sqlite3Fts5IndexQuery( + pExpr->pIndex, p->zTerm, (int)strlen(p->zTerm), + (pTerm->bPrefix ? FTS5INDEX_QUERY_PREFIX : 0) | + (pExpr->bDesc ? FTS5INDEX_QUERY_DESC : 0), + pNear->pColset, + &p->pIter + ); + assert( rc==SQLITE_OK || p->pIter==0 ); + if( p->pIter && 0==sqlite3Fts5IterEof(p->pIter) ){ + bEof = 0; + } + } + + if( bEof ){ + pNode->bEof = 1; + return rc; + } + } + } + + return rc; +} + +/* +** If pExpr is an ASC iterator, this function returns a value with the +** same sign as: +** +** (iLhs - iRhs) +** +** Otherwise, if this is a DESC iterator, the opposite is returned: +** +** (iRhs - iLhs) +*/ +static int fts5RowidCmp( + Fts5Expr *pExpr, + i64 iLhs, + i64 iRhs +){ + assert( pExpr->bDesc==0 || pExpr->bDesc==1 ); + if( pExpr->bDesc==0 ){ + if( iLhs iRhs); + }else{ + if( iLhs>iRhs ) return -1; + return (iLhs < iRhs); + } +} + +static void fts5ExprSetEof(Fts5ExprNode *pNode){ + int i; + pNode->bEof = 1; + pNode->bNomatch = 0; + for(i=0; inChild; i++){ + fts5ExprSetEof(pNode->apChild[i]); + } +} + +static void fts5ExprNodeZeroPoslist(Fts5ExprNode *pNode){ + if( pNode->eType==FTS5_STRING || pNode->eType==FTS5_TERM ){ + Fts5ExprNearset *pNear = pNode->pNear; + int i; + for(i=0; inPhrase; i++){ + Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; + pPhrase->poslist.n = 0; + } + }else{ + int i; + for(i=0; inChild; i++){ + fts5ExprNodeZeroPoslist(pNode->apChild[i]); + } + } +} + + + +/* +** Compare the values currently indicated by the two nodes as follows: +** +** res = (*p1) - (*p2) +** +** Nodes that point to values that come later in the iteration order are +** considered to be larger. Nodes at EOF are the largest of all. +** +** This means that if the iteration order is ASC, then numerically larger +** rowids are considered larger. Or if it is the default DESC, numerically +** smaller rowids are larger. +*/ +static int fts5NodeCompare( + Fts5Expr *pExpr, + Fts5ExprNode *p1, + Fts5ExprNode *p2 +){ + if( p2->bEof ) return -1; + if( p1->bEof ) return +1; + return fts5RowidCmp(pExpr, p1->iRowid, p2->iRowid); +} + +/* +** All individual term iterators in pNear are guaranteed to be valid when +** this function is called. This function checks if all term iterators +** point to the same rowid, and if not, advances them until they do. +** If an EOF is reached before this happens, *pbEof is set to true before +** returning. +** +** SQLITE_OK is returned if an error occurs, or an SQLite error code +** otherwise. It is not considered an error code if an iterator reaches +** EOF. +*/ +static int fts5ExprNodeTest_STRING( + Fts5Expr *pExpr, /* Expression pPhrase belongs to */ + Fts5ExprNode *pNode +){ + Fts5ExprNearset *pNear = pNode->pNear; + Fts5ExprPhrase *pLeft = pNear->apPhrase[0]; + int rc = SQLITE_OK; + i64 iLast; /* Lastest rowid any iterator points to */ + int i, j; /* Phrase and token index, respectively */ + int bMatch; /* True if all terms are at the same rowid */ + const int bDesc = pExpr->bDesc; + + /* Check that this node should not be FTS5_TERM */ + assert( pNear->nPhrase>1 + || pNear->apPhrase[0]->nTerm>1 + || pNear->apPhrase[0]->aTerm[0].pSynonym + ); + + /* Initialize iLast, the "lastest" rowid any iterator points to. If the + ** iterator skips through rowids in the default ascending order, this means + ** the maximum rowid. Or, if the iterator is "ORDER BY rowid DESC", then it + ** means the minimum rowid. */ + if( pLeft->aTerm[0].pSynonym ){ + iLast = fts5ExprSynonymRowid(&pLeft->aTerm[0], bDesc, 0); + }else{ + iLast = pLeft->aTerm[0].pIter->iRowid; + } + + do { + bMatch = 1; + for(i=0; inPhrase; i++){ + Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; + for(j=0; jnTerm; j++){ + Fts5ExprTerm *pTerm = &pPhrase->aTerm[j]; + if( pTerm->pSynonym ){ + i64 iRowid = fts5ExprSynonymRowid(pTerm, bDesc, 0); + if( iRowid==iLast ) continue; + bMatch = 0; + if( fts5ExprSynonymAdvanceto(pTerm, bDesc, &iLast, &rc) ){ + pNode->bNomatch = 0; + pNode->bEof = 1; + return rc; + } + }else{ + Fts5IndexIter *pIter = pPhrase->aTerm[j].pIter; + if( pIter->iRowid==iLast ) continue; + bMatch = 0; + if( fts5ExprAdvanceto(pIter, bDesc, &iLast, &rc, &pNode->bEof) ){ + return rc; + } + } + } + } + }while( bMatch==0 ); + + pNode->iRowid = iLast; + pNode->bNomatch = ((0==fts5ExprNearTest(&rc, pExpr, pNode)) && rc==SQLITE_OK); + assert( pNode->bEof==0 || pNode->bNomatch==0 ); + + return rc; +} + /* ** Advance the first term iterator in the first phrase of pNear. Set output ** variable *pbEof to true if it reaches EOF or if an error occurs. @@ -171977,7 +173322,7 @@ static int fts5ExprNearIsMatch(int *pRc, Fts5ExprNearset *pNear){ ** Return SQLITE_OK if successful, or an SQLite error code if an error ** occurs. */ -static int fts5ExprNearAdvanceFirst( +static int fts5ExprNodeNext_STRING( Fts5Expr *pExpr, /* Expression pPhrase belongs to */ Fts5ExprNode *pNode, /* FTS5_STRING or FTS5_TERM node */ int bFromValid, @@ -171986,6 +173331,7 @@ static int fts5ExprNearAdvanceFirst( Fts5ExprTerm *pTerm = &pNode->pNear->apPhrase[0]->aTerm[0]; int rc = SQLITE_OK; + pNode->bNomatch = 0; if( pTerm->pSynonym ){ int bEof = 1; Fts5ExprTerm *p; @@ -171997,7 +173343,7 @@ static int fts5ExprNearAdvanceFirst( ** is valid - each iterator that points to a rowid before iFrom. */ for(p=pTerm; p; p=p->pSynonym){ if( sqlite3Fts5IterEof(p->pIter)==0 ){ - i64 ii = sqlite3Fts5IterRowid(p->pIter); + i64 ii = p->pIter->iRowid; if( ii==iRowid || (bFromValid && ii!=iFrom && (ii>iFrom)==pExpr->bDesc) ){ @@ -172032,108 +173378,16 @@ static int fts5ExprNearAdvanceFirst( pNode->bEof = (rc || sqlite3Fts5IterEof(pIter)); } - return rc; -} - -/* -** Advance iterator pIter until it points to a value equal to or laster -** than the initial value of *piLast. If this means the iterator points -** to a value laster than *piLast, update *piLast to the new lastest value. -** -** If the iterator reaches EOF, set *pbEof to true before returning. If -** an error occurs, set *pRc to an error code. If either *pbEof or *pRc -** are set, return a non-zero value. Otherwise, return zero. -*/ -static int fts5ExprAdvanceto( - Fts5IndexIter *pIter, /* Iterator to advance */ - int bDesc, /* True if iterator is "rowid DESC" */ - i64 *piLast, /* IN/OUT: Lastest rowid seen so far */ - int *pRc, /* OUT: Error code */ - int *pbEof /* OUT: Set to true if EOF */ -){ - i64 iLast = *piLast; - i64 iRowid; - - iRowid = sqlite3Fts5IterRowid(pIter); - if( (bDesc==0 && iLast>iRowid) || (bDesc && iLast=iLast) || (bDesc==1 && iRowid<=iLast) ); - } - *piLast = iRowid; - - return 0; -} - -static int fts5ExprSynonymAdvanceto( - Fts5ExprTerm *pTerm, /* Term iterator to advance */ - int bDesc, /* True if iterator is "rowid DESC" */ - i64 *piLast, /* IN/OUT: Lastest rowid seen so far */ - int *pRc /* OUT: Error code */ -){ - int rc = SQLITE_OK; - i64 iLast = *piLast; - Fts5ExprTerm *p; - int bEof = 0; - - for(p=pTerm; rc==SQLITE_OK && p; p=p->pSynonym){ - if( sqlite3Fts5IterEof(p->pIter)==0 ){ - i64 iRowid = sqlite3Fts5IterRowid(p->pIter); - if( (bDesc==0 && iLast>iRowid) || (bDesc && iLastpIter, iLast); - } - } + if( pNode->bEof==0 ){ + assert( rc==SQLITE_OK ); + rc = fts5ExprNodeTest_STRING(pExpr, pNode); } - if( rc!=SQLITE_OK ){ - *pRc = rc; - bEof = 1; - }else{ - *piLast = fts5ExprSynonymRowid(pTerm, bDesc, &bEof); - } - return bEof; + return rc; } -static int fts5ExprNearTest( - int *pRc, - Fts5Expr *pExpr, /* Expression that pNear is a part of */ - Fts5ExprNode *pNode /* The "NEAR" node (FTS5_STRING) */ -){ - Fts5ExprNearset *pNear = pNode->pNear; - int rc = *pRc; - int i; - - /* Check that each phrase in the nearset matches the current row. - ** Populate the pPhrase->poslist buffers at the same time. If any - ** phrase is not a match, break out of the loop early. */ - for(i=0; rc==SQLITE_OK && inPhrase; i++){ - Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; - if( pPhrase->nTerm>1 || pPhrase->aTerm[0].pSynonym || pNear->pColset ){ - int bMatch = 0; - rc = fts5ExprPhraseIsMatch(pNode, pNear->pColset, pPhrase, &bMatch); - if( bMatch==0 ) break; - }else{ - rc = sqlite3Fts5IterPoslistBuffer( - pPhrase->aTerm[0].pIter, &pPhrase->poslist - ); - } - } - - *pRc = rc; - if( i==pNear->nPhrase && (i==1 || fts5ExprNearIsMatch(pRc, pNear)) ){ - return 1; - } - - return 0; -} - -static int fts5ExprTokenTest( +static int fts5ExprNodeTest_TERM( Fts5Expr *pExpr, /* Expression that pNear is a part of */ Fts5ExprNode *pNode /* The "NEAR" node (FTS5_TERM) */ ){ @@ -172142,203 +173396,98 @@ static int fts5ExprTokenTest( ** fts5_index.c iterator object. This is much faster than synthesizing ** a new poslist the way we have to for more complicated phrase or NEAR ** expressions. */ - Fts5ExprNearset *pNear = pNode->pNear; - Fts5ExprPhrase *pPhrase = pNear->apPhrase[0]; + Fts5ExprPhrase *pPhrase = pNode->pNear->apPhrase[0]; Fts5IndexIter *pIter = pPhrase->aTerm[0].pIter; - Fts5Colset *pColset = pNear->pColset; - int rc; assert( pNode->eType==FTS5_TERM ); - assert( pNear->nPhrase==1 && pPhrase->nTerm==1 ); + assert( pNode->pNear->nPhrase==1 && pPhrase->nTerm==1 ); assert( pPhrase->aTerm[0].pSynonym==0 ); - rc = sqlite3Fts5IterPoslist(pIter, pColset, - (const u8**)&pPhrase->poslist.p, &pPhrase->poslist.n, &pNode->iRowid - ); + pPhrase->poslist.n = pIter->nData; + if( pExpr->pConfig->eDetail==FTS5_DETAIL_FULL ){ + pPhrase->poslist.p = (u8*)pIter->pData; + } + pNode->iRowid = pIter->iRowid; pNode->bNomatch = (pPhrase->poslist.n==0); - return rc; + return SQLITE_OK; } /* -** All individual term iterators in pNear are guaranteed to be valid when -** this function is called. This function checks if all term iterators -** point to the same rowid, and if not, advances them until they do. -** If an EOF is reached before this happens, *pbEof is set to true before -** returning. -** -** SQLITE_OK is returned if an error occurs, or an SQLite error code -** otherwise. It is not considered an error code if an iterator reaches -** EOF. +** xNext() method for a node of type FTS5_TERM. */ -static int fts5ExprNearNextMatch( - Fts5Expr *pExpr, /* Expression pPhrase belongs to */ - Fts5ExprNode *pNode +static int fts5ExprNodeNext_TERM( + Fts5Expr *pExpr, + Fts5ExprNode *pNode, + int bFromValid, + i64 iFrom ){ - Fts5ExprNearset *pNear = pNode->pNear; - Fts5ExprPhrase *pLeft = pNear->apPhrase[0]; - int rc = SQLITE_OK; - i64 iLast; /* Lastest rowid any iterator points to */ - int i, j; /* Phrase and token index, respectively */ - int bMatch; /* True if all terms are at the same rowid */ - const int bDesc = pExpr->bDesc; - - /* Check that this node should not be FTS5_TERM */ - assert( pNear->nPhrase>1 - || pNear->apPhrase[0]->nTerm>1 - || pNear->apPhrase[0]->aTerm[0].pSynonym - ); + int rc; + Fts5IndexIter *pIter = pNode->pNear->apPhrase[0]->aTerm[0].pIter; - /* Initialize iLast, the "lastest" rowid any iterator points to. If the - ** iterator skips through rowids in the default ascending order, this means - ** the maximum rowid. Or, if the iterator is "ORDER BY rowid DESC", then it - ** means the minimum rowid. */ - if( pLeft->aTerm[0].pSynonym ){ - iLast = fts5ExprSynonymRowid(&pLeft->aTerm[0], bDesc, 0); + assert( pNode->bEof==0 ); + if( bFromValid ){ + rc = sqlite3Fts5IterNextFrom(pIter, iFrom); }else{ - iLast = sqlite3Fts5IterRowid(pLeft->aTerm[0].pIter); + rc = sqlite3Fts5IterNext(pIter); + } + if( rc==SQLITE_OK && sqlite3Fts5IterEof(pIter)==0 ){ + rc = fts5ExprNodeTest_TERM(pExpr, pNode); + }else{ + pNode->bEof = 1; + pNode->bNomatch = 0; } - - do { - bMatch = 1; - for(i=0; inPhrase; i++){ - Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; - for(j=0; jnTerm; j++){ - Fts5ExprTerm *pTerm = &pPhrase->aTerm[j]; - if( pTerm->pSynonym ){ - i64 iRowid = fts5ExprSynonymRowid(pTerm, bDesc, 0); - if( iRowid==iLast ) continue; - bMatch = 0; - if( fts5ExprSynonymAdvanceto(pTerm, bDesc, &iLast, &rc) ){ - pNode->bEof = 1; - return rc; - } - }else{ - Fts5IndexIter *pIter = pPhrase->aTerm[j].pIter; - i64 iRowid = sqlite3Fts5IterRowid(pIter); - if( iRowid==iLast ) continue; - bMatch = 0; - if( fts5ExprAdvanceto(pIter, bDesc, &iLast, &rc, &pNode->bEof) ){ - return rc; - } - } - } - } - }while( bMatch==0 ); - - pNode->iRowid = iLast; - pNode->bNomatch = (0==fts5ExprNearTest(&rc, pExpr, pNode)); - return rc; } -/* -** Initialize all term iterators in the pNear object. If any term is found -** to match no documents at all, return immediately without initializing any -** further iterators. -*/ -static int fts5ExprNearInitAll( - Fts5Expr *pExpr, - Fts5ExprNode *pNode +static void fts5ExprNodeTest_OR( + Fts5Expr *pExpr, /* Expression of which pNode is a part */ + Fts5ExprNode *pNode /* Expression node to test */ ){ - Fts5ExprNearset *pNear = pNode->pNear; - int i, j; - int rc = SQLITE_OK; - - for(i=0; rc==SQLITE_OK && inPhrase; i++){ - Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; - for(j=0; jnTerm; j++){ - Fts5ExprTerm *pTerm = &pPhrase->aTerm[j]; - Fts5ExprTerm *p; - int bEof = 1; - - for(p=pTerm; p && rc==SQLITE_OK; p=p->pSynonym){ - if( p->pIter ){ - sqlite3Fts5IterClose(p->pIter); - p->pIter = 0; - } - rc = sqlite3Fts5IndexQuery( - pExpr->pIndex, p->zTerm, (int)strlen(p->zTerm), - (pTerm->bPrefix ? FTS5INDEX_QUERY_PREFIX : 0) | - (pExpr->bDesc ? FTS5INDEX_QUERY_DESC : 0), - pNear->pColset, - &p->pIter - ); - assert( rc==SQLITE_OK || p->pIter==0 ); - if( p->pIter && 0==sqlite3Fts5IterEof(p->pIter) ){ - bEof = 0; - } - } + Fts5ExprNode *pNext = pNode->apChild[0]; + int i; - if( bEof ){ - pNode->bEof = 1; - return rc; - } + for(i=1; inChild; i++){ + Fts5ExprNode *pChild = pNode->apChild[i]; + int cmp = fts5NodeCompare(pExpr, pNext, pChild); + if( cmp>0 || (cmp==0 && pChild->bNomatch==0) ){ + pNext = pChild; } } - - return rc; + pNode->iRowid = pNext->iRowid; + pNode->bEof = pNext->bEof; + pNode->bNomatch = pNext->bNomatch; } -/* fts5ExprNodeNext() calls fts5ExprNodeNextMatch(). And vice-versa. */ -static int fts5ExprNodeNextMatch(Fts5Expr*, Fts5ExprNode*); - - -/* -** If pExpr is an ASC iterator, this function returns a value with the -** same sign as: -** -** (iLhs - iRhs) -** -** Otherwise, if this is a DESC iterator, the opposite is returned: -** -** (iRhs - iLhs) -*/ -static int fts5RowidCmp( - Fts5Expr *pExpr, - i64 iLhs, - i64 iRhs +static int fts5ExprNodeNext_OR( + Fts5Expr *pExpr, + Fts5ExprNode *pNode, + int bFromValid, + i64 iFrom ){ - assert( pExpr->bDesc==0 || pExpr->bDesc==1 ); - if( pExpr->bDesc==0 ){ - if( iLhs iRhs); - }else{ - if( iLhs>iRhs ) return -1; - return (iLhs < iRhs); - } -} - -static void fts5ExprSetEof(Fts5ExprNode *pNode){ int i; - pNode->bEof = 1; - for(i=0; inChild; i++){ - fts5ExprSetEof(pNode->apChild[i]); - } -} + i64 iLast = pNode->iRowid; -static void fts5ExprNodeZeroPoslist(Fts5ExprNode *pNode){ - if( pNode->eType==FTS5_STRING || pNode->eType==FTS5_TERM ){ - Fts5ExprNearset *pNear = pNode->pNear; - int i; - for(i=0; inPhrase; i++){ - Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; - pPhrase->poslist.n = 0; - } - }else{ - int i; - for(i=0; inChild; i++){ - fts5ExprNodeZeroPoslist(pNode->apChild[i]); + for(i=0; inChild; i++){ + Fts5ExprNode *p1 = pNode->apChild[i]; + assert( p1->bEof || fts5RowidCmp(pExpr, p1->iRowid, iLast)>=0 ); + if( p1->bEof==0 ){ + if( (p1->iRowid==iLast) + || (bFromValid && fts5RowidCmp(pExpr, p1->iRowid, iFrom)<0) + ){ + int rc = fts5ExprNodeNext(pExpr, p1, bFromValid, iFrom); + if( rc!=SQLITE_OK ) return rc; + } } } -} - -static int fts5ExprNodeNext(Fts5Expr*, Fts5ExprNode*, int, i64); + fts5ExprNodeTest_OR(pExpr, pNode); + return SQLITE_OK; +} /* ** Argument pNode is an FTS5_AND node. */ -static int fts5ExprAndNextRowid( +static int fts5ExprNodeTest_AND( Fts5Expr *pExpr, /* Expression pPhrase belongs to */ Fts5ExprNode *pAnd /* FTS5_AND node to advance */ ){ @@ -172353,15 +173502,11 @@ static int fts5ExprAndNextRowid( bMatch = 1; for(iChild=0; iChildnChild; iChild++){ Fts5ExprNode *pChild = pAnd->apChild[iChild]; - if( 0 && pChild->eType==FTS5_STRING ){ - /* TODO */ - }else{ - int cmp = fts5RowidCmp(pExpr, iLast, pChild->iRowid); - if( cmp>0 ){ - /* Advance pChild until it points to iLast or laster */ - rc = fts5ExprNodeNext(pExpr, pChild, 1, iLast); - if( rc!=SQLITE_OK ) return rc; - } + int cmp = fts5RowidCmp(pExpr, iLast, pChild->iRowid); + if( cmp>0 ){ + /* Advance pChild until it points to iLast or laster */ + rc = fts5ExprNodeNext(pExpr, pChild, 1, iLast); + if( rc!=SQLITE_OK ) return rc; } /* If the child node is now at EOF, so is the parent AND node. Otherwise, @@ -172391,126 +173536,66 @@ static int fts5ExprAndNextRowid( return SQLITE_OK; } - -/* -** Compare the values currently indicated by the two nodes as follows: -** -** res = (*p1) - (*p2) -** -** Nodes that point to values that come later in the iteration order are -** considered to be larger. Nodes at EOF are the largest of all. -** -** This means that if the iteration order is ASC, then numerically larger -** rowids are considered larger. Or if it is the default DESC, numerically -** smaller rowids are larger. -*/ -static int fts5NodeCompare( - Fts5Expr *pExpr, - Fts5ExprNode *p1, - Fts5ExprNode *p2 -){ - if( p2->bEof ) return -1; - if( p1->bEof ) return +1; - return fts5RowidCmp(pExpr, p1->iRowid, p2->iRowid); -} - -/* -** Advance node iterator pNode, part of expression pExpr. If argument -** bFromValid is zero, then pNode is advanced exactly once. Or, if argument -** bFromValid is non-zero, then pNode is advanced until it is at or past -** rowid value iFrom. Whether "past" means "less than" or "greater than" -** depends on whether this is an ASC or DESC iterator. -*/ -static int fts5ExprNodeNext( +static int fts5ExprNodeNext_AND( Fts5Expr *pExpr, Fts5ExprNode *pNode, int bFromValid, i64 iFrom ){ - int rc = SQLITE_OK; - - if( pNode->bEof==0 ){ - switch( pNode->eType ){ - case FTS5_STRING: { - rc = fts5ExprNearAdvanceFirst(pExpr, pNode, bFromValid, iFrom); - break; - }; - - case FTS5_TERM: { - Fts5IndexIter *pIter = pNode->pNear->apPhrase[0]->aTerm[0].pIter; - if( bFromValid ){ - rc = sqlite3Fts5IterNextFrom(pIter, iFrom); - }else{ - rc = sqlite3Fts5IterNext(pIter); - } - if( rc==SQLITE_OK && sqlite3Fts5IterEof(pIter)==0 ){ - assert( rc==SQLITE_OK ); - rc = fts5ExprTokenTest(pExpr, pNode); - }else{ - pNode->bEof = 1; - } - return rc; - }; - - case FTS5_AND: { - Fts5ExprNode *pLeft = pNode->apChild[0]; - rc = fts5ExprNodeNext(pExpr, pLeft, bFromValid, iFrom); - break; - } - - case FTS5_OR: { - int i; - i64 iLast = pNode->iRowid; - - for(i=0; rc==SQLITE_OK && inChild; i++){ - Fts5ExprNode *p1 = pNode->apChild[i]; - assert( p1->bEof || fts5RowidCmp(pExpr, p1->iRowid, iLast)>=0 ); - if( p1->bEof==0 ){ - if( (p1->iRowid==iLast) - || (bFromValid && fts5RowidCmp(pExpr, p1->iRowid, iFrom)<0) - ){ - rc = fts5ExprNodeNext(pExpr, p1, bFromValid, iFrom); - } - } - } - - break; - } + int rc = fts5ExprNodeNext(pExpr, pNode->apChild[0], bFromValid, iFrom); + if( rc==SQLITE_OK ){ + rc = fts5ExprNodeTest_AND(pExpr, pNode); + } + return rc; +} - default: assert( pNode->eType==FTS5_NOT ); { - assert( pNode->nChild==2 ); - rc = fts5ExprNodeNext(pExpr, pNode->apChild[0], bFromValid, iFrom); - break; - } - } +static int fts5ExprNodeTest_NOT( + Fts5Expr *pExpr, /* Expression pPhrase belongs to */ + Fts5ExprNode *pNode /* FTS5_NOT node to advance */ +){ + int rc = SQLITE_OK; + Fts5ExprNode *p1 = pNode->apChild[0]; + Fts5ExprNode *p2 = pNode->apChild[1]; + assert( pNode->nChild==2 ); - if( rc==SQLITE_OK ){ - rc = fts5ExprNodeNextMatch(pExpr, pNode); + while( rc==SQLITE_OK && p1->bEof==0 ){ + int cmp = fts5NodeCompare(pExpr, p1, p2); + if( cmp>0 ){ + rc = fts5ExprNodeNext(pExpr, p2, 1, p1->iRowid); + cmp = fts5NodeCompare(pExpr, p1, p2); } + assert( rc!=SQLITE_OK || cmp<=0 ); + if( cmp || p2->bNomatch ) break; + rc = fts5ExprNodeNext(pExpr, p1, 0, 0); + } + pNode->bEof = p1->bEof; + pNode->bNomatch = p1->bNomatch; + pNode->iRowid = p1->iRowid; + if( p1->bEof ){ + fts5ExprNodeZeroPoslist(p2); } - - /* Assert that if bFromValid was true, either: - ** - ** a) an error occurred, or - ** b) the node is now at EOF, or - ** c) the node is now at or past rowid iFrom. - */ - assert( bFromValid==0 - || rc!=SQLITE_OK /* a */ - || pNode->bEof /* b */ - || pNode->iRowid==iFrom || pExpr->bDesc==(pNode->iRowidapChild[0], bFromValid, iFrom); + if( rc==SQLITE_OK ){ + rc = fts5ExprNodeTest_NOT(pExpr, pNode); + } + return rc; +} /* ** If pNode currently points to a match, this function returns SQLITE_OK ** without modifying it. Otherwise, pNode is advanced until it does point ** to a match or EOF is reached. */ -static int fts5ExprNodeNextMatch( +static int fts5ExprNodeTest( Fts5Expr *pExpr, /* Expression of which pNode is a part */ Fts5ExprNode *pNode /* Expression node to test */ ){ @@ -172519,55 +173604,27 @@ static int fts5ExprNodeNextMatch( switch( pNode->eType ){ case FTS5_STRING: { - /* Advance the iterators until they all point to the same rowid */ - rc = fts5ExprNearNextMatch(pExpr, pNode); + rc = fts5ExprNodeTest_STRING(pExpr, pNode); break; } case FTS5_TERM: { - rc = fts5ExprTokenTest(pExpr, pNode); + rc = fts5ExprNodeTest_TERM(pExpr, pNode); break; } case FTS5_AND: { - rc = fts5ExprAndNextRowid(pExpr, pNode); + rc = fts5ExprNodeTest_AND(pExpr, pNode); break; } case FTS5_OR: { - Fts5ExprNode *pNext = pNode->apChild[0]; - int i; - - for(i=1; inChild; i++){ - Fts5ExprNode *pChild = pNode->apChild[i]; - int cmp = fts5NodeCompare(pExpr, pNext, pChild); - if( cmp>0 || (cmp==0 && pChild->bNomatch==0) ){ - pNext = pChild; - } - } - pNode->iRowid = pNext->iRowid; - pNode->bEof = pNext->bEof; - pNode->bNomatch = pNext->bNomatch; + fts5ExprNodeTest_OR(pExpr, pNode); break; } default: assert( pNode->eType==FTS5_NOT ); { - Fts5ExprNode *p1 = pNode->apChild[0]; - Fts5ExprNode *p2 = pNode->apChild[1]; - assert( pNode->nChild==2 ); - - while( rc==SQLITE_OK && p1->bEof==0 ){ - int cmp = fts5NodeCompare(pExpr, p1, p2); - if( cmp>0 ){ - rc = fts5ExprNodeNext(pExpr, p2, 1, p1->iRowid); - cmp = fts5NodeCompare(pExpr, p1, p2); - } - assert( rc!=SQLITE_OK || cmp<=0 ); - if( cmp || p2->bNomatch ) break; - rc = fts5ExprNodeNext(pExpr, p1, 0, 0); - } - pNode->bEof = p1->bEof; - pNode->iRowid = p1->iRowid; + rc = fts5ExprNodeTest_NOT(pExpr, pNode); break; } } @@ -172586,20 +173643,40 @@ static int fts5ExprNodeNextMatch( static int fts5ExprNodeFirst(Fts5Expr *pExpr, Fts5ExprNode *pNode){ int rc = SQLITE_OK; pNode->bEof = 0; + pNode->bNomatch = 0; if( Fts5NodeIsString(pNode) ){ /* Initialize all term iterators in the NEAR object. */ rc = fts5ExprNearInitAll(pExpr, pNode); }else{ int i; + int nEof = 0; for(i=0; inChild && rc==SQLITE_OK; i++){ + Fts5ExprNode *pChild = pNode->apChild[i]; rc = fts5ExprNodeFirst(pExpr, pNode->apChild[i]); + assert( pChild->bEof==0 || pChild->bEof==1 ); + nEof += pChild->bEof; } pNode->iRowid = pNode->apChild[0]->iRowid; + + switch( pNode->eType ){ + case FTS5_AND: + if( nEof>0 ) fts5ExprSetEof(pNode); + break; + + case FTS5_OR: + if( pNode->nChild==nEof ) fts5ExprSetEof(pNode); + break; + + default: + assert( pNode->eType==FTS5_NOT ); + pNode->bEof = pNode->apChild[0]->bEof; + break; + } } if( rc==SQLITE_OK ){ - rc = fts5ExprNodeNextMatch(pExpr, pNode); + rc = fts5ExprNodeTest(pExpr, pNode); } return rc; } @@ -172623,7 +173700,7 @@ static int fts5ExprNodeFirst(Fts5Expr *pExpr, Fts5ExprNode *pNode){ static int sqlite3Fts5ExprFirst(Fts5Expr *p, Fts5Index *pIdx, i64 iFirst, int bDesc){ Fts5ExprNode *pRoot = p->pRoot; int rc = SQLITE_OK; - if( pRoot ){ + if( pRoot->xNext ){ p->pIndex = pIdx; p->bDesc = bDesc; rc = fts5ExprNodeFirst(p, pRoot); @@ -172635,7 +173712,8 @@ static int sqlite3Fts5ExprFirst(Fts5Expr *p, Fts5Index *pIdx, i64 iFirst, int bD } /* If the iterator is not at a real match, skip forward until it is. */ - while( pRoot->bNomatch && rc==SQLITE_OK && pRoot->bEof==0 ){ + while( pRoot->bNomatch ){ + assert( pRoot->bEof==0 && rc==SQLITE_OK ); rc = fts5ExprNodeNext(p, pRoot, 0, 0); } } @@ -172651,9 +173729,11 @@ static int sqlite3Fts5ExprFirst(Fts5Expr *p, Fts5Index *pIdx, i64 iFirst, int bD static int sqlite3Fts5ExprNext(Fts5Expr *p, i64 iLast){ int rc; Fts5ExprNode *pRoot = p->pRoot; + assert( pRoot->bEof==0 && pRoot->bNomatch==0 ); do { rc = fts5ExprNodeNext(p, pRoot, 0, 0); - }while( pRoot->bNomatch && pRoot->bEof==0 && rc==SQLITE_OK ); + assert( pRoot->bNomatch==0 || (rc==SQLITE_OK && pRoot->bEof==0) ); + }while( pRoot->bNomatch ); if( fts5RowidCmp(p, pRoot->iRowid, iLast)>0 ){ pRoot->bEof = 1; } @@ -172661,7 +173741,7 @@ static int sqlite3Fts5ExprNext(Fts5Expr *p, i64 iLast){ } static int sqlite3Fts5ExprEof(Fts5Expr *p){ - return (p->pRoot==0 || p->pRoot->bEof); + return p->pRoot->bEof; } static i64 sqlite3Fts5ExprRowid(Fts5Expr *p){ @@ -172686,10 +173766,10 @@ static void fts5ExprPhraseFree(Fts5ExprPhrase *pPhrase){ Fts5ExprTerm *pTerm = &pPhrase->aTerm[i]; sqlite3_free(pTerm->zTerm); sqlite3Fts5IterClose(pTerm->pIter); - for(pSyn=pTerm->pSynonym; pSyn; pSyn=pNext){ pNext = pSyn->pSynonym; sqlite3Fts5IterClose(pSyn->pIter); + fts5BufferFree((Fts5Buffer*)&pSyn[1]); sqlite3_free(pSyn); } } @@ -172771,19 +173851,21 @@ static int fts5ParseTokenize( TokenCtx *pCtx = (TokenCtx*)pContext; Fts5ExprPhrase *pPhrase = pCtx->pPhrase; + UNUSED_PARAM2(iUnused1, iUnused2); + /* If an error has already occurred, this is a no-op */ if( pCtx->rc!=SQLITE_OK ) return pCtx->rc; assert( pPhrase==0 || pPhrase->nTerm>0 ); if( pPhrase && (tflags & FTS5_TOKEN_COLOCATED) ){ Fts5ExprTerm *pSyn; - int nByte = sizeof(Fts5ExprTerm) + nToken+1; + int nByte = sizeof(Fts5ExprTerm) + sizeof(Fts5Buffer) + nToken+1; pSyn = (Fts5ExprTerm*)sqlite3_malloc(nByte); if( pSyn==0 ){ rc = SQLITE_NOMEM; }else{ memset(pSyn, 0, nByte); - pSyn->zTerm = (char*)&pSyn[1]; + pSyn->zTerm = ((char*)pSyn) + sizeof(Fts5ExprTerm) + sizeof(Fts5Buffer); memcpy(pSyn->zTerm, pToken, nToken); pSyn->pSynonym = pPhrase->aTerm[pPhrase->nTerm-1].pSynonym; pPhrase->aTerm[pPhrase->nTerm-1].pSynonym = pSyn; @@ -172906,7 +173988,6 @@ static Fts5ExprPhrase *sqlite3Fts5ParseTerm( ** expression passed as the second argument. */ static int sqlite3Fts5ExprClonePhrase( - Fts5Config *pConfig, Fts5Expr *pExpr, int iPhrase, Fts5Expr **ppNew @@ -172914,14 +173995,10 @@ static int sqlite3Fts5ExprClonePhrase( int rc = SQLITE_OK; /* Return code */ Fts5ExprPhrase *pOrig; /* The phrase extracted from pExpr */ int i; /* Used to iterate through phrase terms */ - Fts5Expr *pNew = 0; /* Expression to return via *ppNew */ - TokenCtx sCtx = {0,0}; /* Context object for fts5ParseTokenize */ - pOrig = pExpr->apExprPhrase[iPhrase]; - pNew = (Fts5Expr*)sqlite3Fts5MallocZero(&rc, sizeof(Fts5Expr)); if( rc==SQLITE_OK ){ pNew->apExprPhrase = (Fts5ExprPhrase**)sqlite3Fts5MallocZero(&rc, @@ -172953,6 +174030,7 @@ static int sqlite3Fts5ExprClonePhrase( if( rc==SQLITE_OK ){ /* All the allocations succeeded. Put the expression object together. */ pNew->pIndex = pExpr->pIndex; + pNew->pConfig = pExpr->pConfig; pNew->nPhrase = 1; pNew->apExprPhrase[0] = sCtx.pPhrase; pNew->pRoot->pNear->apPhrase[0] = sCtx.pPhrase; @@ -172961,8 +174039,10 @@ static int sqlite3Fts5ExprClonePhrase( if( pOrig->nTerm==1 && pOrig->aTerm[0].pSynonym==0 ){ pNew->pRoot->eType = FTS5_TERM; + pNew->pRoot->xNext = fts5ExprNodeNext_TERM; }else{ pNew->pRoot->eType = FTS5_STRING; + pNew->pRoot->xNext = fts5ExprNodeNext_STRING; } }else{ sqlite3Fts5ExprFree(pNew); @@ -173094,6 +174174,15 @@ static void sqlite3Fts5ParseSetColset( Fts5ExprNearset *pNear, Fts5Colset *pColset ){ + if( pParse->pConfig->eDetail==FTS5_DETAIL_NONE ){ + pParse->rc = SQLITE_ERROR; + pParse->zErr = sqlite3_mprintf( + "fts5: column queries are not supported (detail=none)" + ); + sqlite3_free(pColset); + return; + } + if( pNear ){ pNear->pColset = pColset; }else{ @@ -173101,6 +174190,38 @@ static void sqlite3Fts5ParseSetColset( } } +static void fts5ExprAssignXNext(Fts5ExprNode *pNode){ + switch( pNode->eType ){ + case FTS5_STRING: { + Fts5ExprNearset *pNear = pNode->pNear; + if( pNear->nPhrase==1 && pNear->apPhrase[0]->nTerm==1 + && pNear->apPhrase[0]->aTerm[0].pSynonym==0 + ){ + pNode->eType = FTS5_TERM; + pNode->xNext = fts5ExprNodeNext_TERM; + }else{ + pNode->xNext = fts5ExprNodeNext_STRING; + } + break; + }; + + case FTS5_OR: { + pNode->xNext = fts5ExprNodeNext_OR; + break; + }; + + case FTS5_AND: { + pNode->xNext = fts5ExprNodeNext_AND; + break; + }; + + default: assert( pNode->eType==FTS5_NOT ); { + pNode->xNext = fts5ExprNodeNext_NOT; + break; + }; + } +} + static void fts5ExprAddChildren(Fts5ExprNode *p, Fts5ExprNode *pSub){ if( p->eType!=FTS5_NOT && pSub->eType==p->eType ){ int nByte = sizeof(Fts5ExprNode*) * pSub->nChild; @@ -173150,17 +174271,27 @@ static Fts5ExprNode *sqlite3Fts5ParseNode( if( pRet ){ pRet->eType = eType; pRet->pNear = pNear; + fts5ExprAssignXNext(pRet); if( eType==FTS5_STRING ){ int iPhrase; for(iPhrase=0; iPhrasenPhrase; iPhrase++){ pNear->apPhrase[iPhrase]->pNode = pRet; } - if( pNear->nPhrase==1 - && pNear->apPhrase[0]->nTerm==1 - && pNear->apPhrase[0]->aTerm[0].pSynonym==0 + + if( pParse->pConfig->eDetail!=FTS5_DETAIL_FULL + && (pNear->nPhrase!=1 || pNear->apPhrase[0]->nTerm!=1) ){ - pRet->eType = FTS5_TERM; + assert( pParse->rc==SQLITE_OK ); + pParse->rc = SQLITE_ERROR; + assert( pParse->zErr==0 ); + pParse->zErr = sqlite3_mprintf( + "fts5: %s queries are not supported (detail!=full)", + pNear->nPhrase==1 ? "phrase": "NEAR" + ); + sqlite3_free(pRet); + pRet = 0; } + }else{ fts5ExprAddChildren(pRet, pLeft); fts5ExprAddChildren(pRet, pRight); @@ -173273,6 +174404,9 @@ static char *fts5ExprPrintTcl( for(iTerm=0; zRet && iTermnTerm; iTerm++){ char *zTerm = pPhrase->aTerm[iTerm].zTerm; zRet = fts5PrintfAppend(zRet, "%s%s", iTerm==0?"":" ", zTerm); + if( pPhrase->aTerm[iTerm].bPrefix ){ + zRet = fts5PrintfAppend(zRet, "*"); + } } if( zRet ) zRet = fts5PrintfAppend(zRet, "}"); @@ -173440,7 +174574,7 @@ static void fts5ExprFunction( } if( rc==SQLITE_OK ){ char *zText; - if( pExpr->pRoot==0 ){ + if( pExpr->pRoot->xNext==0 ){ zText = sqlite3_mprintf(""); }else if( bTcl ){ zText = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->pRoot); @@ -173540,7 +174674,7 @@ static int sqlite3Fts5ExprInit(Fts5Global *pGlobal, sqlite3 *db){ int rc = SQLITE_OK; void *pCtx = (void*)pGlobal; - for(i=0; rc==SQLITE_OK && i<(int)ArraySize(aFunc); i++){ + for(i=0; rc==SQLITE_OK && iz, -1, SQLITE_UTF8, pCtx, p->x, 0, 0); } @@ -173586,6 +174720,225 @@ static int sqlite3Fts5ExprPoslist(Fts5Expr *pExpr, int iPhrase, const u8 **pa){ return nRet; } +struct Fts5PoslistPopulator { + Fts5PoslistWriter writer; + int bOk; /* True if ok to populate */ + int bMiss; +}; + +static Fts5PoslistPopulator *sqlite3Fts5ExprClearPoslists(Fts5Expr *pExpr, int bLive){ + Fts5PoslistPopulator *pRet; + pRet = sqlite3_malloc(sizeof(Fts5PoslistPopulator)*pExpr->nPhrase); + if( pRet ){ + int i; + memset(pRet, 0, sizeof(Fts5PoslistPopulator)*pExpr->nPhrase); + for(i=0; inPhrase; i++){ + Fts5Buffer *pBuf = &pExpr->apExprPhrase[i]->poslist; + Fts5ExprNode *pNode = pExpr->apExprPhrase[i]->pNode; + assert( pExpr->apExprPhrase[i]->nTerm==1 ); + if( bLive && + (pBuf->n==0 || pNode->iRowid!=pExpr->pRoot->iRowid || pNode->bEof) + ){ + pRet[i].bMiss = 1; + }else{ + pBuf->n = 0; + } + } + } + return pRet; +} + +struct Fts5ExprCtx { + Fts5Expr *pExpr; + Fts5PoslistPopulator *aPopulator; + i64 iOff; +}; +typedef struct Fts5ExprCtx Fts5ExprCtx; + +/* +** TODO: Make this more efficient! +*/ +static int fts5ExprColsetTest(Fts5Colset *pColset, int iCol){ + int i; + for(i=0; inCol; i++){ + if( pColset->aiCol[i]==iCol ) return 1; + } + return 0; +} + +static int fts5ExprPopulatePoslistsCb( + void *pCtx, /* Copy of 2nd argument to xTokenize() */ + int tflags, /* Mask of FTS5_TOKEN_* flags */ + const char *pToken, /* Pointer to buffer containing token */ + int nToken, /* Size of token in bytes */ + int iUnused1, /* Byte offset of token within input text */ + int iUnused2 /* Byte offset of end of token within input text */ +){ + Fts5ExprCtx *p = (Fts5ExprCtx*)pCtx; + Fts5Expr *pExpr = p->pExpr; + int i; + + UNUSED_PARAM2(iUnused1, iUnused2); + + if( (tflags & FTS5_TOKEN_COLOCATED)==0 ) p->iOff++; + for(i=0; inPhrase; i++){ + Fts5ExprTerm *pTerm; + if( p->aPopulator[i].bOk==0 ) continue; + for(pTerm=&pExpr->apExprPhrase[i]->aTerm[0]; pTerm; pTerm=pTerm->pSynonym){ + int nTerm = strlen(pTerm->zTerm); + if( (nTerm==nToken || (nTermbPrefix)) + && memcmp(pTerm->zTerm, pToken, nTerm)==0 + ){ + int rc = sqlite3Fts5PoslistWriterAppend( + &pExpr->apExprPhrase[i]->poslist, &p->aPopulator[i].writer, p->iOff + ); + if( rc ) return rc; + break; + } + } + } + return SQLITE_OK; +} + +static int sqlite3Fts5ExprPopulatePoslists( + Fts5Config *pConfig, + Fts5Expr *pExpr, + Fts5PoslistPopulator *aPopulator, + int iCol, + const char *z, int n +){ + int i; + Fts5ExprCtx sCtx; + sCtx.pExpr = pExpr; + sCtx.aPopulator = aPopulator; + sCtx.iOff = (((i64)iCol) << 32) - 1; + + for(i=0; inPhrase; i++){ + Fts5ExprNode *pNode = pExpr->apExprPhrase[i]->pNode; + Fts5Colset *pColset = pNode->pNear->pColset; + if( (pColset && 0==fts5ExprColsetTest(pColset, iCol)) + || aPopulator[i].bMiss + ){ + aPopulator[i].bOk = 0; + }else{ + aPopulator[i].bOk = 1; + } + } + + return sqlite3Fts5Tokenize(pConfig, + FTS5_TOKENIZE_DOCUMENT, z, n, (void*)&sCtx, fts5ExprPopulatePoslistsCb + ); +} + +static void fts5ExprClearPoslists(Fts5ExprNode *pNode){ + if( pNode->eType==FTS5_TERM || pNode->eType==FTS5_STRING ){ + pNode->pNear->apPhrase[0]->poslist.n = 0; + }else{ + int i; + for(i=0; inChild; i++){ + fts5ExprClearPoslists(pNode->apChild[i]); + } + } +} + +static int fts5ExprCheckPoslists(Fts5ExprNode *pNode, i64 iRowid){ + pNode->iRowid = iRowid; + pNode->bEof = 0; + switch( pNode->eType ){ + case FTS5_TERM: + case FTS5_STRING: + return (pNode->pNear->apPhrase[0]->poslist.n>0); + + case FTS5_AND: { + int i; + for(i=0; inChild; i++){ + if( fts5ExprCheckPoslists(pNode->apChild[i], iRowid)==0 ){ + fts5ExprClearPoslists(pNode); + return 0; + } + } + break; + } + + case FTS5_OR: { + int i; + int bRet = 0; + for(i=0; inChild; i++){ + if( fts5ExprCheckPoslists(pNode->apChild[i], iRowid) ){ + bRet = 1; + } + } + return bRet; + } + + default: { + assert( pNode->eType==FTS5_NOT ); + if( 0==fts5ExprCheckPoslists(pNode->apChild[0], iRowid) + || 0!=fts5ExprCheckPoslists(pNode->apChild[1], iRowid) + ){ + fts5ExprClearPoslists(pNode); + return 0; + } + break; + } + } + return 1; +} + +static void sqlite3Fts5ExprCheckPoslists(Fts5Expr *pExpr, i64 iRowid){ + fts5ExprCheckPoslists(pExpr->pRoot, iRowid); +} + +static void fts5ExprClearEof(Fts5ExprNode *pNode){ + int i; + for(i=0; inChild; i++){ + fts5ExprClearEof(pNode->apChild[i]); + } + pNode->bEof = 0; +} +static void sqlite3Fts5ExprClearEof(Fts5Expr *pExpr){ + fts5ExprClearEof(pExpr->pRoot); +} + +/* +** This function is only called for detail=columns tables. +*/ +static int sqlite3Fts5ExprPhraseCollist( + Fts5Expr *pExpr, + int iPhrase, + const u8 **ppCollist, + int *pnCollist +){ + Fts5ExprPhrase *pPhrase = pExpr->apExprPhrase[iPhrase]; + Fts5ExprNode *pNode = pPhrase->pNode; + int rc = SQLITE_OK; + + assert( iPhrase>=0 && iPhrasenPhrase ); + assert( pExpr->pConfig->eDetail==FTS5_DETAIL_COLUMNS ); + + if( pNode->bEof==0 + && pNode->iRowid==pExpr->pRoot->iRowid + && pPhrase->poslist.n>0 + ){ + Fts5ExprTerm *pTerm = &pPhrase->aTerm[0]; + if( pTerm->pSynonym ){ + Fts5Buffer *pBuf = (Fts5Buffer*)&pTerm->pSynonym[1]; + rc = fts5ExprSynonymList( + pTerm, pNode->iRowid, pBuf, (u8**)ppCollist, pnCollist + ); + }else{ + *ppCollist = pPhrase->aTerm[0].pIter->pData; + *pnCollist = pPhrase->aTerm[0].pIter->nData; + } + }else{ + *ppCollist = 0; + *pnCollist = 0; + } + + return rc; +} + + /* ** 2014 August 11 ** @@ -173614,6 +174967,7 @@ typedef struct Fts5HashEntry Fts5HashEntry; struct Fts5Hash { + int eDetail; /* Copy of Fts5Config.eDetail */ int *pnByte; /* Pointer to bytes counter */ int nEntry; /* Number of entries currently in hash */ int nSlot; /* Size of aSlot[] array */ @@ -173649,9 +175003,10 @@ struct Fts5HashEntry { int nAlloc; /* Total size of allocation */ int iSzPoslist; /* Offset of space for 4-byte poslist size */ int nData; /* Total bytes of data (incl. structure) */ + int nKey; /* Length of zKey[] in bytes */ u8 bDel; /* Set delete-flag @ iSzPoslist */ - - int iCol; /* Column of last value written */ + u8 bContent; /* Set content-flag (detail=none mode) */ + i16 iCol; /* Column of last value written */ int iPos; /* Position of last value written */ i64 iRowid; /* Rowid of last value written */ char zKey[8]; /* Nul-terminated entry key */ @@ -173667,7 +175022,7 @@ struct Fts5HashEntry { /* ** Allocate a new hash table. */ -static int sqlite3Fts5HashNew(Fts5Hash **ppNew, int *pnByte){ +static int sqlite3Fts5HashNew(Fts5Config *pConfig, Fts5Hash **ppNew, int *pnByte){ int rc = SQLITE_OK; Fts5Hash *pNew; @@ -173678,6 +175033,7 @@ static int sqlite3Fts5HashNew(Fts5Hash **ppNew, int *pnByte){ int nByte; memset(pNew, 0, sizeof(Fts5Hash)); pNew->pnByte = pnByte; + pNew->eDetail = pConfig->eDetail; pNew->nSlot = 1024; nByte = sizeof(Fts5HashEntry*) * pNew->nSlot; @@ -173770,26 +175126,46 @@ static int fts5HashResize(Fts5Hash *pHash){ return SQLITE_OK; } -static void fts5HashAddPoslistSize(Fts5HashEntry *p){ +static void fts5HashAddPoslistSize(Fts5Hash *pHash, Fts5HashEntry *p){ if( p->iSzPoslist ){ u8 *pPtr = (u8*)p; - int nSz = (p->nData - p->iSzPoslist - 1); /* Size in bytes */ - int nPos = nSz*2 + p->bDel; /* Value of nPos field */ - - assert( p->bDel==0 || p->bDel==1 ); - if( nPos<=127 ){ - pPtr[p->iSzPoslist] = (u8)nPos; + if( pHash->eDetail==FTS5_DETAIL_NONE ){ + assert( p->nData==p->iSzPoslist ); + if( p->bDel ){ + pPtr[p->nData++] = 0x00; + if( p->bContent ){ + pPtr[p->nData++] = 0x00; + } + } }else{ - int nByte = sqlite3Fts5GetVarintLen((u32)nPos); - memmove(&pPtr[p->iSzPoslist + nByte], &pPtr[p->iSzPoslist + 1], nSz); - sqlite3Fts5PutVarint(&pPtr[p->iSzPoslist], nPos); - p->nData += (nByte-1); + int nSz = (p->nData - p->iSzPoslist - 1); /* Size in bytes */ + int nPos = nSz*2 + p->bDel; /* Value of nPos field */ + + assert( p->bDel==0 || p->bDel==1 ); + if( nPos<=127 ){ + pPtr[p->iSzPoslist] = (u8)nPos; + }else{ + int nByte = sqlite3Fts5GetVarintLen((u32)nPos); + memmove(&pPtr[p->iSzPoslist + nByte], &pPtr[p->iSzPoslist + 1], nSz); + sqlite3Fts5PutVarint(&pPtr[p->iSzPoslist], nPos); + p->nData += (nByte-1); + } } - p->bDel = 0; + p->iSzPoslist = 0; + p->bDel = 0; + p->bContent = 0; } } +/* +** Add an entry to the in-memory hash table. The key is the concatenation +** of bByte and (pToken/nToken). The value is (iRowid/iCol/iPos). +** +** (bByte || pToken) -> (iRowid,iCol,iPos) +** +** Or, if iCol is negative, then the value is a delete marker. +*/ static int sqlite3Fts5HashWrite( Fts5Hash *pHash, i64 iRowid, /* Rowid for this entry */ @@ -173802,13 +175178,16 @@ static int sqlite3Fts5HashWrite( Fts5HashEntry *p; u8 *pPtr; int nIncr = 0; /* Amount to increment (*pHash->pnByte) by */ + int bNew; /* If non-delete entry should be written */ + + bNew = (pHash->eDetail==FTS5_DETAIL_FULL); /* Attempt to locate an existing hash entry */ iHash = fts5HashKey2(pHash->nSlot, (u8)bByte, (const u8*)pToken, nToken); for(p=pHash->aSlot[iHash]; p; p=p->pHashNext){ if( p->zKey[0]==bByte + && p->nKey==nToken && memcmp(&p->zKey[1], pToken, nToken)==0 - && p->zKey[nToken+1]==0 ){ break; } @@ -173816,15 +175195,18 @@ static int sqlite3Fts5HashWrite( /* If an existing hash entry cannot be found, create a new one. */ if( p==0 ){ + /* Figure out how much space to allocate */ int nByte = FTS5_HASHENTRYSIZE + (nToken+1) + 1 + 64; if( nByte<128 ) nByte = 128; + /* Grow the Fts5Hash.aSlot[] array if necessary. */ if( (pHash->nEntry*2)>=pHash->nSlot ){ int rc = fts5HashResize(pHash); if( rc!=SQLITE_OK ) return rc; iHash = fts5HashKey2(pHash->nSlot, (u8)bByte, (const u8*)pToken, nToken); } + /* Allocate new Fts5HashEntry and add it to the hash table. */ p = (Fts5HashEntry*)sqlite3_malloc(nByte); if( !p ) return SQLITE_NOMEM; memset(p, 0, FTS5_HASHENTRYSIZE); @@ -173832,72 +175214,98 @@ static int sqlite3Fts5HashWrite( p->zKey[0] = bByte; memcpy(&p->zKey[1], pToken, nToken); assert( iHash==fts5HashKey(pHash->nSlot, (u8*)p->zKey, nToken+1) ); + p->nKey = nToken; p->zKey[nToken+1] = '\0'; p->nData = nToken+1 + 1 + FTS5_HASHENTRYSIZE; - p->nData += sqlite3Fts5PutVarint(&((u8*)p)[p->nData], iRowid); - p->iSzPoslist = p->nData; - p->nData += 1; - p->iRowid = iRowid; p->pHashNext = pHash->aSlot[iHash]; pHash->aSlot[iHash] = p; pHash->nEntry++; + + /* Add the first rowid field to the hash-entry */ + p->nData += sqlite3Fts5PutVarint(&((u8*)p)[p->nData], iRowid); + p->iRowid = iRowid; + + p->iSzPoslist = p->nData; + if( pHash->eDetail!=FTS5_DETAIL_NONE ){ + p->nData += 1; + p->iCol = (pHash->eDetail==FTS5_DETAIL_FULL ? 0 : -1); + } + nIncr += p->nData; - } + }else{ - /* Check there is enough space to append a new entry. Worst case scenario - ** is: - ** - ** + 9 bytes for a new rowid, - ** + 4 byte reserved for the "poslist size" varint. - ** + 1 byte for a "new column" byte, - ** + 3 bytes for a new column number (16-bit max) as a varint, - ** + 5 bytes for the new position offset (32-bit max). - */ - if( (p->nAlloc - p->nData) < (9 + 4 + 1 + 3 + 5) ){ - int nNew = p->nAlloc * 2; - Fts5HashEntry *pNew; - Fts5HashEntry **pp; - pNew = (Fts5HashEntry*)sqlite3_realloc(p, nNew); - if( pNew==0 ) return SQLITE_NOMEM; - pNew->nAlloc = nNew; - for(pp=&pHash->aSlot[iHash]; *pp!=p; pp=&(*pp)->pHashNext); - *pp = pNew; - p = pNew; + /* Appending to an existing hash-entry. Check that there is enough + ** space to append the largest possible new entry. Worst case scenario + ** is: + ** + ** + 9 bytes for a new rowid, + ** + 4 byte reserved for the "poslist size" varint. + ** + 1 byte for a "new column" byte, + ** + 3 bytes for a new column number (16-bit max) as a varint, + ** + 5 bytes for the new position offset (32-bit max). + */ + if( (p->nAlloc - p->nData) < (9 + 4 + 1 + 3 + 5) ){ + int nNew = p->nAlloc * 2; + Fts5HashEntry *pNew; + Fts5HashEntry **pp; + pNew = (Fts5HashEntry*)sqlite3_realloc(p, nNew); + if( pNew==0 ) return SQLITE_NOMEM; + pNew->nAlloc = nNew; + for(pp=&pHash->aSlot[iHash]; *pp!=p; pp=&(*pp)->pHashNext); + *pp = pNew; + p = pNew; + } + nIncr -= p->nData; } + assert( (p->nAlloc - p->nData) >= (9 + 4 + 1 + 3 + 5) ); + pPtr = (u8*)p; - nIncr -= p->nData; /* If this is a new rowid, append the 4-byte size field for the previous ** entry, and the new rowid for this entry. */ if( iRowid!=p->iRowid ){ - fts5HashAddPoslistSize(p); + fts5HashAddPoslistSize(pHash, p); p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iRowid - p->iRowid); - p->iSzPoslist = p->nData; - p->nData += 1; - p->iCol = 0; - p->iPos = 0; p->iRowid = iRowid; + bNew = 1; + p->iSzPoslist = p->nData; + if( pHash->eDetail!=FTS5_DETAIL_NONE ){ + p->nData += 1; + p->iCol = (pHash->eDetail==FTS5_DETAIL_FULL ? 0 : -1); + p->iPos = 0; + } } if( iCol>=0 ){ - /* Append a new column value, if necessary */ - assert( iCol>=p->iCol ); - if( iCol!=p->iCol ){ - pPtr[p->nData++] = 0x01; - p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iCol); - p->iCol = iCol; - p->iPos = 0; - } + if( pHash->eDetail==FTS5_DETAIL_NONE ){ + p->bContent = 1; + }else{ + /* Append a new column value, if necessary */ + assert( iCol>=p->iCol ); + if( iCol!=p->iCol ){ + if( pHash->eDetail==FTS5_DETAIL_FULL ){ + pPtr[p->nData++] = 0x01; + p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iCol); + p->iCol = iCol; + p->iPos = 0; + }else{ + bNew = 1; + p->iCol = iPos = iCol; + } + } - /* Append the new position offset */ - p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iPos - p->iPos + 2); - p->iPos = iPos; + /* Append the new position offset, if necessary */ + if( bNew ){ + p->nData += sqlite3Fts5PutVarint(&pPtr[p->nData], iPos - p->iPos + 2); + p->iPos = iPos; + } + } }else{ /* This is a delete. Set the delete flag. */ p->bDel = 1; } - nIncr += p->nData; + nIncr += p->nData; *pHash->pnByte += nIncr; return SQLITE_OK; } @@ -174011,7 +175419,7 @@ static int sqlite3Fts5HashQuery( } if( p ){ - fts5HashAddPoslistSize(p); + fts5HashAddPoslistSize(pHash, p); *ppDoclist = (const u8*)&p->zKey[nTerm+1]; *pnDoclist = p->nData - (FTS5_HASHENTRYSIZE + nTerm + 1); }else{ @@ -174047,7 +175455,7 @@ static void sqlite3Fts5HashScanEntry( Fts5HashEntry *p; if( (p = pHash->pScan) ){ int nTerm = (int)strlen(p->zKey); - fts5HashAddPoslistSize(p); + fts5HashAddPoslistSize(pHash, p); *pzTerm = p->zKey; *ppDoclist = (const u8*)&p->zKey[nTerm+1]; *pnDoclist = p->nData - (FTS5_HASHENTRYSIZE + nTerm + 1); @@ -174322,6 +175730,7 @@ typedef struct Fts5Data Fts5Data; typedef struct Fts5DlidxIter Fts5DlidxIter; typedef struct Fts5DlidxLvl Fts5DlidxLvl; typedef struct Fts5DlidxWriter Fts5DlidxWriter; +typedef struct Fts5Iter Fts5Iter; typedef struct Fts5PageWriter Fts5PageWriter; typedef struct Fts5SegIter Fts5SegIter; typedef struct Fts5DoclistIter Fts5DoclistIter; @@ -174494,6 +175903,9 @@ struct Fts5SegIter { Fts5Data *pNextLeaf; /* Leaf page (iLeafPgno+1) */ int iLeafOffset; /* Byte offset within current leaf */ + /* Next method */ + void (*xNext)(Fts5Index*, Fts5SegIter*, int*); + /* The page and offset from which the current term was read. The offset ** is the offset of the first rowid in the current doclist. */ int iTermLeafPgno; @@ -174513,7 +175925,7 @@ struct Fts5SegIter { Fts5Buffer term; /* Current term */ i64 iRowid; /* Current rowid */ int nPos; /* Number of bytes in current position list */ - int bDel; /* True if the delete flag is set */ + u8 bDel; /* True if the delete flag is set */ }; /* @@ -174527,7 +175939,6 @@ struct Fts5SegIter { #define FTS5_SEGITER_ONETERM 0x01 #define FTS5_SEGITER_REVERSE 0x02 - /* ** Argument is a pointer to an Fts5Data structure that contains a leaf ** page. This macro evaluates to true if the leaf contains no terms, or @@ -174562,16 +175973,20 @@ struct Fts5SegIter { ** Used by sqlite3Fts5IterPoslist() when the poslist needs to be buffered. ** There is no way to tell if this is populated or not. */ -struct Fts5IndexIter { +struct Fts5Iter { + Fts5IndexIter base; /* Base class containing output vars */ + Fts5Index *pIndex; /* Index that owns this iterator */ Fts5Structure *pStruct; /* Database structure for this iterator */ Fts5Buffer poslist; /* Buffer containing current poslist */ + Fts5Colset *pColset; /* Restrict matches to these columns */ + + /* Invoked to set output variables. */ + void (*xSetOutputs)(Fts5Iter*, Fts5SegIter*); int nSeg; /* Size of aSeg[] array */ int bRev; /* True to iterate in reverse order */ u8 bSkipEmpty; /* True to skip deleted entries */ - u8 bEof; /* True at EOF */ - u8 bFiltered; /* True if column-filter already applied */ i64 iSwitchRowid; /* Firstest rowid of other than aFirst[1] */ Fts5CResult *aFirst; /* Current merge state (see above) */ @@ -174661,17 +176076,6 @@ static int fts5BufferCompare(Fts5Buffer *pLeft, Fts5Buffer *pRight){ return (res==0 ? (pLeft->n - pRight->n) : res); } -#ifdef SQLITE_DEBUG -static int fts5BlobCompare( - const u8 *pLeft, int nLeft, - const u8 *pRight, int nRight -){ - int nCmp = MIN(nLeft, nRight); - int res = memcmp(pLeft, pRight, nCmp); - return (res==0 ? (nLeft - nRight) : res); -} -#endif - static int fts5LeafFirstTermOff(Fts5Data *pLeaf){ int ret; fts5GetVarint32(&pLeaf->p[pLeaf->szLeaf], ret); @@ -174763,6 +176167,7 @@ static Fts5Data *fts5DataRead(Fts5Index *p, i64 iRowid){ return pRet; } + /* ** Release a reference to data record returned by an earlier call to ** fts5DataRead(). @@ -174933,25 +176338,34 @@ static int fts5StructureDecode( int nTotal; int iSeg; - i += fts5GetVarint32(&pData[i], pLvl->nMerge); - i += fts5GetVarint32(&pData[i], nTotal); - assert( nTotal>=pLvl->nMerge ); - pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(&rc, - nTotal * sizeof(Fts5StructureSegment) - ); + if( i>=nData ){ + rc = FTS5_CORRUPT; + }else{ + i += fts5GetVarint32(&pData[i], pLvl->nMerge); + i += fts5GetVarint32(&pData[i], nTotal); + assert( nTotal>=pLvl->nMerge ); + pLvl->aSeg = (Fts5StructureSegment*)sqlite3Fts5MallocZero(&rc, + nTotal * sizeof(Fts5StructureSegment) + ); + } if( rc==SQLITE_OK ){ pLvl->nSeg = nTotal; for(iSeg=0; iSeg=nData ){ + rc = FTS5_CORRUPT; + break; + } i += fts5GetVarint32(&pData[i], pLvl->aSeg[iSeg].iSegid); i += fts5GetVarint32(&pData[i], pLvl->aSeg[iSeg].pgnoFirst); i += fts5GetVarint32(&pData[i], pLvl->aSeg[iSeg].pgnoLast); } - }else{ - fts5StructureRelease(pRet); - pRet = 0; } } + if( rc!=SQLITE_OK ){ + fts5StructureRelease(pRet); + pRet = 0; + } } *ppOut = pRet; @@ -175553,13 +176967,29 @@ static int fts5GetPoslistSize(const u8 *p, int *pnSz, int *pbDel){ static void fts5SegIterLoadNPos(Fts5Index *p, Fts5SegIter *pIter){ if( p->rc==SQLITE_OK ){ int iOff = pIter->iLeafOffset; /* Offset to read at */ - int nSz; ASSERT_SZLEAF_OK(pIter->pLeaf); - fts5FastGetVarint32(pIter->pLeaf->p, iOff, nSz); - pIter->bDel = (nSz & 0x0001); - pIter->nPos = nSz>>1; + if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){ + int iEod = MIN(pIter->iEndofDoclist, pIter->pLeaf->szLeaf); + pIter->bDel = 0; + pIter->nPos = 1; + if( iOffpLeaf->p[iOff]==0 ){ + pIter->bDel = 1; + iOff++; + if( iOffpLeaf->p[iOff]==0 ){ + pIter->nPos = 1; + iOff++; + }else{ + pIter->nPos = 0; + } + } + }else{ + int nSz; + fts5FastGetVarint32(pIter->pLeaf->p, iOff, nSz); + pIter->bDel = (nSz & 0x0001); + pIter->nPos = nSz>>1; + assert_nc( pIter->nPos>=0 ); + } pIter->iLeafOffset = iOff; - assert_nc( pIter->nPos>=0 ); } } @@ -175602,6 +177032,10 @@ static void fts5SegIterLoadTerm(Fts5Index *p, Fts5SegIter *pIter, int nKeep){ int nNew; /* Bytes of new data */ iOff += fts5GetVarint32(&a[iOff], nNew); + if( iOff+nNew>pIter->pLeaf->nn ){ + p->rc = FTS5_CORRUPT; + return; + } pIter->term.n = nKeep; fts5BufferAppendBlob(&p->rc, &pIter->term, nNew, &a[iOff]); iOff += nNew; @@ -175620,6 +177054,20 @@ static void fts5SegIterLoadTerm(Fts5Index *p, Fts5SegIter *pIter, int nKeep){ fts5SegIterLoadRowid(p, pIter); } +static void fts5SegIterNext(Fts5Index*, Fts5SegIter*, int*); +static void fts5SegIterNext_Reverse(Fts5Index*, Fts5SegIter*, int*); +static void fts5SegIterNext_None(Fts5Index*, Fts5SegIter*, int*); + +static void fts5SegIterSetNext(Fts5Index *p, Fts5SegIter *pIter){ + if( pIter->flags & FTS5_SEGITER_REVERSE ){ + pIter->xNext = fts5SegIterNext_Reverse; + }else if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){ + pIter->xNext = fts5SegIterNext_None; + }else{ + pIter->xNext = fts5SegIterNext; + } +} + /* ** Initialize the iterator object pIter to iterate through the entries in ** segment pSeg. The iterator is left pointing to the first entry when @@ -175645,6 +177093,7 @@ static void fts5SegIterInit( if( p->rc==SQLITE_OK ){ memset(pIter, 0, sizeof(*pIter)); + fts5SegIterSetNext(p, pIter); pIter->pSeg = pSeg; pIter->iLeafPgno = pSeg->pgnoFirst-1; fts5SegIterNextPage(p, pIter); @@ -175676,6 +177125,7 @@ static void fts5SegIterInit( ** byte of the position list content associated with said rowid. */ static void fts5SegIterReverseInitPage(Fts5Index *p, Fts5SegIter *pIter){ + int eDetail = p->pConfig->eDetail; int n = pIter->pLeaf->szLeaf; int i = pIter->iLeafOffset; u8 *a = pIter->pLeaf->p; @@ -175688,15 +177138,24 @@ static void fts5SegIterReverseInitPage(Fts5Index *p, Fts5SegIter *pIter){ ASSERT_SZLEAF_OK(pIter->pLeaf); while( 1 ){ i64 iDelta = 0; - int nPos; - int bDummy; - i += fts5GetPoslistSize(&a[i], &nPos, &bDummy); - i += nPos; + if( eDetail==FTS5_DETAIL_NONE ){ + /* todo */ + if( i=n ) break; i += fts5GetVarint(&a[i], (u64*)&iDelta); pIter->iRowid += iDelta; + /* If necessary, grow the pIter->aRowidOffset[] array. */ if( iRowidOffset>=pIter->nRowidOffset ){ int nNew = pIter->nRowidOffset + 8; int *aNew = (int*)sqlite3_realloc(pIter->aRowidOffset, nNew*sizeof(int)); @@ -175770,11 +177229,115 @@ static void fts5SegIterReverseNewPage(Fts5Index *p, Fts5SegIter *pIter){ ** points to a delete marker. A delete marker is an entry with a 0 byte ** position-list. */ -static int fts5MultiIterIsEmpty(Fts5Index *p, Fts5IndexIter *pIter){ +static int fts5MultiIterIsEmpty(Fts5Index *p, Fts5Iter *pIter){ Fts5SegIter *pSeg = &pIter->aSeg[pIter->aFirst[1].iFirst]; return (p->rc==SQLITE_OK && pSeg->pLeaf && pSeg->nPos==0); } +/* +** Advance iterator pIter to the next entry. +** +** This version of fts5SegIterNext() is only used by reverse iterators. +*/ +static void fts5SegIterNext_Reverse( + Fts5Index *p, /* FTS5 backend object */ + Fts5SegIter *pIter, /* Iterator to advance */ + int *pbUnused /* Unused */ +){ + assert( pIter->flags & FTS5_SEGITER_REVERSE ); + assert( pIter->pNextLeaf==0 ); + UNUSED_PARAM(pbUnused); + + if( pIter->iRowidOffset>0 ){ + u8 *a = pIter->pLeaf->p; + int iOff; + i64 iDelta; + + pIter->iRowidOffset--; + pIter->iLeafOffset = pIter->aRowidOffset[pIter->iRowidOffset]; + fts5SegIterLoadNPos(p, pIter); + iOff = pIter->iLeafOffset; + if( p->pConfig->eDetail!=FTS5_DETAIL_NONE ){ + iOff += pIter->nPos; + } + fts5GetVarint(&a[iOff], (u64*)&iDelta); + pIter->iRowid -= iDelta; + }else{ + fts5SegIterReverseNewPage(p, pIter); + } +} + +/* +** Advance iterator pIter to the next entry. +** +** This version of fts5SegIterNext() is only used if detail=none and the +** iterator is not a reverse direction iterator. +*/ +static void fts5SegIterNext_None( + Fts5Index *p, /* FTS5 backend object */ + Fts5SegIter *pIter, /* Iterator to advance */ + int *pbNewTerm /* OUT: Set for new term */ +){ + int iOff; + + assert( p->rc==SQLITE_OK ); + assert( (pIter->flags & FTS5_SEGITER_REVERSE)==0 ); + assert( p->pConfig->eDetail==FTS5_DETAIL_NONE ); + + ASSERT_SZLEAF_OK(pIter->pLeaf); + iOff = pIter->iLeafOffset; + + /* Next entry is on the next page */ + if( pIter->pSeg && iOff>=pIter->pLeaf->szLeaf ){ + fts5SegIterNextPage(p, pIter); + if( p->rc || pIter->pLeaf==0 ) return; + pIter->iRowid = 0; + iOff = 4; + } + + if( iOffiEndofDoclist ){ + /* Next entry is on the current page */ + i64 iDelta; + iOff += sqlite3Fts5GetVarint(&pIter->pLeaf->p[iOff], (u64*)&iDelta); + pIter->iLeafOffset = iOff; + pIter->iRowid += iDelta; + }else if( (pIter->flags & FTS5_SEGITER_ONETERM)==0 ){ + if( pIter->pSeg ){ + int nKeep = 0; + if( iOff!=fts5LeafFirstTermOff(pIter->pLeaf) ){ + iOff += fts5GetVarint32(&pIter->pLeaf->p[iOff], nKeep); + } + pIter->iLeafOffset = iOff; + fts5SegIterLoadTerm(p, pIter, nKeep); + }else{ + const u8 *pList = 0; + const char *zTerm = 0; + int nList; + sqlite3Fts5HashScanNext(p->pHash); + sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList); + if( pList==0 ) goto next_none_eof; + pIter->pLeaf->p = (u8*)pList; + pIter->pLeaf->nn = nList; + pIter->pLeaf->szLeaf = nList; + pIter->iEndofDoclist = nList; + sqlite3Fts5BufferSet(&p->rc,&pIter->term, (int)strlen(zTerm), (u8*)zTerm); + pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid); + } + + if( pbNewTerm ) *pbNewTerm = 1; + }else{ + goto next_none_eof; + } + + fts5SegIterLoadNPos(p, pIter); + + return; + next_none_eof: + fts5DataRelease(pIter->pLeaf); + pIter->pLeaf = 0; +} + + /* ** Advance iterator pIter to the next entry. ** @@ -175787,141 +177350,132 @@ static void fts5SegIterNext( Fts5SegIter *pIter, /* Iterator to advance */ int *pbNewTerm /* OUT: Set for new term */ ){ + Fts5Data *pLeaf = pIter->pLeaf; + int iOff; + int bNewTerm = 0; + int nKeep = 0; + u8 *a; + int n; + assert( pbNewTerm==0 || *pbNewTerm==0 ); - if( p->rc==SQLITE_OK ){ - if( pIter->flags & FTS5_SEGITER_REVERSE ){ - assert( pIter->pNextLeaf==0 ); - if( pIter->iRowidOffset>0 ){ - u8 *a = pIter->pLeaf->p; - int iOff; - int nPos; - int bDummy; - i64 iDelta; - - pIter->iRowidOffset--; - pIter->iLeafOffset = iOff = pIter->aRowidOffset[pIter->iRowidOffset]; - iOff += fts5GetPoslistSize(&a[iOff], &nPos, &bDummy); - iOff += nPos; - fts5GetVarint(&a[iOff], (u64*)&iDelta); - pIter->iRowid -= iDelta; - fts5SegIterLoadNPos(p, pIter); - }else{ - fts5SegIterReverseNewPage(p, pIter); + assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE ); + + /* Search for the end of the position list within the current page. */ + a = pLeaf->p; + n = pLeaf->szLeaf; + + ASSERT_SZLEAF_OK(pLeaf); + iOff = pIter->iLeafOffset + pIter->nPos; + + if( iOffiEndofDoclist ); + if( iOff>=pIter->iEndofDoclist ){ + bNewTerm = 1; + if( iOff!=fts5LeafFirstTermOff(pLeaf) ){ + iOff += fts5GetVarint32(&a[iOff], nKeep); } }else{ - Fts5Data *pLeaf = pIter->pLeaf; - int iOff; - int bNewTerm = 0; - int nKeep = 0; - - /* Search for the end of the position list within the current page. */ - u8 *a = pLeaf->p; - int n = pLeaf->szLeaf; + u64 iDelta; + iOff += sqlite3Fts5GetVarint(&a[iOff], &iDelta); + pIter->iRowid += iDelta; + assert_nc( iDelta>0 ); + } + pIter->iLeafOffset = iOff; + }else if( pIter->pSeg==0 ){ + const u8 *pList = 0; + const char *zTerm = 0; + int nList = 0; + assert( (pIter->flags & FTS5_SEGITER_ONETERM) || pbNewTerm ); + if( 0==(pIter->flags & FTS5_SEGITER_ONETERM) ){ + sqlite3Fts5HashScanNext(p->pHash); + sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList); + } + if( pList==0 ){ + fts5DataRelease(pIter->pLeaf); + pIter->pLeaf = 0; + }else{ + pIter->pLeaf->p = (u8*)pList; + pIter->pLeaf->nn = nList; + pIter->pLeaf->szLeaf = nList; + pIter->iEndofDoclist = nList+1; + sqlite3Fts5BufferSet(&p->rc, &pIter->term, (int)strlen(zTerm), + (u8*)zTerm); + pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid); + *pbNewTerm = 1; + } + }else{ + iOff = 0; + /* Next entry is not on the current page */ + while( iOff==0 ){ + fts5SegIterNextPage(p, pIter); + pLeaf = pIter->pLeaf; + if( pLeaf==0 ) break; ASSERT_SZLEAF_OK(pLeaf); - iOff = pIter->iLeafOffset + pIter->nPos; - - if( iOffiEndofDoclist ); - if( iOff>=pIter->iEndofDoclist ){ - bNewTerm = 1; - if( iOff!=fts5LeafFirstTermOff(pLeaf) ){ - iOff += fts5GetVarint32(&a[iOff], nKeep); - } - }else{ - u64 iDelta; - iOff += sqlite3Fts5GetVarint(&a[iOff], &iDelta); - pIter->iRowid += iDelta; - assert_nc( iDelta>0 ); - } + if( (iOff = fts5LeafFirstRowidOff(pLeaf)) && iOffszLeaf ){ + iOff += sqlite3Fts5GetVarint(&pLeaf->p[iOff], (u64*)&pIter->iRowid); pIter->iLeafOffset = iOff; - }else if( pIter->pSeg==0 ){ - const u8 *pList = 0; - const char *zTerm = 0; - int nList = 0; - assert( (pIter->flags & FTS5_SEGITER_ONETERM) || pbNewTerm ); - if( 0==(pIter->flags & FTS5_SEGITER_ONETERM) ){ - sqlite3Fts5HashScanNext(p->pHash); - sqlite3Fts5HashScanEntry(p->pHash, &zTerm, &pList, &nList); - } - if( pList==0 ){ - fts5DataRelease(pIter->pLeaf); - pIter->pLeaf = 0; - }else{ - pIter->pLeaf->p = (u8*)pList; - pIter->pLeaf->nn = nList; - pIter->pLeaf->szLeaf = nList; - pIter->iEndofDoclist = nList+1; - sqlite3Fts5BufferSet(&p->rc, &pIter->term, (int)strlen(zTerm), - (u8*)zTerm); - pIter->iLeafOffset = fts5GetVarint(pList, (u64*)&pIter->iRowid); - *pbNewTerm = 1; - } - }else{ - iOff = 0; - /* Next entry is not on the current page */ - while( iOff==0 ){ - fts5SegIterNextPage(p, pIter); - pLeaf = pIter->pLeaf; - if( pLeaf==0 ) break; - ASSERT_SZLEAF_OK(pLeaf); - if( (iOff = fts5LeafFirstRowidOff(pLeaf)) && iOffszLeaf ){ - iOff += sqlite3Fts5GetVarint(&pLeaf->p[iOff], (u64*)&pIter->iRowid); - pIter->iLeafOffset = iOff; - - if( pLeaf->nn>pLeaf->szLeaf ){ - pIter->iPgidxOff = pLeaf->szLeaf + fts5GetVarint32( - &pLeaf->p[pLeaf->szLeaf], pIter->iEndofDoclist + if( pLeaf->nn>pLeaf->szLeaf ){ + pIter->iPgidxOff = pLeaf->szLeaf + fts5GetVarint32( + &pLeaf->p[pLeaf->szLeaf], pIter->iEndofDoclist ); - } + } - } - else if( pLeaf->nn>pLeaf->szLeaf ){ - pIter->iPgidxOff = pLeaf->szLeaf + fts5GetVarint32( - &pLeaf->p[pLeaf->szLeaf], iOff + } + else if( pLeaf->nn>pLeaf->szLeaf ){ + pIter->iPgidxOff = pLeaf->szLeaf + fts5GetVarint32( + &pLeaf->p[pLeaf->szLeaf], iOff ); - pIter->iLeafOffset = iOff; - pIter->iEndofDoclist = iOff; - bNewTerm = 1; - } - if( iOff>=pLeaf->szLeaf ){ - p->rc = FTS5_CORRUPT; - return; - } - } + pIter->iLeafOffset = iOff; + pIter->iEndofDoclist = iOff; + bNewTerm = 1; } + assert_nc( iOffszLeaf ); + if( iOff>pLeaf->szLeaf ){ + p->rc = FTS5_CORRUPT; + return; + } + } + } - /* Check if the iterator is now at EOF. If so, return early. */ - if( pIter->pLeaf ){ - if( bNewTerm ){ - if( pIter->flags & FTS5_SEGITER_ONETERM ){ - fts5DataRelease(pIter->pLeaf); - pIter->pLeaf = 0; - }else{ - fts5SegIterLoadTerm(p, pIter, nKeep); - fts5SegIterLoadNPos(p, pIter); - if( pbNewTerm ) *pbNewTerm = 1; - } - }else{ - /* The following could be done by calling fts5SegIterLoadNPos(). But - ** this block is particularly performance critical, so equivalent - ** code is inlined. */ - int nSz; - assert( p->rc==SQLITE_OK ); - fts5FastGetVarint32(pIter->pLeaf->p, pIter->iLeafOffset, nSz); - pIter->bDel = (nSz & 0x0001); - pIter->nPos = nSz>>1; - assert_nc( pIter->nPos>=0 ); - } + /* Check if the iterator is now at EOF. If so, return early. */ + if( pIter->pLeaf ){ + if( bNewTerm ){ + if( pIter->flags & FTS5_SEGITER_ONETERM ){ + fts5DataRelease(pIter->pLeaf); + pIter->pLeaf = 0; + }else{ + fts5SegIterLoadTerm(p, pIter, nKeep); + fts5SegIterLoadNPos(p, pIter); + if( pbNewTerm ) *pbNewTerm = 1; } + }else{ + /* The following could be done by calling fts5SegIterLoadNPos(). But + ** this block is particularly performance critical, so equivalent + ** code is inlined. + ** + ** Later: Switched back to fts5SegIterLoadNPos() because it supports + ** detail=none mode. Not ideal. + */ + int nSz; + assert( p->rc==SQLITE_OK ); + fts5FastGetVarint32(pIter->pLeaf->p, pIter->iLeafOffset, nSz); + pIter->bDel = (nSz & 0x0001); + pIter->nPos = nSz>>1; + assert_nc( pIter->nPos>=0 ); } } } #define SWAPVAL(T, a, b) { T tmp; tmp=a; a=b; b=tmp; } +#define fts5IndexSkipVarint(a, iOff) { \ + int iEnd = iOff+9; \ + while( (a[iOff++] & 0x80) && iOffiLeafOffset -= sqlite3Fts5GetVarintLen(pIter->nPos*2+pIter->bDel); + int iPoslist; + if( pIter->iTermLeafPgno==pIter->iLeafPgno ){ + iPoslist = pIter->iTermLeafOffset; + }else{ + iPoslist = 4; + } + fts5IndexSkipVarint(pLeaf->p, iPoslist); + pIter->iLeafOffset = iPoslist; /* If this condition is true then the largest rowid for the current ** term may not be stored on the current page. So search forward to @@ -176026,11 +177587,6 @@ static void fts5SegIterLoadDlidx(Fts5Index *p, Fts5SegIter *pIter){ pIter->pDlidx = fts5DlidxIterInit(p, bRev, iSeg, pIter->iTermLeafPgno); } -#define fts5IndexSkipVarint(a, iOff) { \ - int iEnd = iOff+9; \ - while( (a[iOff++] & 0x80) && iOffn ){ + p->rc = FTS5_CORRUPT; + return; + } while( 1 ){ @@ -176168,7 +177728,6 @@ static void fts5LeafSeek( */ static void fts5SegIterSeekInit( Fts5Index *p, /* FTS5 backend */ - Fts5Buffer *pBuf, /* Buffer to use for loading pages */ const u8 *pTerm, int nTerm, /* Term to seek to */ int flags, /* Mask of FTS5INDEX_XXX flags */ Fts5StructureSegment *pSeg, /* Description of segment */ @@ -176178,9 +177737,6 @@ static void fts5SegIterSeekInit( int bGe = (flags & FTS5INDEX_QUERY_SCAN); int bDlidx = 0; /* True if there is a doclist-index */ - static int nCall = 0; - nCall++; - assert( bGe==0 || (flags & FTS5INDEX_QUERY_DESC)==0 ); assert( pTerm && nTerm ); memset(pIter, 0, sizeof(*pIter)); @@ -176233,6 +177789,8 @@ static void fts5SegIterSeekInit( } } + fts5SegIterSetNext(p, pIter); + /* Either: ** ** 1) an error has occurred, or @@ -176290,7 +177848,7 @@ static void fts5SegIterHashInit( pLeaf->nn = pLeaf->szLeaf = nList; pIter->pLeaf = pLeaf; pIter->iLeafOffset = fts5GetVarint(pLeaf->p, (u64*)&pIter->iRowid); - pIter->iEndofDoclist = pLeaf->nn+1; + pIter->iEndofDoclist = pLeaf->nn; if( flags & FTS5INDEX_QUERY_DESC ){ pIter->flags |= FTS5_SEGITER_REVERSE; @@ -176299,6 +177857,8 @@ static void fts5SegIterHashInit( fts5SegIterLoadNPos(p, pIter); } } + + fts5SegIterSetNext(p, pIter); } /* @@ -176322,7 +177882,7 @@ static void fts5SegIterClear(Fts5SegIter *pIter){ ** two iterators. */ static void fts5AssertComparisonResult( - Fts5IndexIter *pIter, + Fts5Iter *pIter, Fts5SegIter *p1, Fts5SegIter *p2, Fts5CResult *pRes @@ -176363,12 +177923,12 @@ static void fts5AssertComparisonResult( ** statement used to verify that the contents of the pIter->aFirst[] array ** are correct. */ -static void fts5AssertMultiIterSetup(Fts5Index *p, Fts5IndexIter *pIter){ +static void fts5AssertMultiIterSetup(Fts5Index *p, Fts5Iter *pIter){ if( p->rc==SQLITE_OK ){ Fts5SegIter *pFirst = &pIter->aSeg[ pIter->aFirst[1].iFirst ]; int i; - assert( (pFirst->pLeaf==0)==pIter->bEof ); + assert( (pFirst->pLeaf==0)==pIter->base.bEof ); /* Check that pIter->iSwitchRowid is set correctly. */ for(i=0; inSeg; i++){ @@ -176408,7 +177968,7 @@ static void fts5AssertMultiIterSetup(Fts5Index *p, Fts5IndexIter *pIter){ ** to a key that is a duplicate of another, higher priority, ** segment-iterator in the pSeg->aSeg[] array. */ -static int fts5MultiIterDoCompare(Fts5IndexIter *pIter, int iOut){ +static int fts5MultiIterDoCompare(Fts5Iter *pIter, int iOut){ int i1; /* Index of left-hand Fts5SegIter */ int i2; /* Index of right-hand Fts5SegIter */ int iRes; @@ -176542,7 +178102,7 @@ static void fts5SegIterNextFrom( } do{ - if( bMove ) fts5SegIterNext(p, pIter, 0); + if( bMove && p->rc==SQLITE_OK ) pIter->xNext(p, pIter, 0); if( pIter->pLeaf==0 ) break; if( bRev==0 && pIter->iRowid>=iMatch ) break; if( bRev!=0 && pIter->iRowid<=iMatch ) break; @@ -176554,7 +178114,7 @@ static void fts5SegIterNextFrom( /* ** Free the iterator object passed as the second argument. */ -static void fts5MultiIterFree(Fts5Index *p, Fts5IndexIter *pIter){ +static void fts5MultiIterFree(Fts5Iter *pIter){ if( pIter ){ int i; for(i=0; inSeg; i++){ @@ -176568,7 +178128,7 @@ static void fts5MultiIterFree(Fts5Index *p, Fts5IndexIter *pIter){ static void fts5MultiIterAdvanced( Fts5Index *p, /* FTS5 backend to iterate within */ - Fts5IndexIter *pIter, /* Iterator to update aFirst[] array for */ + Fts5Iter *pIter, /* Iterator to update aFirst[] array for */ int iChanged, /* Index of sub-iterator just advanced */ int iMinset /* Minimum entry in aFirst[] to set */ ){ @@ -176576,7 +178136,9 @@ static void fts5MultiIterAdvanced( for(i=(pIter->nSeg+iChanged)/2; i>=iMinset && p->rc==SQLITE_OK; i=i/2){ int iEq; if( (iEq = fts5MultiIterDoCompare(pIter, i)) ){ - fts5SegIterNext(p, &pIter->aSeg[iEq], 0); + Fts5SegIter *pSeg = &pIter->aSeg[iEq]; + assert( p->rc==SQLITE_OK ); + pSeg->xNext(p, pSeg, 0); i = pIter->nSeg + iEq; } } @@ -176593,9 +178155,9 @@ static void fts5MultiIterAdvanced( ** that it deals with more complicated cases as well. */ static int fts5MultiIterAdvanceRowid( - Fts5Index *p, /* FTS5 backend to iterate within */ - Fts5IndexIter *pIter, /* Iterator to update aFirst[] array for */ - int iChanged /* Index of sub-iterator just advanced */ + Fts5Iter *pIter, /* Iterator to update aFirst[] array for */ + int iChanged, /* Index of sub-iterator just advanced */ + Fts5SegIter **ppFirst ){ Fts5SegIter *pNew = &pIter->aSeg[iChanged]; @@ -176628,15 +178190,16 @@ static int fts5MultiIterAdvanceRowid( } } + *ppFirst = pNew; return 0; } /* ** Set the pIter->bEof variable based on the state of the sub-iterators. */ -static void fts5MultiIterSetEof(Fts5IndexIter *pIter){ +static void fts5MultiIterSetEof(Fts5Iter *pIter){ Fts5SegIter *pSeg = &pIter->aSeg[ pIter->aFirst[1].iFirst ]; - pIter->bEof = pSeg->pLeaf==0; + pIter->base.bEof = pSeg->pLeaf==0; pIter->iSwitchRowid = pSeg->iRowid; } @@ -176649,39 +178212,44 @@ static void fts5MultiIterSetEof(Fts5IndexIter *pIter){ */ static void fts5MultiIterNext( Fts5Index *p, - Fts5IndexIter *pIter, + Fts5Iter *pIter, int bFrom, /* True if argument iFrom is valid */ i64 iFrom /* Advance at least as far as this */ ){ - if( p->rc==SQLITE_OK ){ - int bUseFrom = bFrom; - do { - int iFirst = pIter->aFirst[1].iFirst; - int bNewTerm = 0; - Fts5SegIter *pSeg = &pIter->aSeg[iFirst]; - assert( p->rc==SQLITE_OK ); - if( bUseFrom && pSeg->pDlidx ){ - fts5SegIterNextFrom(p, pSeg, iFrom); - }else{ - fts5SegIterNext(p, pSeg, &bNewTerm); - } + int bUseFrom = bFrom; + while( p->rc==SQLITE_OK ){ + int iFirst = pIter->aFirst[1].iFirst; + int bNewTerm = 0; + Fts5SegIter *pSeg = &pIter->aSeg[iFirst]; + assert( p->rc==SQLITE_OK ); + if( bUseFrom && pSeg->pDlidx ){ + fts5SegIterNextFrom(p, pSeg, iFrom); + }else{ + pSeg->xNext(p, pSeg, &bNewTerm); + } - if( pSeg->pLeaf==0 || bNewTerm - || fts5MultiIterAdvanceRowid(p, pIter, iFirst) - ){ - fts5MultiIterAdvanced(p, pIter, iFirst, 1); - fts5MultiIterSetEof(pIter); - } - fts5AssertMultiIterSetup(p, pIter); + if( pSeg->pLeaf==0 || bNewTerm + || fts5MultiIterAdvanceRowid(pIter, iFirst, &pSeg) + ){ + fts5MultiIterAdvanced(p, pIter, iFirst, 1); + fts5MultiIterSetEof(pIter); + pSeg = &pIter->aSeg[pIter->aFirst[1].iFirst]; + if( pSeg->pLeaf==0 ) return; + } - bUseFrom = 0; - }while( pIter->bSkipEmpty && fts5MultiIterIsEmpty(p, pIter) ); + fts5AssertMultiIterSetup(p, pIter); + assert( pSeg==&pIter->aSeg[pIter->aFirst[1].iFirst] && pSeg->pLeaf ); + if( pIter->bSkipEmpty==0 || pSeg->nPos ){ + pIter->xSetOutputs(pIter, pSeg); + return; + } + bUseFrom = 0; } } static void fts5MultiIterNext2( Fts5Index *p, - Fts5IndexIter *pIter, + Fts5Iter *pIter, int *pbNewTerm /* OUT: True if *might* be new term */ ){ assert( pIter->bSkipEmpty ); @@ -176691,9 +178259,10 @@ static void fts5MultiIterNext2( Fts5SegIter *pSeg = &pIter->aSeg[iFirst]; int bNewTerm = 0; - fts5SegIterNext(p, pSeg, &bNewTerm); + assert( p->rc==SQLITE_OK ); + pSeg->xNext(p, pSeg, &bNewTerm); if( pSeg->pLeaf==0 || bNewTerm - || fts5MultiIterAdvanceRowid(p, pIter, iFirst) + || fts5MultiIterAdvanceRowid(pIter, iFirst, &pSeg) ){ fts5MultiIterAdvanced(p, pIter, iFirst, 1); fts5MultiIterSetEof(pIter); @@ -176707,17 +178276,20 @@ static void fts5MultiIterNext2( } } +static void fts5IterSetOutputs_Noop(Fts5Iter *pUnused1, Fts5SegIter *pUnused2){ + UNUSED_PARAM2(pUnused1, pUnused2); +} -static Fts5IndexIter *fts5MultiIterAlloc( +static Fts5Iter *fts5MultiIterAlloc( Fts5Index *p, /* FTS5 backend to iterate within */ int nSeg ){ - Fts5IndexIter *pNew; + Fts5Iter *pNew; int nSlot; /* Power of two >= nSeg */ for(nSlot=2; nSlotaSeg[] */ sizeof(Fts5CResult) * nSlot /* pNew->aFirst[] */ ); @@ -176725,12 +178297,420 @@ static Fts5IndexIter *fts5MultiIterAlloc( pNew->nSeg = nSlot; pNew->aFirst = (Fts5CResult*)&pNew->aSeg[nSlot]; pNew->pIndex = p; + pNew->xSetOutputs = fts5IterSetOutputs_Noop; } return pNew; } +static void fts5PoslistCallback( + Fts5Index *pUnused, + void *pContext, + const u8 *pChunk, int nChunk +){ + UNUSED_PARAM(pUnused); + assert_nc( nChunk>=0 ); + if( nChunk>0 ){ + fts5BufferSafeAppendBlob((Fts5Buffer*)pContext, pChunk, nChunk); + } +} + +typedef struct PoslistCallbackCtx PoslistCallbackCtx; +struct PoslistCallbackCtx { + Fts5Buffer *pBuf; /* Append to this buffer */ + Fts5Colset *pColset; /* Restrict matches to this column */ + int eState; /* See above */ +}; + +typedef struct PoslistOffsetsCtx PoslistOffsetsCtx; +struct PoslistOffsetsCtx { + Fts5Buffer *pBuf; /* Append to this buffer */ + Fts5Colset *pColset; /* Restrict matches to this column */ + int iRead; + int iWrite; +}; + /* -** Allocate a new Fts5IndexIter object. +** TODO: Make this more efficient! +*/ +static int fts5IndexColsetTest(Fts5Colset *pColset, int iCol){ + int i; + for(i=0; inCol; i++){ + if( pColset->aiCol[i]==iCol ) return 1; + } + return 0; +} + +static void fts5PoslistOffsetsCallback( + Fts5Index *pUnused, + void *pContext, + const u8 *pChunk, int nChunk +){ + PoslistOffsetsCtx *pCtx = (PoslistOffsetsCtx*)pContext; + UNUSED_PARAM(pUnused); + assert_nc( nChunk>=0 ); + if( nChunk>0 ){ + int i = 0; + while( iiRead - 2; + pCtx->iRead = iVal; + if( fts5IndexColsetTest(pCtx->pColset, iVal) ){ + fts5BufferSafeAppendVarint(pCtx->pBuf, iVal + 2 - pCtx->iWrite); + pCtx->iWrite = iVal; + } + } + } +} + +static void fts5PoslistFilterCallback( + Fts5Index *pUnused, + void *pContext, + const u8 *pChunk, int nChunk +){ + PoslistCallbackCtx *pCtx = (PoslistCallbackCtx*)pContext; + UNUSED_PARAM(pUnused); + assert_nc( nChunk>=0 ); + if( nChunk>0 ){ + /* Search through to find the first varint with value 1. This is the + ** start of the next columns hits. */ + int i = 0; + int iStart = 0; + + if( pCtx->eState==2 ){ + int iCol; + fts5FastGetVarint32(pChunk, i, iCol); + if( fts5IndexColsetTest(pCtx->pColset, iCol) ){ + pCtx->eState = 1; + fts5BufferSafeAppendVarint(pCtx->pBuf, 1); + }else{ + pCtx->eState = 0; + } + } + + do { + while( ieState ){ + fts5BufferSafeAppendBlob(pCtx->pBuf, &pChunk[iStart], i-iStart); + } + if( i=nChunk ){ + pCtx->eState = 2; + }else{ + fts5FastGetVarint32(pChunk, i, iCol); + pCtx->eState = fts5IndexColsetTest(pCtx->pColset, iCol); + if( pCtx->eState ){ + fts5BufferSafeAppendBlob(pCtx->pBuf, &pChunk[iStart], i-iStart); + iStart = i; + } + } + } + }while( inPos; /* Number of bytes still to come */ + Fts5Data *pData = 0; + u8 *pChunk = &pSeg->pLeaf->p[pSeg->iLeafOffset]; + int nChunk = MIN(nRem, pSeg->pLeaf->szLeaf - pSeg->iLeafOffset); + int pgno = pSeg->iLeafPgno; + int pgnoSave = 0; + + /* This function does notmwork with detail=none databases. */ + assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE ); + + if( (pSeg->flags & FTS5_SEGITER_REVERSE)==0 ){ + pgnoSave = pgno+1; + } + + while( 1 ){ + xChunk(p, pCtx, pChunk, nChunk); + nRem -= nChunk; + fts5DataRelease(pData); + if( nRem<=0 ){ + break; + }else{ + pgno++; + pData = fts5DataRead(p, FTS5_SEGMENT_ROWID(pSeg->pSeg->iSegid, pgno)); + if( pData==0 ) break; + pChunk = &pData->p[4]; + nChunk = MIN(nRem, pData->szLeaf - 4); + if( pgno==pgnoSave ){ + assert( pSeg->pNextLeaf==0 ); + pSeg->pNextLeaf = pData; + pData = 0; + } + } + } +} + +/* +** Iterator pIter currently points to a valid entry (not EOF). This +** function appends the position list data for the current entry to +** buffer pBuf. It does not make a copy of the position-list size +** field. +*/ +static void fts5SegiterPoslist( + Fts5Index *p, + Fts5SegIter *pSeg, + Fts5Colset *pColset, + Fts5Buffer *pBuf +){ + if( 0==fts5BufferGrow(&p->rc, pBuf, pSeg->nPos) ){ + if( pColset==0 ){ + fts5ChunkIterate(p, pSeg, (void*)pBuf, fts5PoslistCallback); + }else{ + if( p->pConfig->eDetail==FTS5_DETAIL_FULL ){ + PoslistCallbackCtx sCtx; + sCtx.pBuf = pBuf; + sCtx.pColset = pColset; + sCtx.eState = fts5IndexColsetTest(pColset, 0); + assert( sCtx.eState==0 || sCtx.eState==1 ); + fts5ChunkIterate(p, pSeg, (void*)&sCtx, fts5PoslistFilterCallback); + }else{ + PoslistOffsetsCtx sCtx; + memset(&sCtx, 0, sizeof(sCtx)); + sCtx.pBuf = pBuf; + sCtx.pColset = pColset; + fts5ChunkIterate(p, pSeg, (void*)&sCtx, fts5PoslistOffsetsCallback); + } + } + } +} + +/* +** IN/OUT parameter (*pa) points to a position list n bytes in size. If +** the position list contains entries for column iCol, then (*pa) is set +** to point to the sub-position-list for that column and the number of +** bytes in it returned. Or, if the argument position list does not +** contain any entries for column iCol, return 0. +*/ +static int fts5IndexExtractCol( + const u8 **pa, /* IN/OUT: Pointer to poslist */ + int n, /* IN: Size of poslist in bytes */ + int iCol /* Column to extract from poslist */ +){ + int iCurrent = 0; /* Anything before the first 0x01 is col 0 */ + const u8 *p = *pa; + const u8 *pEnd = &p[n]; /* One byte past end of position list */ + + while( iCol>iCurrent ){ + /* Advance pointer p until it points to pEnd or an 0x01 byte that is + ** not part of a varint. Note that it is not possible for a negative + ** or extremely large varint to occur within an uncorrupted position + ** list. So the last byte of each varint may be assumed to have a clear + ** 0x80 bit. */ + while( *p!=0x01 ){ + while( *p++ & 0x80 ); + if( p>=pEnd ) return 0; + } + *pa = p++; + iCurrent = *p++; + if( iCurrent & 0x80 ){ + p--; + p += fts5GetVarint32(p, iCurrent); + } + } + if( iCol!=iCurrent ) return 0; + + /* Advance pointer p until it points to pEnd or an 0x01 byte that is + ** not part of a varint */ + while( pnCol; i++){ + const u8 *pSub = pPos; + int nSub = fts5IndexExtractCol(&pSub, nPos, pColset->aiCol[i]); + if( nSub ){ + fts5BufferAppendBlob(&rc, pBuf, nSub, pSub); + } + } + return rc; +} + +/* +** xSetOutputs callback used by detail=none tables. +*/ +static void fts5IterSetOutputs_None(Fts5Iter *pIter, Fts5SegIter *pSeg){ + assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_NONE ); + pIter->base.iRowid = pSeg->iRowid; + pIter->base.nData = pSeg->nPos; +} + +/* +** xSetOutputs callback used by detail=full and detail=col tables when no +** column filters are specified. +*/ +static void fts5IterSetOutputs_Nocolset(Fts5Iter *pIter, Fts5SegIter *pSeg){ + pIter->base.iRowid = pSeg->iRowid; + pIter->base.nData = pSeg->nPos; + + assert( pIter->pIndex->pConfig->eDetail!=FTS5_DETAIL_NONE ); + assert( pIter->pColset==0 ); + + if( pSeg->iLeafOffset+pSeg->nPos<=pSeg->pLeaf->szLeaf ){ + /* All data is stored on the current page. Populate the output + ** variables to point into the body of the page object. */ + pIter->base.pData = &pSeg->pLeaf->p[pSeg->iLeafOffset]; + }else{ + /* The data is distributed over two or more pages. Copy it into the + ** Fts5Iter.poslist buffer and then set the output pointer to point + ** to this buffer. */ + fts5BufferZero(&pIter->poslist); + fts5SegiterPoslist(pIter->pIndex, pSeg, 0, &pIter->poslist); + pIter->base.pData = pIter->poslist.p; + } +} + +/* +** xSetOutputs callback used by detail=col when there is a column filter +** and there are 100 or more columns. Also called as a fallback from +** fts5IterSetOutputs_Col100 if the column-list spans more than one page. +*/ +static void fts5IterSetOutputs_Col(Fts5Iter *pIter, Fts5SegIter *pSeg){ + fts5BufferZero(&pIter->poslist); + fts5SegiterPoslist(pIter->pIndex, pSeg, pIter->pColset, &pIter->poslist); + pIter->base.iRowid = pSeg->iRowid; + pIter->base.pData = pIter->poslist.p; + pIter->base.nData = pIter->poslist.n; +} + +/* +** xSetOutputs callback used when: +** +** * detail=col, +** * there is a column filter, and +** * the table contains 100 or fewer columns. +** +** The last point is to ensure all column numbers are stored as +** single-byte varints. +*/ +static void fts5IterSetOutputs_Col100(Fts5Iter *pIter, Fts5SegIter *pSeg){ + + assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_COLUMNS ); + assert( pIter->pColset ); + + if( pSeg->iLeafOffset+pSeg->nPos>pSeg->pLeaf->szLeaf ){ + fts5IterSetOutputs_Col(pIter, pSeg); + }else{ + u8 *a = (u8*)&pSeg->pLeaf->p[pSeg->iLeafOffset]; + u8 *pEnd = (u8*)&a[pSeg->nPos]; + int iPrev = 0; + int *aiCol = pIter->pColset->aiCol; + int *aiColEnd = &aiCol[pIter->pColset->nCol]; + + u8 *aOut = pIter->poslist.p; + int iPrevOut = 0; + + pIter->base.iRowid = pSeg->iRowid; + + while( abase.pData = pIter->poslist.p; + pIter->base.nData = aOut - pIter->poslist.p; + } +} + +/* +** xSetOutputs callback used by detail=full when there is a column filter. +*/ +static void fts5IterSetOutputs_Full(Fts5Iter *pIter, Fts5SegIter *pSeg){ + Fts5Colset *pColset = pIter->pColset; + pIter->base.iRowid = pSeg->iRowid; + + assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_FULL ); + assert( pColset ); + + if( pSeg->iLeafOffset+pSeg->nPos<=pSeg->pLeaf->szLeaf ){ + /* All data is stored on the current page. Populate the output + ** variables to point into the body of the page object. */ + const u8 *a = &pSeg->pLeaf->p[pSeg->iLeafOffset]; + if( pColset->nCol==1 ){ + pIter->base.nData = fts5IndexExtractCol(&a, pSeg->nPos,pColset->aiCol[0]); + pIter->base.pData = a; + }else{ + fts5BufferZero(&pIter->poslist); + fts5IndexExtractColset(pColset, a, pSeg->nPos, &pIter->poslist); + pIter->base.pData = pIter->poslist.p; + pIter->base.nData = pIter->poslist.n; + } + }else{ + /* The data is distributed over two or more pages. Copy it into the + ** Fts5Iter.poslist buffer and then set the output pointer to point + ** to this buffer. */ + fts5BufferZero(&pIter->poslist); + fts5SegiterPoslist(pIter->pIndex, pSeg, pColset, &pIter->poslist); + pIter->base.pData = pIter->poslist.p; + pIter->base.nData = pIter->poslist.n; + } +} + +static void fts5IterSetOutputCb(int *pRc, Fts5Iter *pIter){ + if( *pRc==SQLITE_OK ){ + Fts5Config *pConfig = pIter->pIndex->pConfig; + if( pConfig->eDetail==FTS5_DETAIL_NONE ){ + pIter->xSetOutputs = fts5IterSetOutputs_None; + } + + else if( pIter->pColset==0 ){ + pIter->xSetOutputs = fts5IterSetOutputs_Nocolset; + } + + else if( pConfig->eDetail==FTS5_DETAIL_FULL ){ + pIter->xSetOutputs = fts5IterSetOutputs_Full; + } + + else{ + assert( pConfig->eDetail==FTS5_DETAIL_COLUMNS ); + if( pConfig->nCol<=100 ){ + pIter->xSetOutputs = fts5IterSetOutputs_Col100; + sqlite3Fts5BufferSize(pRc, &pIter->poslist, pConfig->nCol); + }else{ + pIter->xSetOutputs = fts5IterSetOutputs_Col; + } + } + } +} + + +/* +** Allocate a new Fts5Iter object. ** ** The new object will be used to iterate through data in structure pStruct. ** If iLevel is -ve, then all data in all segments is merged. Or, if iLevel @@ -176743,19 +178723,18 @@ static Fts5IndexIter *fts5MultiIterAlloc( static void fts5MultiIterNew( Fts5Index *p, /* FTS5 backend to iterate within */ Fts5Structure *pStruct, /* Structure of specific index */ - int bSkipEmpty, /* True to ignore delete-keys */ int flags, /* FTS5INDEX_QUERY_XXX flags */ + Fts5Colset *pColset, /* Colset to filter on (or NULL) */ const u8 *pTerm, int nTerm, /* Term to seek to (or NULL/0) */ int iLevel, /* Level to iterate (-1 for all) */ int nSegment, /* Number of segments to merge (iLevel>=0) */ - Fts5IndexIter **ppOut /* New object */ + Fts5Iter **ppOut /* New object */ ){ int nSeg = 0; /* Number of segment-iters in use */ int iIter = 0; /* */ int iSeg; /* Used to iterate through segments */ - Fts5Buffer buf = {0,0,0}; /* Buffer used by fts5SegIterSeekInit() */ Fts5StructureLevel *pLvl; - Fts5IndexIter *pNew; + Fts5Iter *pNew; assert( (pTerm==0 && nTerm==0) || iLevel<0 ); @@ -176772,36 +178751,42 @@ static void fts5MultiIterNew( *ppOut = pNew = fts5MultiIterAlloc(p, nSeg); if( pNew==0 ) return; pNew->bRev = (0!=(flags & FTS5INDEX_QUERY_DESC)); - pNew->bSkipEmpty = (u8)bSkipEmpty; + pNew->bSkipEmpty = (0!=(flags & FTS5INDEX_QUERY_SKIPEMPTY)); pNew->pStruct = pStruct; + pNew->pColset = pColset; fts5StructureRef(pStruct); + if( (flags & FTS5INDEX_QUERY_NOOUTPUT)==0 ){ + fts5IterSetOutputCb(&p->rc, pNew); + } /* Initialize each of the component segment iterators. */ - if( iLevel<0 ){ - Fts5StructureLevel *pEnd = &pStruct->aLevel[pStruct->nLevel]; - if( p->pHash ){ - /* Add a segment iterator for the current contents of the hash table. */ - Fts5SegIter *pIter = &pNew->aSeg[iIter++]; - fts5SegIterHashInit(p, pTerm, nTerm, flags, pIter); - } - for(pLvl=&pStruct->aLevel[0]; pLvlnSeg-1; iSeg>=0; iSeg--){ - Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg]; + if( p->rc==SQLITE_OK ){ + if( iLevel<0 ){ + Fts5StructureLevel *pEnd = &pStruct->aLevel[pStruct->nLevel]; + if( p->pHash ){ + /* Add a segment iterator for the current contents of the hash table. */ Fts5SegIter *pIter = &pNew->aSeg[iIter++]; - if( pTerm==0 ){ - fts5SegIterInit(p, pSeg, pIter); - }else{ - fts5SegIterSeekInit(p, &buf, pTerm, nTerm, flags, pSeg, pIter); + fts5SegIterHashInit(p, pTerm, nTerm, flags, pIter); + } + for(pLvl=&pStruct->aLevel[0]; pLvlnSeg-1; iSeg>=0; iSeg--){ + Fts5StructureSegment *pSeg = &pLvl->aSeg[iSeg]; + Fts5SegIter *pIter = &pNew->aSeg[iIter++]; + if( pTerm==0 ){ + fts5SegIterInit(p, pSeg, pIter); + }else{ + fts5SegIterSeekInit(p, pTerm, nTerm, flags, pSeg, pIter); + } } } + }else{ + pLvl = &pStruct->aLevel[iLevel]; + for(iSeg=nSeg-1; iSeg>=0; iSeg--){ + fts5SegIterInit(p, &pLvl->aSeg[iSeg], &pNew->aSeg[iIter++]); + } } - }else{ - pLvl = &pStruct->aLevel[iLevel]; - for(iSeg=nSeg-1; iSeg>=0; iSeg--){ - fts5SegIterInit(p, &pLvl->aSeg[iSeg], &pNew->aSeg[iIter++]); - } + assert( iIter==nSeg ); } - assert( iIter==nSeg ); /* If the above was successful, each component iterators now points ** to the first entry in its segment. In this case initialize the @@ -176811,7 +178796,8 @@ static void fts5MultiIterNew( for(iIter=pNew->nSeg-1; iIter>0; iIter--){ int iEq; if( (iEq = fts5MultiIterDoCompare(pNew, iIter)) ){ - fts5SegIterNext(p, &pNew->aSeg[iEq], 0); + Fts5SegIter *pSeg = &pNew->aSeg[iEq]; + if( p->rc==SQLITE_OK ) pSeg->xNext(p, pSeg, 0); fts5MultiIterAdvanced(p, pNew, iEq, iIter); } } @@ -176820,30 +178806,32 @@ static void fts5MultiIterNew( if( pNew->bSkipEmpty && fts5MultiIterIsEmpty(p, pNew) ){ fts5MultiIterNext(p, pNew, 0, 0); + }else if( pNew->base.bEof==0 ){ + Fts5SegIter *pSeg = &pNew->aSeg[pNew->aFirst[1].iFirst]; + pNew->xSetOutputs(pNew, pSeg); } + }else{ - fts5MultiIterFree(p, pNew); + fts5MultiIterFree(pNew); *ppOut = 0; } - fts5BufferFree(&buf); } /* -** Create an Fts5IndexIter that iterates through the doclist provided +** Create an Fts5Iter that iterates through the doclist provided ** as the second argument. */ static void fts5MultiIterNew2( Fts5Index *p, /* FTS5 backend to iterate within */ Fts5Data *pData, /* Doclist to iterate through */ int bDesc, /* True for descending rowid order */ - Fts5IndexIter **ppOut /* New object */ + Fts5Iter **ppOut /* New object */ ){ - Fts5IndexIter *pNew; + Fts5Iter *pNew; pNew = fts5MultiIterAlloc(p, 2); if( pNew ){ Fts5SegIter *pIter = &pNew->aSeg[1]; - pNew->bFiltered = 1; pIter->flags = FTS5_SEGITER_ONETERM; if( pData->szLeaf>0 ){ pIter->pLeaf = pData; @@ -176859,8 +178847,9 @@ static void fts5MultiIterNew2( } pData = 0; }else{ - pNew->bEof = 1; + pNew->base.bEof = 1; } + fts5SegIterSetNext(p, pIter); *ppOut = pNew; } @@ -176872,11 +178861,11 @@ static void fts5MultiIterNew2( ** Return true if the iterator is at EOF or if an error has occurred. ** False otherwise. */ -static int fts5MultiIterEof(Fts5Index *p, Fts5IndexIter *pIter){ +static int fts5MultiIterEof(Fts5Index *p, Fts5Iter *pIter){ assert( p->rc - || (pIter->aSeg[ pIter->aFirst[1].iFirst ].pLeaf==0)==pIter->bEof + || (pIter->aSeg[ pIter->aFirst[1].iFirst ].pLeaf==0)==pIter->base.bEof ); - return (p->rc || pIter->bEof); + return (p->rc || pIter->base.bEof); } /* @@ -176884,7 +178873,7 @@ static int fts5MultiIterEof(Fts5Index *p, Fts5IndexIter *pIter){ ** to. If the iterator points to EOF when this function is called the ** results are undefined. */ -static i64 fts5MultiIterRowid(Fts5IndexIter *pIter){ +static i64 fts5MultiIterRowid(Fts5Iter *pIter){ assert( pIter->aSeg[ pIter->aFirst[1].iFirst ].pLeaf ); return pIter->aSeg[ pIter->aFirst[1].iFirst ].iRowid; } @@ -176894,7 +178883,7 @@ static i64 fts5MultiIterRowid(Fts5IndexIter *pIter){ */ static void fts5MultiIterNextFrom( Fts5Index *p, - Fts5IndexIter *pIter, + Fts5Iter *pIter, i64 iMatch ){ while( 1 ){ @@ -176911,52 +178900,12 @@ static void fts5MultiIterNextFrom( ** Return a pointer to a buffer containing the term associated with the ** entry that the iterator currently points to. */ -static const u8 *fts5MultiIterTerm(Fts5IndexIter *pIter, int *pn){ +static const u8 *fts5MultiIterTerm(Fts5Iter *pIter, int *pn){ Fts5SegIter *p = &pIter->aSeg[ pIter->aFirst[1].iFirst ]; *pn = p->term.n; return p->term.p; } -static void fts5ChunkIterate( - Fts5Index *p, /* Index object */ - Fts5SegIter *pSeg, /* Poslist of this iterator */ - void *pCtx, /* Context pointer for xChunk callback */ - void (*xChunk)(Fts5Index*, void*, const u8*, int) -){ - int nRem = pSeg->nPos; /* Number of bytes still to come */ - Fts5Data *pData = 0; - u8 *pChunk = &pSeg->pLeaf->p[pSeg->iLeafOffset]; - int nChunk = MIN(nRem, pSeg->pLeaf->szLeaf - pSeg->iLeafOffset); - int pgno = pSeg->iLeafPgno; - int pgnoSave = 0; - - if( (pSeg->flags & FTS5_SEGITER_REVERSE)==0 ){ - pgnoSave = pgno+1; - } - - while( 1 ){ - xChunk(p, pCtx, pChunk, nChunk); - nRem -= nChunk; - fts5DataRelease(pData); - if( nRem<=0 ){ - break; - }else{ - pgno++; - pData = fts5DataRead(p, FTS5_SEGMENT_ROWID(pSeg->pSeg->iSegid, pgno)); - if( pData==0 ) break; - pChunk = &pData->p[4]; - nChunk = MIN(nRem, pData->szLeaf - 4); - if( pgno==pgnoSave ){ - assert( pSeg->pNextLeaf==0 ); - pSeg->pNextLeaf = pData; - pData = 0; - } - } - } -} - - - /* ** Allocate a new segment-id for the structure pStruct. The new segment ** id must be between 1 and 65335 inclusive, and must not be used by @@ -177003,15 +178952,14 @@ static void fts5IndexDiscardData(Fts5Index *p){ } /* -** Return the size of the prefix, in bytes, that buffer (nNew/pNew) shares -** with buffer (nOld/pOld). +** Return the size of the prefix, in bytes, that buffer +** (pNew/) shares with buffer (pOld/nOld). +** +** Buffer (pNew/) is guaranteed to be greater +** than buffer (pOld/nOld). */ -static int fts5PrefixCompress( - int nOld, const u8 *pOld, - int nNew, const u8 *pNew -){ +static int fts5PrefixCompress(int nOld, const u8 *pOld, const u8 *pNew){ int i; - assert( fts5BlobCompare(pOld, nOld, pNew, nNew)<0 ); for(i=0; iterm.n ){ - n = 1 + fts5PrefixCompress(pPage->term.n, pPage->term.p, nTerm, pTerm); + n = 1 + fts5PrefixCompress(pPage->term.n, pPage->term.p, pTerm); } fts5WriteBtreeTerm(p, pWriter, n, pTerm); pPage = &pWriter->writer; } }else{ - nPrefix = fts5PrefixCompress(pPage->term.n, pPage->term.p, nTerm, pTerm); + nPrefix = fts5PrefixCompress(pPage->term.n, pPage->term.p, pTerm); fts5BufferAppendVarint(&p->rc, &pPage->buf, nPrefix); } @@ -177353,8 +179301,7 @@ static void fts5WriteAppendTerm( static void fts5WriteAppendRowid( Fts5Index *p, Fts5SegWriter *pWriter, - i64 iRowid, - int nPos + i64 iRowid ){ if( p->rc==SQLITE_OK ){ Fts5PageWriter *pPage = &pWriter->writer; @@ -177381,8 +179328,6 @@ static void fts5WriteAppendRowid( pWriter->iPrevRowid = iRowid; pWriter->bFirstRowidInDoclist = 0; pWriter->bFirstRowidInPage = 0; - - fts5BufferAppendVarint(&p->rc, &pPage->buf, nPos); } } @@ -177493,7 +179438,7 @@ static void fts5WriteInit( ** incremental merge operation. This function is called if the incremental ** merge step has finished but the input has not been completely exhausted. */ -static void fts5TrimSegments(Fts5Index *p, Fts5IndexIter *pIter){ +static void fts5TrimSegments(Fts5Index *p, Fts5Iter *pIter){ int i; Fts5Buffer buf; memset(&buf, 0, sizeof(Fts5Buffer)); @@ -177571,13 +179516,15 @@ static void fts5IndexMergeLevel( Fts5Structure *pStruct = *ppStruct; Fts5StructureLevel *pLvl = &pStruct->aLevel[iLvl]; Fts5StructureLevel *pLvlOut; - Fts5IndexIter *pIter = 0; /* Iterator to read input data */ + Fts5Iter *pIter = 0; /* Iterator to read input data */ int nRem = pnRem ? *pnRem : 0; /* Output leaf pages left to write */ int nInput; /* Number of input segments */ Fts5SegWriter writer; /* Writer object */ Fts5StructureSegment *pSeg; /* Output segment */ Fts5Buffer term; int bOldest; /* True if the output segment is the oldest */ + int eDetail = p->pConfig->eDetail; + const int flags = FTS5INDEX_QUERY_NOOUTPUT; assert( iLvlnLevel ); assert( pLvl->nMerge<=pLvl->nSeg ); @@ -177622,7 +179569,7 @@ static void fts5IndexMergeLevel( bOldest = (pLvlOut->nSeg==1 && pStruct->nLevel==iLvl+2); assert( iLvl>=0 ); - for(fts5MultiIterNew(p, pStruct, 0, 0, 0, 0, iLvl, nInput, &pIter); + for(fts5MultiIterNew(p, pStruct, flags, 0, 0, 0, iLvl, nInput, &pIter); fts5MultiIterEof(p, pIter)==0; fts5MultiIterNext(p, pIter, 0, 0) ){ @@ -177647,11 +179594,21 @@ static void fts5IndexMergeLevel( /* Append the rowid to the output */ /* WRITEPOSLISTSIZE */ - nPos = pSegIter->nPos*2 + pSegIter->bDel; - fts5WriteAppendRowid(p, &writer, fts5MultiIterRowid(pIter), nPos); + fts5WriteAppendRowid(p, &writer, fts5MultiIterRowid(pIter)); - /* Append the position-list data to the output */ - fts5ChunkIterate(p, pSegIter, (void*)&writer, fts5MergeChunkCallback); + if( eDetail==FTS5_DETAIL_NONE ){ + if( pSegIter->bDel ){ + fts5BufferAppendVarint(&p->rc, &writer.writer.buf, 0); + if( pSegIter->nPos>0 ){ + fts5BufferAppendVarint(&p->rc, &writer.writer.buf, 0); + } + } + }else{ + /* Append the position-list data to the output */ + nPos = pSegIter->nPos*2 + pSegIter->bDel; + fts5BufferAppendVarint(&p->rc, &writer.writer.buf, nPos); + fts5ChunkIterate(p, pSegIter, (void*)&writer, fts5MergeChunkCallback); + } } /* Flush the last leaf page to disk. Set the output segment b-tree height @@ -177684,7 +179641,7 @@ static void fts5IndexMergeLevel( pLvl->nMerge = nInput; } - fts5MultiIterFree(p, pIter); + fts5MultiIterFree(pIter); fts5BufferFree(&term); if( pnRem ) *pnRem -= writer.nLeafWritten; } @@ -177839,7 +179796,7 @@ static void fts5FlushOneHash(Fts5Index *p){ if( iSegid ){ const int pgsz = p->pConfig->pgsz; - + int eDetail = p->pConfig->eDetail; Fts5StructureSegment *pSeg; /* New segment within pStruct */ Fts5Buffer *pBuf; /* Buffer in which to assemble leaf page */ Fts5Buffer *pPgidx; /* Buffer in which to assemble pgidx */ @@ -177882,12 +179839,7 @@ static void fts5FlushOneHash(Fts5Index *p){ ** loop iterates through the poslists that make up the current ** doclist. */ while( p->rc==SQLITE_OK && iOffn<=pBuf->nSpace ); - if( (pBuf->n + pPgidx->n + nCopy) <= pgsz ){ - /* The entire poslist will fit on the current leaf. So copy - ** it in one go. */ - fts5BufferSafeAppendBlob(pBuf, &pDoclist[iOff], nCopy); - }else{ - /* The entire poslist will not fit on this leaf. So it needs - ** to be broken into sections. The only qualification being - ** that each varint must be stored contiguously. */ - const u8 *pPoslist = &pDoclist[iOff]; - int iPos = 0; - while( p->rc==SQLITE_OK ){ - int nSpace = pgsz - pBuf->n - pPgidx->n; - int n = 0; - if( (nCopy - iPos)<=nSpace ){ - n = nCopy - iPos; - }else{ - n = fts5PoslistPrefix(&pPoslist[iPos], nSpace); + if( eDetail==FTS5_DETAIL_NONE ){ + if( iOffp[pBuf->n++] = 0; + iOff++; + if( iOffp[pBuf->n++] = 0; + iOff++; } - assert( n>0 ); - fts5BufferSafeAppendBlob(pBuf, &pPoslist[iPos], n); - iPos += n; - if( (pBuf->n + pPgidx->n)>=pgsz ){ - fts5WriteFlushLeaf(p, &writer); + } + if( (pBuf->n + pPgidx->n)>=pgsz ){ + fts5WriteFlushLeaf(p, &writer); + } + }else{ + int bDummy; + int nPos; + int nCopy = fts5GetPoslistSize(&pDoclist[iOff], &nPos, &bDummy); + nCopy += nPos; + if( (pBuf->n + pPgidx->n + nCopy) <= pgsz ){ + /* The entire poslist will fit on the current leaf. So copy + ** it in one go. */ + fts5BufferSafeAppendBlob(pBuf, &pDoclist[iOff], nCopy); + }else{ + /* The entire poslist will not fit on this leaf. So it needs + ** to be broken into sections. The only qualification being + ** that each varint must be stored contiguously. */ + const u8 *pPoslist = &pDoclist[iOff]; + int iPos = 0; + while( p->rc==SQLITE_OK ){ + int nSpace = pgsz - pBuf->n - pPgidx->n; + int n = 0; + if( (nCopy - iPos)<=nSpace ){ + n = nCopy - iPos; + }else{ + n = fts5PoslistPrefix(&pPoslist[iPos], nSpace); + } + assert( n>0 ); + fts5BufferSafeAppendBlob(pBuf, &pPoslist[iPos], n); + iPos += n; + if( (pBuf->n + pPgidx->n)>=pgsz ){ + fts5WriteFlushLeaf(p, &writer); + } + if( iPos>=nCopy ) break; } - if( iPos>=nCopy ) break; } + iOff += nCopy; } - iOff += nCopy; } } @@ -178003,7 +179973,10 @@ static int sqlite3Fts5IndexOptimize(Fts5Index *p){ if( pLvl->aSeg ){ int iLvl, iSeg; int iSegOut = 0; - for(iLvl=0; iLvlnLevel; iLvl++){ + /* Iterate through all segments, from oldest to newest. Add them to + ** the new Fts5Level object so that pLvl->aSeg[0] is the oldest + ** segment in the data structure. */ + for(iLvl=pStruct->nLevel-1; iLvl>=0; iLvl--){ for(iSeg=0; iSegaLevel[iLvl].nSeg; iSeg++){ pLvl->aSeg[iSegOut] = pStruct->aLevel[iLvl].aSeg[iSeg]; iSegOut++; @@ -178044,230 +180017,32 @@ static int sqlite3Fts5IndexMerge(Fts5Index *p, int nMerge){ return fts5IndexReturn(p); } -static void fts5PoslistCallback( - Fts5Index *p, - void *pContext, - const u8 *pChunk, int nChunk -){ - assert_nc( nChunk>=0 ); - if( nChunk>0 ){ - fts5BufferSafeAppendBlob((Fts5Buffer*)pContext, pChunk, nChunk); - } -} - -typedef struct PoslistCallbackCtx PoslistCallbackCtx; -struct PoslistCallbackCtx { - Fts5Buffer *pBuf; /* Append to this buffer */ - Fts5Colset *pColset; /* Restrict matches to this column */ - int eState; /* See above */ -}; - -/* -** TODO: Make this more efficient! -*/ -static int fts5IndexColsetTest(Fts5Colset *pColset, int iCol){ - int i; - for(i=0; inCol; i++){ - if( pColset->aiCol[i]==iCol ) return 1; - } - return 0; -} - -static void fts5PoslistFilterCallback( - Fts5Index *p, - void *pContext, - const u8 *pChunk, int nChunk -){ - PoslistCallbackCtx *pCtx = (PoslistCallbackCtx*)pContext; - assert_nc( nChunk>=0 ); - if( nChunk>0 ){ - /* Search through to find the first varint with value 1. This is the - ** start of the next columns hits. */ - int i = 0; - int iStart = 0; - - if( pCtx->eState==2 ){ - int iCol; - fts5FastGetVarint32(pChunk, i, iCol); - if( fts5IndexColsetTest(pCtx->pColset, iCol) ){ - pCtx->eState = 1; - fts5BufferSafeAppendVarint(pCtx->pBuf, 1); - }else{ - pCtx->eState = 0; - } - } - - do { - while( ieState ){ - fts5BufferSafeAppendBlob(pCtx->pBuf, &pChunk[iStart], i-iStart); - } - if( i=nChunk ){ - pCtx->eState = 2; - }else{ - fts5FastGetVarint32(pChunk, i, iCol); - pCtx->eState = fts5IndexColsetTest(pCtx->pColset, iCol); - if( pCtx->eState ){ - fts5BufferSafeAppendBlob(pCtx->pBuf, &pChunk[iStart], i-iStart); - iStart = i; - } - } - } - }while( irc, pBuf, pSeg->nPos) ){ - if( pColset==0 ){ - fts5ChunkIterate(p, pSeg, (void*)pBuf, fts5PoslistCallback); - }else{ - PoslistCallbackCtx sCtx; - sCtx.pBuf = pBuf; - sCtx.pColset = pColset; - sCtx.eState = fts5IndexColsetTest(pColset, 0); - assert( sCtx.eState==0 || sCtx.eState==1 ); - fts5ChunkIterate(p, pSeg, (void*)&sCtx, fts5PoslistFilterCallback); - } - } -} - -/* -** IN/OUT parameter (*pa) points to a position list n bytes in size. If -** the position list contains entries for column iCol, then (*pa) is set -** to point to the sub-position-list for that column and the number of -** bytes in it returned. Or, if the argument position list does not -** contain any entries for column iCol, return 0. -*/ -static int fts5IndexExtractCol( - const u8 **pa, /* IN/OUT: Pointer to poslist */ - int n, /* IN: Size of poslist in bytes */ - int iCol /* Column to extract from poslist */ -){ - int iCurrent = 0; /* Anything before the first 0x01 is col 0 */ - const u8 *p = *pa; - const u8 *pEnd = &p[n]; /* One byte past end of position list */ - u8 prev = 0; - - while( iCol>iCurrent ){ - /* Advance pointer p until it points to pEnd or an 0x01 byte that is - ** not part of a varint */ - while( (prev & 0x80) || *p!=0x01 ){ - prev = *p++; - if( p==pEnd ) return 0; - } - *pa = p++; - p += fts5GetVarint32(p, iCurrent); - } - if( iCol!=iCurrent ) return 0; - - /* Advance pointer p until it points to pEnd or an 0x01 byte that is - ** not part of a varint */ - assert( (prev & 0x80)==0 ); - while( prc, pBuf, iDelta); } - -/* -** Iterator pMulti currently points to a valid entry (not EOF). This -** function appends the following to buffer pBuf: -** -** * The varint iDelta, and -** * the position list that currently points to, including the size field. -** -** If argument pColset is NULL, then the position list is filtered according -** to pColset before being appended to the buffer. If this means there are -** no entries in the position list, nothing is appended to the buffer (not -** even iDelta). -** -** If an error occurs, an error code is left in p->rc. -*/ -static int fts5AppendPoslist( +static void fts5AppendPoslist( Fts5Index *p, i64 iDelta, - Fts5IndexIter *pMulti, - Fts5Colset *pColset, + Fts5Iter *pMulti, Fts5Buffer *pBuf ){ - if( p->rc==SQLITE_OK ){ - Fts5SegIter *pSeg = &pMulti->aSeg[ pMulti->aFirst[1].iFirst ]; - assert( fts5MultiIterEof(p, pMulti)==0 ); - assert( pSeg->nPos>0 ); - if( 0==fts5BufferGrow(&p->rc, pBuf, pSeg->nPos+9+9) ){ - - if( pSeg->iLeafOffset+pSeg->nPos<=pSeg->pLeaf->szLeaf - && (pColset==0 || pColset->nCol==1) - ){ - const u8 *pPos = &pSeg->pLeaf->p[pSeg->iLeafOffset]; - int nPos; - if( pColset ){ - nPos = fts5IndexExtractCol(&pPos, pSeg->nPos, pColset->aiCol[0]); - if( nPos==0 ) return 1; - }else{ - nPos = pSeg->nPos; - } - assert( nPos>0 ); - fts5BufferSafeAppendVarint(pBuf, iDelta); - fts5BufferSafeAppendVarint(pBuf, nPos*2); - fts5BufferSafeAppendBlob(pBuf, pPos, nPos); - }else{ - int iSv1; - int iSv2; - int iData; - - /* Append iDelta */ - iSv1 = pBuf->n; - fts5BufferSafeAppendVarint(pBuf, iDelta); - - /* WRITEPOSLISTSIZE */ - iSv2 = pBuf->n; - fts5BufferSafeAppendVarint(pBuf, pSeg->nPos*2); - iData = pBuf->n; - - fts5SegiterPoslist(p, pSeg, pColset, pBuf); - - if( pColset ){ - int nActual = pBuf->n - iData; - if( nActual!=pSeg->nPos ){ - if( nActual==0 ){ - pBuf->n = iSv1; - return 1; - }else{ - int nReq = sqlite3Fts5GetVarintLen((u32)(nActual*2)); - while( iSv2<(iData-nReq) ){ pBuf->p[iSv2++] = 0x80; } - sqlite3Fts5PutVarint(&pBuf->p[iSv2], nActual*2); - } - } - } - } - - } + int nData = pMulti->base.nData; + assert( nData>0 ); + if( p->rc==SQLITE_OK && 0==fts5BufferGrow(&p->rc, pBuf, nData+9+9) ){ + fts5BufferSafeAppendVarint(pBuf, iDelta); + fts5BufferSafeAppendVarint(pBuf, nData*2); + fts5BufferSafeAppendBlob(pBuf, pMulti->base.pData, nData); } - - return 0; } + static void fts5DoclistIterNext(Fts5DoclistIter *pIter){ u8 *p = pIter->aPoslist + pIter->nSize + pIter->nPoslist; @@ -178328,6 +180103,69 @@ static void fts5MergeAppendDocid( (iLastRowid) = (iRowid); \ } +/* +** Swap the contents of buffer *p1 with that of *p2. +*/ +static void fts5BufferSwap(Fts5Buffer *p1, Fts5Buffer *p2){ + Fts5Buffer tmp = *p1; + *p1 = *p2; + *p2 = tmp; +} + +static void fts5NextRowid(Fts5Buffer *pBuf, int *piOff, i64 *piRowid){ + int i = *piOff; + if( i>=pBuf->n ){ + *piOff = -1; + }else{ + u64 iVal; + *piOff = i + sqlite3Fts5GetVarint(&pBuf->p[i], &iVal); + *piRowid += iVal; + } +} + +/* +** This is the equivalent of fts5MergePrefixLists() for detail=none mode. +** In this case the buffers consist of a delta-encoded list of rowids only. +*/ +static void fts5MergeRowidLists( + Fts5Index *p, /* FTS5 backend object */ + Fts5Buffer *p1, /* First list to merge */ + Fts5Buffer *p2 /* Second list to merge */ +){ + int i1 = 0; + int i2 = 0; + i64 iRowid1 = 0; + i64 iRowid2 = 0; + i64 iOut = 0; + + Fts5Buffer out; + memset(&out, 0, sizeof(out)); + sqlite3Fts5BufferSize(&p->rc, &out, p1->n + p2->n); + if( p->rc ) return; + + fts5NextRowid(p1, &i1, &iRowid1); + fts5NextRowid(p2, &i2, &iRowid2); + while( i1>=0 || i2>=0 ){ + if( i1>=0 && (i2<0 || iRowid1iOut ); + fts5BufferSafeAppendVarint(&out, iRowid1 - iOut); + iOut = iRowid1; + fts5NextRowid(p1, &i1, &iRowid1); + }else{ + assert( iOut==0 || iRowid2>iOut ); + fts5BufferSafeAppendVarint(&out, iRowid2 - iOut); + iOut = iRowid2; + if( i1>=0 && iRowid1==iRowid2 ){ + fts5NextRowid(p1, &i1, &iRowid1); + } + fts5NextRowid(p2, &i2, &iRowid2); + } + } + + fts5BufferSwap(&out, p1); + fts5BufferFree(&out); +} + /* ** Buffers p1 and p2 contain doclists. This function merges the content ** of the two doclists together and sets buffer p1 to the result before @@ -178345,28 +180183,30 @@ static void fts5MergePrefixLists( i64 iLastRowid = 0; Fts5DoclistIter i1; Fts5DoclistIter i2; - Fts5Buffer out; - Fts5Buffer tmp; - memset(&out, 0, sizeof(out)); - memset(&tmp, 0, sizeof(tmp)); + Fts5Buffer out = {0, 0, 0}; + Fts5Buffer tmp = {0, 0, 0}; - sqlite3Fts5BufferSize(&p->rc, &out, p1->n + p2->n); + if( sqlite3Fts5BufferSize(&p->rc, &out, p1->n + p2->n) ) return; fts5DoclistIterInit(p1, &i1); fts5DoclistIterInit(p2, &i2); - while( p->rc==SQLITE_OK && (i1.aPoslist!=0 || i2.aPoslist!=0) ){ - if( i2.aPoslist==0 || (i1.aPoslist && i1.iRowidrc, &tmp, i1.nPoslist + i2.nPoslist); + if( p->rc ) break; sqlite3Fts5PoslistNext64(a1, i1.nPoslist, &iOff1, &iPos1); sqlite3Fts5PoslistNext64(a2, i2.nPoslist, &iOff2, &iPos2); + assert( iPos1>=0 && iPos2>=0 ); - while( p->rc==SQLITE_OK && (iPos1>=0 || iPos2>=0) ){ - i64 iNew; - if( iPos2<0 || (iPos1>=0 && iPos1=0 && iPos2>=0 ){ + while( 1 ){ + if( iPos1rc = sqlite3Fts5PoslistWriterAppend(&tmp, &writer, iNew); + } + + if( iPos1>=0 ){ + if( iPos1!=iPrev ){ + sqlite3Fts5PoslistSafeAppend(&tmp, &iPrev, iPos1); + } + fts5BufferSafeAppendBlob(&tmp, &a1[iOff1], i1.nPoslist-iOff1); + }else{ + assert( iPos2>=0 && iPos2!=iPrev ); + sqlite3Fts5PoslistSafeAppend(&tmp, &iPrev, iPos2); + fts5BufferSafeAppendBlob(&tmp, &a2[iOff2], i2.nPoslist-iOff2); } /* WRITEPOSLISTSIZE */ @@ -178404,84 +180268,105 @@ static void fts5MergePrefixLists( fts5BufferSafeAppendBlob(&out, tmp.p, tmp.n); fts5DoclistIterNext(&i1); fts5DoclistIterNext(&i2); + if( i1.aPoslist==0 || i2.aPoslist==0 ) break; } } + if( i1.aPoslist ){ + fts5MergeAppendDocid(&out, iLastRowid, i1.iRowid); + fts5BufferSafeAppendBlob(&out, i1.aPoslist, i1.aEof - i1.aPoslist); + } + else if( i2.aPoslist ){ + fts5MergeAppendDocid(&out, iLastRowid, i2.iRowid); + fts5BufferSafeAppendBlob(&out, i2.aPoslist, i2.aEof - i2.aPoslist); + } + fts5BufferSet(&p->rc, p1, out.n, out.p); fts5BufferFree(&tmp); fts5BufferFree(&out); } } -static void fts5BufferSwap(Fts5Buffer *p1, Fts5Buffer *p2){ - Fts5Buffer tmp = *p1; - *p1 = *p2; - *p2 = tmp; -} - static void fts5SetupPrefixIter( Fts5Index *p, /* Index to read from */ int bDesc, /* True for "ORDER BY rowid DESC" */ const u8 *pToken, /* Buffer containing prefix to match */ int nToken, /* Size of buffer pToken in bytes */ Fts5Colset *pColset, /* Restrict matches to these columns */ - Fts5IndexIter **ppIter /* OUT: New iterator */ + Fts5Iter **ppIter /* OUT: New iterator */ ){ Fts5Structure *pStruct; Fts5Buffer *aBuf; const int nBuf = 32; + void (*xMerge)(Fts5Index*, Fts5Buffer*, Fts5Buffer*); + void (*xAppend)(Fts5Index*, i64, Fts5Iter*, Fts5Buffer*); + if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){ + xMerge = fts5MergeRowidLists; + xAppend = fts5AppendRowid; + }else{ + xMerge = fts5MergePrefixLists; + xAppend = fts5AppendPoslist; + } + aBuf = (Fts5Buffer*)fts5IdxMalloc(p, sizeof(Fts5Buffer)*nBuf); pStruct = fts5StructureRead(p); if( aBuf && pStruct ){ - const int flags = FTS5INDEX_QUERY_SCAN; + const int flags = FTS5INDEX_QUERY_SCAN + | FTS5INDEX_QUERY_SKIPEMPTY + | FTS5INDEX_QUERY_NOOUTPUT; int i; i64 iLastRowid = 0; - Fts5IndexIter *p1 = 0; /* Iterator used to gather data from index */ + Fts5Iter *p1 = 0; /* Iterator used to gather data from index */ Fts5Data *pData; Fts5Buffer doclist; int bNewTerm = 1; memset(&doclist, 0, sizeof(doclist)); - for(fts5MultiIterNew(p, pStruct, 1, flags, pToken, nToken, -1, 0, &p1); + fts5MultiIterNew(p, pStruct, flags, pColset, pToken, nToken, -1, 0, &p1); + fts5IterSetOutputCb(&p->rc, p1); + for( /* no-op */ ; fts5MultiIterEof(p, p1)==0; fts5MultiIterNext2(p, p1, &bNewTerm) ){ - i64 iRowid = fts5MultiIterRowid(p1); - int nTerm; - const u8 *pTerm = fts5MultiIterTerm(p1, &nTerm); + Fts5SegIter *pSeg = &p1->aSeg[ p1->aFirst[1].iFirst ]; + int nTerm = pSeg->term.n; + const u8 *pTerm = pSeg->term.p; + p1->xSetOutputs(p1, pSeg); + assert_nc( memcmp(pToken, pTerm, MIN(nToken, nTerm))<=0 ); if( bNewTerm ){ if( nTerm0 && iRowid<=iLastRowid ){ + if( p1->base.nData==0 ) continue; + + if( p1->base.iRowid<=iLastRowid && doclist.n>0 ){ for(i=0; p->rc==SQLITE_OK && doclist.n; i++){ assert( ibase.iRowid-iLastRowid, p1, &doclist); + iLastRowid = p1->base.iRowid; } for(i=0; irc==SQLITE_OK ){ - fts5MergePrefixLists(p, &doclist, &aBuf[i]); + xMerge(p, &doclist, &aBuf[i]); } fts5BufferFree(&aBuf[i]); } - fts5MultiIterFree(p, p1); + fts5MultiIterFree(p1); pData = fts5IdxMalloc(p, sizeof(Fts5Data) + doclist.n); if( pData ){ @@ -178507,7 +180392,7 @@ static int sqlite3Fts5IndexBeginWrite(Fts5Index *p, int bDelete, i64 iRowid){ /* Allocate the hash table if it has not already been allocated */ if( p->pHash==0 ){ - p->rc = sqlite3Fts5HashNew(&p->pHash, &p->nPendingData); + p->rc = sqlite3Fts5HashNew(p->pConfig, &p->pHash, &p->nPendingData); } /* Flush the hash table to disk if required */ @@ -178542,7 +180427,7 @@ static int sqlite3Fts5IndexSync(Fts5Index *p, int bCommit){ static int sqlite3Fts5IndexRollback(Fts5Index *p){ fts5CloseReader(p); fts5IndexDiscardData(p); - assert( p->rc==SQLITE_OK ); + /* assert( p->rc==SQLITE_OK ); */ return SQLITE_OK; } @@ -178628,7 +180513,11 @@ static int sqlite3Fts5IndexClose(Fts5Index *p){ ** size. Return the number of bytes in the nChar character prefix of the ** buffer, or 0 if there are less than nChar characters in total. */ -static int fts5IndexCharlenToBytelen(const char *p, int nByte, int nChar){ +static int sqlite3Fts5IndexCharlenToBytelen( + const char *p, + int nByte, + int nChar +){ int n = 0; int i; for(i=0; inPrefix && rc==SQLITE_OK; i++){ - int nByte = fts5IndexCharlenToBytelen(pToken, nToken, pConfig->aPrefix[i]); + const int nChar = pConfig->aPrefix[i]; + int nByte = sqlite3Fts5IndexCharlenToBytelen(pToken, nToken, nChar); if( nByte ){ rc = sqlite3Fts5HashWrite(p->pHash, p->iWriteRowid, iCol, iPos, (char)(FTS5_MAIN_PREFIX+i+1), pToken, @@ -178709,22 +180599,27 @@ static int sqlite3Fts5IndexQuery( Fts5IndexIter **ppIter /* OUT: New iterator object */ ){ Fts5Config *pConfig = p->pConfig; - Fts5IndexIter *pRet = 0; - int iIdx = 0; + Fts5Iter *pRet = 0; Fts5Buffer buf = {0, 0, 0}; /* If the QUERY_SCAN flag is set, all other flags must be clear. */ assert( (flags & FTS5INDEX_QUERY_SCAN)==0 || flags==FTS5INDEX_QUERY_SCAN ); if( sqlite3Fts5BufferSize(&p->rc, &buf, nToken+1)==0 ){ + int iIdx = 0; /* Index to search */ memcpy(&buf.p[1], pToken, nToken); -#ifdef SQLITE_DEBUG - /* If the QUERY_TEST_NOIDX flag was specified, then this must be a + /* Figure out which index to search and set iIdx accordingly. If this + ** is a prefix query for which there is no prefix index, set iIdx to + ** greater than pConfig->nPrefix to indicate that the query will be + ** satisfied by scanning multiple terms in the main index. + ** + ** If the QUERY_TEST_NOIDX flag was specified, then this must be a ** prefix-query. Instead of using a prefix-index (if one exists), ** evaluate the prefix query using the main FTS index. This is used ** for internal sanity checking by the integrity-check in debug ** mode only. */ +#ifdef SQLITE_DEBUG if( pConfig->bPrefixIndex==0 || (flags & FTS5INDEX_QUERY_TEST_NOIDX) ){ assert( flags & FTS5INDEX_QUERY_PREFIX ); iIdx = 1+pConfig->nPrefix; @@ -178738,24 +180633,35 @@ static int sqlite3Fts5IndexQuery( } if( iIdx<=pConfig->nPrefix ){ + /* Straight index lookup */ Fts5Structure *pStruct = fts5StructureRead(p); buf.p[0] = (u8)(FTS5_MAIN_PREFIX + iIdx); if( pStruct ){ - fts5MultiIterNew(p, pStruct, 1, flags, buf.p, nToken+1, -1, 0, &pRet); + fts5MultiIterNew(p, pStruct, flags | FTS5INDEX_QUERY_SKIPEMPTY, + pColset, buf.p, nToken+1, -1, 0, &pRet + ); fts5StructureRelease(pStruct); } }else{ + /* Scan multiple terms in the main index */ int bDesc = (flags & FTS5INDEX_QUERY_DESC)!=0; buf.p[0] = FTS5_MAIN_PREFIX; fts5SetupPrefixIter(p, bDesc, buf.p, nToken+1, pColset, &pRet); + assert( p->rc!=SQLITE_OK || pRet->pColset==0 ); + fts5IterSetOutputCb(&p->rc, pRet); + if( p->rc==SQLITE_OK ){ + Fts5SegIter *pSeg = &pRet->aSeg[pRet->aFirst[1].iFirst]; + if( pSeg->pLeaf ) pRet->xSetOutputs(pRet, pSeg); + } } if( p->rc ){ - sqlite3Fts5IterClose(pRet); + sqlite3Fts5IterClose(&pRet->base); pRet = 0; fts5CloseReader(p); } - *ppIter = pRet; + + *ppIter = &pRet->base; sqlite3Fts5BufferFree(&buf); } return fts5IndexReturn(p); @@ -178764,15 +180670,11 @@ static int sqlite3Fts5IndexQuery( /* ** Return true if the iterator passed as the only argument is at EOF. */ -static int sqlite3Fts5IterEof(Fts5IndexIter *pIter){ - assert( pIter->pIndex->rc==SQLITE_OK ); - return pIter->bEof; -} - /* ** Move to the next matching rowid. */ -static int sqlite3Fts5IterNext(Fts5IndexIter *pIter){ +static int sqlite3Fts5IterNext(Fts5IndexIter *pIndexIter){ + Fts5Iter *pIter = (Fts5Iter*)pIndexIter; assert( pIter->pIndex->rc==SQLITE_OK ); fts5MultiIterNext(pIter->pIndex, pIter, 0, 0); return fts5IndexReturn(pIter->pIndex); @@ -178781,7 +180683,8 @@ static int sqlite3Fts5IterNext(Fts5IndexIter *pIter){ /* ** Move to the next matching term/rowid. Used by the fts5vocab module. */ -static int sqlite3Fts5IterNextScan(Fts5IndexIter *pIter){ +static int sqlite3Fts5IterNextScan(Fts5IndexIter *pIndexIter){ + Fts5Iter *pIter = (Fts5Iter*)pIndexIter; Fts5Index *p = pIter->pIndex; assert( pIter->pIndex->rc==SQLITE_OK ); @@ -178792,7 +180695,7 @@ static int sqlite3Fts5IterNextScan(Fts5IndexIter *pIter){ if( pSeg->pLeaf && pSeg->term.p[0]!=FTS5_MAIN_PREFIX ){ fts5DataRelease(pSeg->pLeaf); pSeg->pLeaf = 0; - pIter->bEof = 1; + pIter->base.bEof = 1; } } @@ -178804,111 +180707,30 @@ static int sqlite3Fts5IterNextScan(Fts5IndexIter *pIter){ ** definition of "at or after" depends on whether this iterator iterates ** in ascending or descending rowid order. */ -static int sqlite3Fts5IterNextFrom(Fts5IndexIter *pIter, i64 iMatch){ +static int sqlite3Fts5IterNextFrom(Fts5IndexIter *pIndexIter, i64 iMatch){ + Fts5Iter *pIter = (Fts5Iter*)pIndexIter; fts5MultiIterNextFrom(pIter->pIndex, pIter, iMatch); return fts5IndexReturn(pIter->pIndex); } -/* -** Return the current rowid. -*/ -static i64 sqlite3Fts5IterRowid(Fts5IndexIter *pIter){ - return fts5MultiIterRowid(pIter); -} - /* ** Return the current term. */ -static const char *sqlite3Fts5IterTerm(Fts5IndexIter *pIter, int *pn){ +static const char *sqlite3Fts5IterTerm(Fts5IndexIter *pIndexIter, int *pn){ int n; - const char *z = (const char*)fts5MultiIterTerm(pIter, &n); + const char *z = (const char*)fts5MultiIterTerm((Fts5Iter*)pIndexIter, &n); *pn = n-1; return &z[1]; } - -static int fts5IndexExtractColset ( - Fts5Colset *pColset, /* Colset to filter on */ - const u8 *pPos, int nPos, /* Position list */ - Fts5Buffer *pBuf /* Output buffer */ -){ - int rc = SQLITE_OK; - int i; - - fts5BufferZero(pBuf); - for(i=0; inCol; i++){ - const u8 *pSub = pPos; - int nSub = fts5IndexExtractCol(&pSub, nPos, pColset->aiCol[i]); - if( nSub ){ - fts5BufferAppendBlob(&rc, pBuf, nSub, pSub); - } - } - return rc; -} - - -/* -** Return a pointer to a buffer containing a copy of the position list for -** the current entry. Output variable *pn is set to the size of the buffer -** in bytes before returning. -** -** The returned position list does not include the "number of bytes" varint -** field that starts the position list on disk. -*/ -static int sqlite3Fts5IterPoslist( - Fts5IndexIter *pIter, - Fts5Colset *pColset, /* Column filter (or NULL) */ - const u8 **pp, /* OUT: Pointer to position-list data */ - int *pn, /* OUT: Size of position-list in bytes */ - i64 *piRowid /* OUT: Current rowid */ -){ - Fts5SegIter *pSeg = &pIter->aSeg[ pIter->aFirst[1].iFirst ]; - assert( pIter->pIndex->rc==SQLITE_OK ); - *piRowid = pSeg->iRowid; - if( pSeg->iLeafOffset+pSeg->nPos<=pSeg->pLeaf->szLeaf ){ - u8 *pPos = &pSeg->pLeaf->p[pSeg->iLeafOffset]; - if( pColset==0 || pIter->bFiltered ){ - *pn = pSeg->nPos; - *pp = pPos; - }else if( pColset->nCol==1 ){ - *pp = pPos; - *pn = fts5IndexExtractCol(pp, pSeg->nPos, pColset->aiCol[0]); - }else{ - fts5BufferZero(&pIter->poslist); - fts5IndexExtractColset(pColset, pPos, pSeg->nPos, &pIter->poslist); - *pp = pIter->poslist.p; - *pn = pIter->poslist.n; - } - }else{ - fts5BufferZero(&pIter->poslist); - fts5SegiterPoslist(pIter->pIndex, pSeg, pColset, &pIter->poslist); - *pp = pIter->poslist.p; - *pn = pIter->poslist.n; - } - return fts5IndexReturn(pIter->pIndex); -} - -/* -** This function is similar to sqlite3Fts5IterPoslist(), except that it -** copies the position list into the buffer supplied as the second -** argument. -*/ -static int sqlite3Fts5IterPoslistBuffer(Fts5IndexIter *pIter, Fts5Buffer *pBuf){ - Fts5Index *p = pIter->pIndex; - Fts5SegIter *pSeg = &pIter->aSeg[ pIter->aFirst[1].iFirst ]; - assert( p->rc==SQLITE_OK ); - fts5BufferZero(pBuf); - fts5SegiterPoslist(p, pSeg, 0, pBuf); - return fts5IndexReturn(p); -} - /* ** Close an iterator opened by an earlier call to sqlite3Fts5IndexQuery(). */ -static void sqlite3Fts5IterClose(Fts5IndexIter *pIter){ - if( pIter ){ +static void sqlite3Fts5IterClose(Fts5IndexIter *pIndexIter){ + if( pIndexIter ){ + Fts5Iter *pIter = (Fts5Iter*)pIndexIter; Fts5Index *pIndex = pIter->pIndex; - fts5MultiIterFree(pIter->pIndex, pIter); + fts5MultiIterFree(pIter); fts5CloseReader(pIndex); } } @@ -179001,7 +180823,7 @@ static int sqlite3Fts5IndexLoadConfig(Fts5Index *p){ /* ** Return a simple checksum value based on the arguments. */ -static u64 fts5IndexEntryCksum( +static u64 sqlite3Fts5IndexEntryCksum( i64 iRowid, int iCol, int iPos, @@ -179071,30 +180893,32 @@ static int fts5QueryCksum( int flags, /* Flags for Fts5IndexQuery */ u64 *pCksum /* IN/OUT: Checksum value */ ){ + int eDetail = p->pConfig->eDetail; u64 cksum = *pCksum; - Fts5IndexIter *pIdxIter = 0; - int rc = sqlite3Fts5IndexQuery(p, z, n, flags, 0, &pIdxIter); + Fts5IndexIter *pIter = 0; + int rc = sqlite3Fts5IndexQuery(p, z, n, flags, 0, &pIter); - while( rc==SQLITE_OK && 0==sqlite3Fts5IterEof(pIdxIter) ){ - i64 dummy; - const u8 *pPos; - int nPos; - i64 rowid = sqlite3Fts5IterRowid(pIdxIter); - rc = sqlite3Fts5IterPoslist(pIdxIter, 0, &pPos, &nPos, &dummy); - if( rc==SQLITE_OK ){ + while( rc==SQLITE_OK && 0==sqlite3Fts5IterEof(pIter) ){ + i64 rowid = pIter->iRowid; + + if( eDetail==FTS5_DETAIL_NONE ){ + cksum ^= sqlite3Fts5IndexEntryCksum(rowid, 0, 0, iIdx, z, n); + }else{ Fts5PoslistReader sReader; - for(sqlite3Fts5PoslistReaderInit(pPos, nPos, &sReader); + for(sqlite3Fts5PoslistReaderInit(pIter->pData, pIter->nData, &sReader); sReader.bEof==0; sqlite3Fts5PoslistReaderNext(&sReader) ){ int iCol = FTS5_POS2COLUMN(sReader.iPos); int iOff = FTS5_POS2OFFSET(sReader.iPos); - cksum ^= fts5IndexEntryCksum(rowid, iCol, iOff, iIdx, z, n); + cksum ^= sqlite3Fts5IndexEntryCksum(rowid, iCol, iOff, iIdx, z, n); } - rc = sqlite3Fts5IterNext(pIdxIter); + } + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5IterNext(pIter); } } - sqlite3Fts5IterClose(pIdxIter); + sqlite3Fts5IterClose(pIter); *pCksum = cksum; return rc; @@ -179388,7 +181212,7 @@ static void fts5IndexIntegrityCheckSegment( /* ** Run internal checks to ensure that the FTS index (a) is internally ** consistent and (b) contains entries for which the XOR of the checksums -** as calculated by fts5IndexEntryCksum() is cksum. +** as calculated by sqlite3Fts5IndexEntryCksum() is cksum. ** ** Return SQLITE_CORRUPT if any of the internal checks fail, or if the ** checksum does not match. Return SQLITE_OK if all checks pass without @@ -179396,9 +181220,10 @@ static void fts5IndexIntegrityCheckSegment( ** occurs. */ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum){ + int eDetail = p->pConfig->eDetail; u64 cksum2 = 0; /* Checksum based on contents of indexes */ Fts5Buffer poslist = {0,0,0}; /* Buffer used to hold a poslist */ - Fts5IndexIter *pIter; /* Used to iterate through entire index */ + Fts5Iter *pIter; /* Used to iterate through entire index */ Fts5Structure *pStruct; /* Index structure */ #ifdef SQLITE_DEBUG @@ -179406,6 +181231,7 @@ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum){ u64 cksum3 = 0; /* Checksum based on contents of indexes */ Fts5Buffer term = {0,0,0}; /* Buffer used to hold most recent term */ #endif + const int flags = FTS5INDEX_QUERY_NOOUTPUT; /* Load the FTS index structure */ pStruct = fts5StructureRead(p); @@ -179434,7 +181260,7 @@ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum){ ** same term is performed. cksum3 is calculated based on the entries ** extracted by these queries. */ - for(fts5MultiIterNew(p, pStruct, 0, 0, 0, 0, -1, 0, &pIter); + for(fts5MultiIterNew(p, pStruct, flags, 0, 0, 0, -1, 0, &pIter); fts5MultiIterEof(p, pIter)==0; fts5MultiIterNext(p, pIter, 0, 0) ){ @@ -179447,17 +181273,23 @@ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum){ /* If this is a new term, query for it. Update cksum3 with the results. */ fts5TestTerm(p, &term, z, n, cksum2, &cksum3); - poslist.n = 0; - fts5SegiterPoslist(p, &pIter->aSeg[pIter->aFirst[1].iFirst] , 0, &poslist); - while( 0==sqlite3Fts5PoslistNext64(poslist.p, poslist.n, &iOff, &iPos) ){ - int iCol = FTS5_POS2COLUMN(iPos); - int iTokOff = FTS5_POS2OFFSET(iPos); - cksum2 ^= fts5IndexEntryCksum(iRowid, iCol, iTokOff, -1, z, n); + if( eDetail==FTS5_DETAIL_NONE ){ + if( 0==fts5MultiIterIsEmpty(p, pIter) ){ + cksum2 ^= sqlite3Fts5IndexEntryCksum(iRowid, 0, 0, -1, z, n); + } + }else{ + poslist.n = 0; + fts5SegiterPoslist(p, &pIter->aSeg[pIter->aFirst[1].iFirst], 0, &poslist); + while( 0==sqlite3Fts5PoslistNext64(poslist.p, poslist.n, &iOff, &iPos) ){ + int iCol = FTS5_POS2COLUMN(iPos); + int iTokOff = FTS5_POS2OFFSET(iPos); + cksum2 ^= sqlite3Fts5IndexEntryCksum(iRowid, iCol, iTokOff, -1, z, n); + } } } fts5TestTerm(p, &term, 0, 0, cksum2, &cksum3); - fts5MultiIterFree(p, pIter); + fts5MultiIterFree(pIter); if( p->rc==SQLITE_OK && cksum!=cksum2 ) p->rc = FTS5_CORRUPT; fts5StructureRelease(pStruct); @@ -179468,34 +181300,6 @@ static int sqlite3Fts5IndexIntegrityCheck(Fts5Index *p, u64 cksum){ return fts5IndexReturn(p); } - -/* -** Calculate and return a checksum that is the XOR of the index entry -** checksum of all entries that would be generated by the token specified -** by the final 5 arguments. -*/ -static u64 sqlite3Fts5IndexCksum( - Fts5Config *pConfig, /* Configuration object */ - i64 iRowid, /* Document term appears in */ - int iCol, /* Column term appears in */ - int iPos, /* Position term appears in */ - const char *pTerm, int nTerm /* Term at iPos */ -){ - u64 ret = 0; /* Return value */ - int iIdx; /* For iterating through indexes */ - - ret = fts5IndexEntryCksum(iRowid, iCol, iPos, 0, pTerm, nTerm); - - for(iIdx=0; iIdxnPrefix; iIdx++){ - int nByte = fts5IndexCharlenToBytelen(pTerm, nTerm, pConfig->aPrefix[iIdx]); - if( nByte ){ - ret ^= fts5IndexEntryCksum(iRowid, iCol, iPos, iIdx+1, pTerm, nByte); - } - } - - return ret; -} - /************************************************************************* ************************************************************************** ** Below this point is the implementation of the fts5_decode() scalar @@ -179663,6 +181467,47 @@ static int fts5DecodeDoclist(int *pRc, Fts5Buffer *pBuf, const u8 *a, int n){ return iOff; } +/* +** This function is part of the fts5_decode() debugging function. It is +** only ever used with detail=none tables. +** +** Buffer (pData/nData) contains a doclist in the format used by detail=none +** tables. This function appends a human-readable version of that list to +** buffer pBuf. +** +** If *pRc is other than SQLITE_OK when this function is called, it is a +** no-op. If an OOM or other error occurs within this function, *pRc is +** set to an SQLite error code before returning. The final state of buffer +** pBuf is undefined in this case. +*/ +static void fts5DecodeRowidList( + int *pRc, /* IN/OUT: Error code */ + Fts5Buffer *pBuf, /* Buffer to append text to */ + const u8 *pData, int nData /* Data to decode list-of-rowids from */ +){ + int i = 0; + i64 iRowid = 0; + + while( inConstraint; i++){ struct sqlite3_index_constraint *p = &pInfo->aConstraint[i]; int j; - for(j=0; j<(int)ArraySize(aConstraint); j++){ + for(j=0; jiColumn==aColMap[pC->iCol] && p->op & pC->op ){ if( p->usable ){ @@ -180441,7 +182344,7 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){ /* Assign argvIndex values to each constraint in use. */ iNext = 1; - for(i=0; i<(int)ArraySize(aConstraint); i++){ + for(i=0; iiConsIndex>=0 ){ pInfo->aConstraintUsage[pC->iConsIndex].argvIndex = iNext++; @@ -180496,6 +182399,7 @@ static void fts5CsrNewrow(Fts5Cursor *pCsr){ FTS5CSR_REQUIRE_CONTENT | FTS5CSR_REQUIRE_DOCSIZE | FTS5CSR_REQUIRE_INST + | FTS5CSR_REQUIRE_POSLIST ); } @@ -180578,15 +182482,18 @@ static int fts5SorterNext(Fts5Cursor *pCsr){ nBlob = sqlite3_column_bytes(pSorter->pStmt, 1); aBlob = a = sqlite3_column_blob(pSorter->pStmt, 1); - for(i=0; i<(pSorter->nIdx-1); i++){ - int iVal; - a += fts5GetVarint32(a, iVal); - iOff += iVal; - pSorter->aIdx[i] = iOff; + /* nBlob==0 in detail=none mode. */ + if( nBlob>0 ){ + for(i=0; i<(pSorter->nIdx-1); i++){ + int iVal; + a += fts5GetVarint32(a, iVal); + iOff += iVal; + pSorter->aIdx[i] = iOff; + } + pSorter->aIdx[i] = &aBlob[nBlob] - a; + pSorter->aPoslist = a; } - pSorter->aIdx[i] = &aBlob[nBlob] - a; - pSorter->aPoslist = a; fts5CsrNewrow(pCsr); } @@ -180630,7 +182537,7 @@ static int fts5CursorReseek(Fts5Cursor *pCsr, int *pbSkip){ i64 iRowid = sqlite3Fts5ExprRowid(pCsr->pExpr); rc = sqlite3Fts5ExprFirst(pCsr->pExpr, pTab->pIndex, iRowid, bDesc); - if( rc==SQLITE_OK && iRowid!=sqlite3Fts5ExprRowid(pCsr->pExpr) ){ + if( rc==SQLITE_OK && iRowid!=sqlite3Fts5ExprRowid(pCsr->pExpr) ){ *pbSkip = 1; } @@ -180638,6 +182545,7 @@ static int fts5CursorReseek(Fts5Cursor *pCsr, int *pbSkip){ fts5CsrNewrow(pCsr); if( sqlite3Fts5ExprEof(pCsr->pExpr) ){ CsrFlagSet(pCsr, FTS5CSR_EOF); + *pbSkip = 1; } } return rc; @@ -180654,24 +182562,24 @@ static int fts5CursorReseek(Fts5Cursor *pCsr, int *pbSkip){ */ static int fts5NextMethod(sqlite3_vtab_cursor *pCursor){ Fts5Cursor *pCsr = (Fts5Cursor*)pCursor; - int rc = SQLITE_OK; + int rc; assert( (pCsr->ePlan<3)== (pCsr->ePlan==FTS5_PLAN_MATCH || pCsr->ePlan==FTS5_PLAN_SOURCE) ); + assert( !CsrFlagTest(pCsr, FTS5CSR_EOF) ); if( pCsr->ePlan<3 ){ int bSkip = 0; if( (rc = fts5CursorReseek(pCsr, &bSkip)) || bSkip ) return rc; rc = sqlite3Fts5ExprNext(pCsr->pExpr, pCsr->iLastRowid); - if( sqlite3Fts5ExprEof(pCsr->pExpr) ){ - CsrFlagSet(pCsr, FTS5CSR_EOF); - } + CsrFlagSet(pCsr, sqlite3Fts5ExprEof(pCsr->pExpr)); fts5CsrNewrow(pCsr); }else{ switch( pCsr->ePlan ){ case FTS5_PLAN_SPECIAL: { CsrFlagSet(pCsr, FTS5CSR_EOF); + rc = SQLITE_OK; break; } @@ -180696,33 +182604,32 @@ static int fts5NextMethod(sqlite3_vtab_cursor *pCursor){ } -static sqlite3_stmt *fts5PrepareStatement( - int *pRc, +static int fts5PrepareStatement( + sqlite3_stmt **ppStmt, Fts5Config *pConfig, const char *zFmt, ... ){ sqlite3_stmt *pRet = 0; + int rc; + char *zSql; va_list ap; - va_start(ap, zFmt); - if( *pRc==SQLITE_OK ){ - int rc; - char *zSql = sqlite3_vmprintf(zFmt, ap); - if( zSql==0 ){ - rc = SQLITE_NOMEM; - }else{ - rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pRet, 0); - if( rc!=SQLITE_OK ){ - *pConfig->pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(pConfig->db)); - } - sqlite3_free(zSql); + va_start(ap, zFmt); + zSql = sqlite3_vmprintf(zFmt, ap); + if( zSql==0 ){ + rc = SQLITE_NOMEM; + }else{ + rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pRet, 0); + if( rc!=SQLITE_OK ){ + *pConfig->pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(pConfig->db)); } - *pRc = rc; + sqlite3_free(zSql); } va_end(ap); - return pRet; + *ppStmt = pRet; + return rc; } static int fts5CursorFirstSorted(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ @@ -180730,7 +182637,7 @@ static int fts5CursorFirstSorted(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ Fts5Sorter *pSorter; int nPhrase; int nByte; - int rc = SQLITE_OK; + int rc; const char *zRank = pCsr->zRank; const char *zRankArgs = pCsr->zRankArgs; @@ -180748,7 +182655,7 @@ static int fts5CursorFirstSorted(Fts5Table *pTab, Fts5Cursor *pCsr, int bDesc){ ** table, saving it creates a circular reference. ** ** If SQLite a built-in statement cache, this wouldn't be a problem. */ - pSorter->pStmt = fts5PrepareStatement(&rc, pConfig, + rc = fts5PrepareStatement(&pSorter->pStmt, pConfig, "SELECT rowid, rank FROM %Q.%Q ORDER BY %s(%s%s%s) %s", pConfig->zDb, pConfig->zName, zRank, pConfig->zName, (zRankArgs ? ", " : ""), @@ -180948,7 +182855,7 @@ static i64 fts5GetRowidLimit(sqlite3_value *pVal, i64 iDefault){ static int fts5FilterMethod( sqlite3_vtab_cursor *pCursor, /* The cursor used for this query */ int idxNum, /* Strategy index */ - const char *idxStr, /* Unused */ + const char *zUnused, /* Unused */ int nVal, /* Number of elements in apVal */ sqlite3_value **apVal /* Arguments for the indexing scheme */ ){ @@ -180966,6 +182873,9 @@ static int fts5FilterMethod( sqlite3_value *pRowidGe = 0; /* rowid >= ? expression (or NULL) */ char **pzErrmsg = pConfig->pzErrmsg; + UNUSED_PARAM(zUnused); + UNUSED_PARAM(nVal); + if( pCsr->ePlan ){ fts5FreeCursorComponents(pCsr); memset(&pCsr->ePlan, 0, sizeof(Fts5Cursor) - ((u8*)&pCsr->ePlan-(u8*)pCsr)); @@ -181024,6 +182934,7 @@ static int fts5FilterMethod( pCsr->ePlan = FTS5_PLAN_SOURCE; pCsr->pExpr = pTab->pSortCsr->pExpr; rc = fts5CursorFirst(pTab, pCsr, bDesc); + sqlite3Fts5ExprClearEof(pCsr->pExpr); }else if( pMatch ){ const char *zExpr = (const char*)sqlite3_value_text(apVal[0]); if( zExpr==0 ) zExpr = ""; @@ -181249,14 +183160,13 @@ static int fts5SpecialInsert( static int fts5SpecialDelete( Fts5Table *pTab, - sqlite3_value **apVal, - sqlite3_int64 *piRowid + sqlite3_value **apVal ){ int rc = SQLITE_OK; int eType1 = sqlite3_value_type(apVal[1]); if( eType1==SQLITE_INTEGER ){ sqlite3_int64 iDel = sqlite3_value_int64(apVal[1]); - rc = sqlite3Fts5StorageSpecialDelete(pTab->pStorage, iDel, &apVal[2]); + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iDel, &apVal[2]); } return rc; } @@ -181326,7 +183236,7 @@ static int fts5UpdateMethod( if( pConfig->eContent!=FTS5_CONTENT_NORMAL && 0==sqlite3_stricmp("delete", z) ){ - rc = fts5SpecialDelete(pTab, apVal, pRowid); + rc = fts5SpecialDelete(pTab, apVal); }else{ rc = fts5SpecialInsert(pTab, z, apVal[2 + pConfig->nCol + 1]); } @@ -181363,7 +183273,7 @@ static int fts5UpdateMethod( /* Case 1: DELETE */ else if( nArg==1 ){ i64 iDel = sqlite3_value_int64(apVal[0]); /* Rowid to delete */ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iDel); + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iDel, 0); } /* Case 2: INSERT */ @@ -181373,7 +183283,7 @@ static int fts5UpdateMethod( && sqlite3_value_type(apVal[1])==SQLITE_INTEGER ){ i64 iNew = sqlite3_value_int64(apVal[1]); /* Rowid to delete */ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew); + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew, 0); } fts5StorageInsert(&rc, pTab, apVal, pRowid); } @@ -181384,22 +183294,22 @@ static int fts5UpdateMethod( i64 iNew = sqlite3_value_int64(apVal[1]); /* New rowid */ if( iOld!=iNew ){ if( eConflict==SQLITE_REPLACE ){ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld); + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); if( rc==SQLITE_OK ){ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew); + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iNew, 0); } fts5StorageInsert(&rc, pTab, apVal, pRowid); }else{ rc = sqlite3Fts5StorageContentInsert(pTab->pStorage, apVal, pRowid); if( rc==SQLITE_OK ){ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld); + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); } if( rc==SQLITE_OK ){ rc = sqlite3Fts5StorageIndexInsert(pTab->pStorage, apVal, *pRowid); } } }else{ - rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld); + rc = sqlite3Fts5StorageDelete(pTab->pStorage, iOld, 0); fts5StorageInsert(&rc, pTab, apVal, pRowid); } } @@ -181427,6 +183337,7 @@ static int fts5SyncMethod(sqlite3_vtab *pVtab){ ** Implementation of xBegin() method. */ static int fts5BeginMethod(sqlite3_vtab *pVtab){ + UNUSED_PARAM(pVtab); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState((Fts5Table*)pVtab, FTS5_BEGIN, 0); return SQLITE_OK; } @@ -181437,6 +183348,7 @@ static int fts5BeginMethod(sqlite3_vtab *pVtab){ ** by fts5SyncMethod(). */ static int fts5CommitMethod(sqlite3_vtab *pVtab){ + UNUSED_PARAM(pVtab); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState((Fts5Table*)pVtab, FTS5_COMMIT, 0); return SQLITE_OK; } @@ -181453,6 +183365,8 @@ static int fts5RollbackMethod(sqlite3_vtab *pVtab){ return rc; } +static int fts5CsrPoslist(Fts5Cursor*, int, const u8**, int*); + static void *fts5ApiUserData(Fts5Context *pCtx){ Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; return pCsr->pAux->pUserData; @@ -181502,17 +183416,72 @@ static int fts5ApiPhraseSize(Fts5Context *pCtx, int iPhrase){ return sqlite3Fts5ExprPhraseSize(pCsr->pExpr, iPhrase); } -static int fts5CsrPoslist(Fts5Cursor *pCsr, int iPhrase, const u8 **pa){ - int n; - if( pCsr->pSorter ){ +static int fts5ApiColumnText( + Fts5Context *pCtx, + int iCol, + const char **pz, + int *pn +){ + int rc = SQLITE_OK; + Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; + if( fts5IsContentless((Fts5Table*)(pCsr->base.pVtab)) ){ + *pz = 0; + *pn = 0; + }else{ + rc = fts5SeekCursor(pCsr, 0); + if( rc==SQLITE_OK ){ + *pz = (const char*)sqlite3_column_text(pCsr->pStmt, iCol+1); + *pn = sqlite3_column_bytes(pCsr->pStmt, iCol+1); + } + } + return rc; +} + +static int fts5CsrPoslist( + Fts5Cursor *pCsr, + int iPhrase, + const u8 **pa, + int *pn +){ + Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig; + int rc = SQLITE_OK; + int bLive = (pCsr->pSorter==0); + + if( CsrFlagTest(pCsr, FTS5CSR_REQUIRE_POSLIST) ){ + + if( pConfig->eDetail!=FTS5_DETAIL_FULL ){ + Fts5PoslistPopulator *aPopulator; + int i; + aPopulator = sqlite3Fts5ExprClearPoslists(pCsr->pExpr, bLive); + if( aPopulator==0 ) rc = SQLITE_NOMEM; + for(i=0; inCol && rc==SQLITE_OK; i++){ + int n; const char *z; + rc = fts5ApiColumnText((Fts5Context*)pCsr, i, &z, &n); + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5ExprPopulatePoslists( + pConfig, pCsr->pExpr, aPopulator, i, z, n + ); + } + } + sqlite3_free(aPopulator); + + if( pCsr->pSorter ){ + sqlite3Fts5ExprCheckPoslists(pCsr->pExpr, pCsr->pSorter->iRowid); + } + } + CsrFlagClear(pCsr, FTS5CSR_REQUIRE_POSLIST); + } + + if( pCsr->pSorter && pConfig->eDetail==FTS5_DETAIL_FULL ){ Fts5Sorter *pSorter = pCsr->pSorter; int i1 = (iPhrase==0 ? 0 : pSorter->aIdx[iPhrase-1]); - n = pSorter->aIdx[iPhrase] - i1; + *pn = pSorter->aIdx[iPhrase] - i1; *pa = &pSorter->aPoslist[i1]; }else{ - n = sqlite3Fts5ExprPoslist(pCsr->pExpr, iPhrase, pa); + *pn = sqlite3Fts5ExprPoslist(pCsr->pExpr, iPhrase, pa); } - return n; + + return rc; } /* @@ -181537,43 +183506,48 @@ static int fts5CacheInstArray(Fts5Cursor *pCsr){ int i; /* Initialize all iterators */ - for(i=0; i=pCsr->nInstAlloc ){ - pCsr->nInstAlloc = pCsr->nInstAlloc ? pCsr->nInstAlloc*2 : 32; - aInst = (int*)sqlite3_realloc( - pCsr->aInst, pCsr->nInstAlloc*sizeof(int)*3 - ); - if( aInst ){ - pCsr->aInst = aInst; - }else{ - rc = SQLITE_NOMEM; - break; + nInst++; + if( nInst>=pCsr->nInstAlloc ){ + pCsr->nInstAlloc = pCsr->nInstAlloc ? pCsr->nInstAlloc*2 : 32; + aInst = (int*)sqlite3_realloc( + pCsr->aInst, pCsr->nInstAlloc*sizeof(int)*3 + ); + if( aInst ){ + pCsr->aInst = aInst; + }else{ + rc = SQLITE_NOMEM; + break; + } } - } - aInst = &pCsr->aInst[3 * (nInst-1)]; - aInst[0] = iBest; - aInst[1] = FTS5_POS2COLUMN(aIter[iBest].iPos); - aInst[2] = FTS5_POS2OFFSET(aIter[iBest].iPos); - sqlite3Fts5PoslistReaderNext(&aIter[iBest]); + aInst = &pCsr->aInst[3 * (nInst-1)]; + aInst[0] = iBest; + aInst[1] = FTS5_POS2COLUMN(aIter[iBest].iPos); + aInst[2] = FTS5_POS2OFFSET(aIter[iBest].iPos); + sqlite3Fts5PoslistReaderNext(&aIter[iBest]); + } } pCsr->nInstCount = nInst; @@ -181606,6 +183580,12 @@ static int fts5ApiInst( ){ if( iIdx<0 || iIdx>=pCsr->nInstCount ){ rc = SQLITE_RANGE; +#if 0 + }else if( fts5IsOffsetless((Fts5Table*)pCsr->base.pVtab) ){ + *piPhrase = pCsr->aInst[iIdx*3]; + *piCol = pCsr->aInst[iIdx*3 + 2]; + *piOff = -1; +#endif }else{ *piPhrase = pCsr->aInst[iIdx*3]; *piCol = pCsr->aInst[iIdx*3 + 1]; @@ -181619,36 +183599,17 @@ static sqlite3_int64 fts5ApiRowid(Fts5Context *pCtx){ return fts5CursorRowid((Fts5Cursor*)pCtx); } -static int fts5ApiColumnText( - Fts5Context *pCtx, - int iCol, - const char **pz, - int *pn -){ - int rc = SQLITE_OK; - Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; - if( fts5IsContentless((Fts5Table*)(pCsr->base.pVtab)) ){ - *pz = 0; - *pn = 0; - }else{ - rc = fts5SeekCursor(pCsr, 0); - if( rc==SQLITE_OK ){ - *pz = (const char*)sqlite3_column_text(pCsr->pStmt, iCol+1); - *pn = sqlite3_column_bytes(pCsr->pStmt, iCol+1); - } - } - return rc; -} - static int fts5ColumnSizeCb( void *pContext, /* Pointer to int */ int tflags, - const char *pToken, /* Buffer containing token */ - int nToken, /* Size of token in bytes */ - int iStart, /* Start offset of token */ - int iEnd /* End offset of token */ + const char *pUnused, /* Buffer containing token */ + int nUnused, /* Size of token in bytes */ + int iUnused1, /* Start offset of token */ + int iUnused2 /* End offset of token */ ){ int *pCnt = (int*)pContext; + UNUSED_PARAM2(pUnused, nUnused); + UNUSED_PARAM2(iUnused1, iUnused2); if( (tflags & FTS5_TOKEN_COLOCATED)==0 ){ (*pCnt)++; } @@ -181764,10 +183725,11 @@ static void *fts5ApiGetAuxdata(Fts5Context *pCtx, int bClear){ } static void fts5ApiPhraseNext( - Fts5Context *pCtx, + Fts5Context *pUnused, Fts5PhraseIter *pIter, int *piCol, int *piOff ){ + UNUSED_PARAM(pUnused); if( pIter->a>=pIter->b ){ *piCol = -1; *piOff = -1; @@ -181784,20 +183746,98 @@ static void fts5ApiPhraseNext( } } -static void fts5ApiPhraseFirst( +static int fts5ApiPhraseFirst( Fts5Context *pCtx, int iPhrase, Fts5PhraseIter *pIter, int *piCol, int *piOff ){ Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; - int n = fts5CsrPoslist(pCsr, iPhrase, &pIter->a); - pIter->b = &pIter->a[n]; - *piCol = 0; - *piOff = 0; - fts5ApiPhraseNext(pCtx, pIter, piCol, piOff); + int n; + int rc = fts5CsrPoslist(pCsr, iPhrase, &pIter->a, &n); + if( rc==SQLITE_OK ){ + pIter->b = &pIter->a[n]; + *piCol = 0; + *piOff = 0; + fts5ApiPhraseNext(pCtx, pIter, piCol, piOff); + } + return rc; } +static void fts5ApiPhraseNextColumn( + Fts5Context *pCtx, + Fts5PhraseIter *pIter, + int *piCol +){ + Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; + Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig; + + if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){ + if( pIter->a>=pIter->b ){ + *piCol = -1; + }else{ + int iIncr; + pIter->a += fts5GetVarint32(&pIter->a[0], iIncr); + *piCol += (iIncr-2); + } + }else{ + while( 1 ){ + int dummy; + if( pIter->a>=pIter->b ){ + *piCol = -1; + return; + } + if( pIter->a[0]==0x01 ) break; + pIter->a += fts5GetVarint32(pIter->a, dummy); + } + pIter->a += 1 + fts5GetVarint32(&pIter->a[1], *piCol); + } +} + +static int fts5ApiPhraseFirstColumn( + Fts5Context *pCtx, + int iPhrase, + Fts5PhraseIter *pIter, + int *piCol +){ + int rc = SQLITE_OK; + Fts5Cursor *pCsr = (Fts5Cursor*)pCtx; + Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig; + + if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){ + Fts5Sorter *pSorter = pCsr->pSorter; + int n; + if( pSorter ){ + int i1 = (iPhrase==0 ? 0 : pSorter->aIdx[iPhrase-1]); + n = pSorter->aIdx[iPhrase] - i1; + pIter->a = &pSorter->aPoslist[i1]; + }else{ + rc = sqlite3Fts5ExprPhraseCollist(pCsr->pExpr, iPhrase, &pIter->a, &n); + } + if( rc==SQLITE_OK ){ + pIter->b = &pIter->a[n]; + *piCol = 0; + fts5ApiPhraseNextColumn(pCtx, pIter, piCol); + } + }else{ + int n; + rc = fts5CsrPoslist(pCsr, iPhrase, &pIter->a, &n); + if( rc==SQLITE_OK ){ + pIter->b = &pIter->a[n]; + if( n<=0 ){ + *piCol = -1; + }else if( pIter->a[0]==0x01 ){ + pIter->a += 1 + fts5GetVarint32(&pIter->a[1], *piCol); + }else{ + *piCol = 0; + } + } + } + + return rc; +} + + static int fts5ApiQueryPhrase(Fts5Context*, int, void*, int(*)(const Fts5ExtensionApi*, Fts5Context*, void*) ); @@ -181821,9 +183861,10 @@ static const Fts5ExtensionApi sFts5Api = { fts5ApiGetAuxdata, fts5ApiPhraseFirst, fts5ApiPhraseNext, + fts5ApiPhraseFirstColumn, + fts5ApiPhraseNextColumn, }; - /* ** Implementation of API function xQueryPhrase(). */ @@ -181840,12 +183881,11 @@ static int fts5ApiQueryPhrase( rc = fts5OpenMethod(pCsr->base.pVtab, (sqlite3_vtab_cursor**)&pNew); if( rc==SQLITE_OK ){ - Fts5Config *pConf = pTab->pConfig; pNew->ePlan = FTS5_PLAN_MATCH; pNew->iFirstRowid = SMALLEST_INT64; pNew->iLastRowid = LARGEST_INT64; pNew->base.pVtab = (sqlite3_vtab*)pTab; - rc = sqlite3Fts5ExprClonePhrase(pConf, pCsr->pExpr, iPhrase, &pNew->pExpr); + rc = sqlite3Fts5ExprClonePhrase(pCsr->pExpr, iPhrase, &pNew->pExpr); } if( rc==SQLITE_OK ){ @@ -181955,20 +183995,46 @@ static int fts5PoslistBlob(sqlite3_context *pCtx, Fts5Cursor *pCsr){ Fts5Buffer val; memset(&val, 0, sizeof(Fts5Buffer)); + switch( ((Fts5Table*)(pCsr->base.pVtab))->pConfig->eDetail ){ + case FTS5_DETAIL_FULL: - /* Append the varints */ - for(i=0; i<(nPhrase-1); i++){ - const u8 *dummy; - int nByte = sqlite3Fts5ExprPoslist(pCsr->pExpr, i, &dummy); - sqlite3Fts5BufferAppendVarint(&rc, &val, nByte); - } + /* Append the varints */ + for(i=0; i<(nPhrase-1); i++){ + const u8 *dummy; + int nByte = sqlite3Fts5ExprPoslist(pCsr->pExpr, i, &dummy); + sqlite3Fts5BufferAppendVarint(&rc, &val, nByte); + } + + /* Append the position lists */ + for(i=0; ipExpr, i, &pPoslist); + sqlite3Fts5BufferAppendBlob(&rc, &val, nPoslist, pPoslist); + } + break; - /* Append the position lists */ - for(i=0; ipExpr, i, &pPoslist); - sqlite3Fts5BufferAppendBlob(&rc, &val, nPoslist, pPoslist); + case FTS5_DETAIL_COLUMNS: + + /* Append the varints */ + for(i=0; rc==SQLITE_OK && i<(nPhrase-1); i++){ + const u8 *dummy; + int nByte; + rc = sqlite3Fts5ExprPhraseCollist(pCsr->pExpr, i, &dummy, &nByte); + sqlite3Fts5BufferAppendVarint(&rc, &val, nByte); + } + + /* Append the position lists */ + for(i=0; rc==SQLITE_OK && ipExpr, i, &pPoslist, &nPoslist); + sqlite3Fts5BufferAppendBlob(&rc, &val, nPoslist, pPoslist); + } + break; + + default: + break; } sqlite3_result_blob(pCtx, val.p, val.n, sqlite3_free); @@ -182032,7 +184098,7 @@ static int fts5ColumnMethod( */ static int fts5FindFunctionMethod( sqlite3_vtab *pVtab, /* Virtual table handle */ - int nArg, /* Number of SQL function arguments */ + int nUnused, /* Number of SQL function arguments */ const char *zName, /* Name of SQL function */ void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), /* OUT: Result */ void **ppArg /* OUT: User data for *pxFunc */ @@ -182040,6 +184106,7 @@ static int fts5FindFunctionMethod( Fts5Table *pTab = (Fts5Table*)pVtab; Fts5Auxiliary *pAux; + UNUSED_PARAM(nUnused); pAux = fts5FindAuxiliary(pTab, zName); if( pAux ){ *pxFunc = fts5ApiCallback; @@ -182069,6 +184136,7 @@ static int fts5RenameMethod( */ static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){ Fts5Table *pTab = (Fts5Table*)pVtab; + UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState(pTab, FTS5_SAVEPOINT, iSavepoint); fts5TripCursors(pTab); return sqlite3Fts5StorageSync(pTab->pStorage, 0); @@ -182081,6 +184149,7 @@ static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){ */ static int fts5ReleaseMethod(sqlite3_vtab *pVtab, int iSavepoint){ Fts5Table *pTab = (Fts5Table*)pVtab; + UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState(pTab, FTS5_RELEASE, iSavepoint); fts5TripCursors(pTab); return sqlite3Fts5StorageSync(pTab->pStorage, 0); @@ -182093,6 +184162,7 @@ static int fts5ReleaseMethod(sqlite3_vtab *pVtab, int iSavepoint){ */ static int fts5RollbackToMethod(sqlite3_vtab *pVtab, int iSavepoint){ Fts5Table *pTab = (Fts5Table*)pVtab; + UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState(pTab, FTS5_ROLLBACKTO, iSavepoint); fts5TripCursors(pTab); return sqlite3Fts5StorageRollback(pTab->pStorage); @@ -182272,10 +184342,11 @@ static void fts5ModuleDestroy(void *pCtx){ static void fts5Fts5Func( sqlite3_context *pCtx, /* Function call context */ int nArg, /* Number of args */ - sqlite3_value **apVal /* Function arguments */ + sqlite3_value **apUnused /* Function arguments */ ){ Fts5Global *pGlobal = (Fts5Global*)sqlite3_user_data(pCtx); char buf[8]; + UNUSED_PARAM2(nArg, apUnused); assert( nArg==0 ); assert( sizeof(buf)>=sizeof(pGlobal) ); memcpy(buf, (void*)&pGlobal, sizeof(pGlobal)); @@ -182288,10 +184359,11 @@ static void fts5Fts5Func( static void fts5SourceIdFunc( sqlite3_context *pCtx, /* Function call context */ int nArg, /* Number of args */ - sqlite3_value **apVal /* Function arguments */ + sqlite3_value **apUnused /* Function arguments */ ){ assert( nArg==0 ); - sqlite3_result_text(pCtx, "fts5: 2016-01-20 15:27:19 17efb4209f97fb4971656086b138599a91a75ff9", -1, SQLITE_TRANSIENT); + UNUSED_PARAM2(nArg, apUnused); + sqlite3_result_text(pCtx, "fts5: 2016-03-03 16:17:53 f047920ce16971e573bc6ec9a48b118c9de2b3a7", -1, SQLITE_TRANSIENT); } static int fts5Init(sqlite3 *db){ @@ -182352,6 +184424,17 @@ static int fts5Init(sqlite3 *db){ ); } } + + /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file + ** fts5_test_mi.c is compiled and linked into the executable. And call + ** its entry point to enable the matchinfo() demo. */ +#ifdef SQLITE_FTS5_ENABLE_TEST_MI + if( rc==SQLITE_OK ){ + extern int sqlite3Fts5TestRegisterMatchinfo(sqlite3*); + rc = sqlite3Fts5TestRegisterMatchinfo(db); + } +#endif + return rc; } @@ -182736,7 +184819,7 @@ static int sqlite3Fts5StorageClose(Fts5Storage *p){ int i; /* Finalize all SQL statements */ - for(i=0; i<(int)ArraySize(p->aStmt); i++){ + for(i=0; iaStmt); i++){ sqlite3_finalize(p->aStmt[i]); } @@ -182760,11 +184843,12 @@ static int fts5StorageInsertCallback( int tflags, const char *pToken, /* Buffer containing token */ int nToken, /* Size of token in bytes */ - int iStart, /* Start offset of token */ - int iEnd /* End offset of token */ + int iUnused1, /* Start offset of token */ + int iUnused2 /* End offset of token */ ){ Fts5InsertCtx *pCtx = (Fts5InsertCtx*)pContext; Fts5Index *pIdx = pCtx->pStorage->pIndex; + UNUSED_PARAM2(iUnused1, iUnused2); if( (tflags & FTS5_TOKEN_COLOCATED)==0 || pCtx->szCol==0 ){ pCtx->szCol++; } @@ -182776,39 +184860,52 @@ static int fts5StorageInsertCallback( ** delete-markers to the FTS index necessary to delete it. Do not actually ** remove the %_content row at this time though. */ -static int fts5StorageDeleteFromIndex(Fts5Storage *p, i64 iDel){ +static int fts5StorageDeleteFromIndex( + Fts5Storage *p, + i64 iDel, + sqlite3_value **apVal +){ Fts5Config *pConfig = p->pConfig; - sqlite3_stmt *pSeek; /* SELECT to read row iDel from %_data */ + sqlite3_stmt *pSeek = 0; /* SELECT to read row iDel from %_data */ int rc; /* Return code */ + int rc2; /* sqlite3_reset() return code */ + int iCol; + Fts5InsertCtx ctx; - rc = fts5StorageGetStmt(p, FTS5_STMT_LOOKUP, &pSeek, 0); - if( rc==SQLITE_OK ){ - int rc2; + if( apVal==0 ){ + rc = fts5StorageGetStmt(p, FTS5_STMT_LOOKUP, &pSeek, 0); + if( rc!=SQLITE_OK ) return rc; sqlite3_bind_int64(pSeek, 1, iDel); - if( sqlite3_step(pSeek)==SQLITE_ROW ){ - int iCol; - Fts5InsertCtx ctx; - ctx.pStorage = p; - ctx.iCol = -1; - rc = sqlite3Fts5IndexBeginWrite(p->pIndex, 1, iDel); - for(iCol=1; rc==SQLITE_OK && iCol<=pConfig->nCol; iCol++){ - if( pConfig->abUnindexed[iCol-1] ) continue; - ctx.szCol = 0; - rc = sqlite3Fts5Tokenize(pConfig, - FTS5_TOKENIZE_DOCUMENT, - (const char*)sqlite3_column_text(pSeek, iCol), - sqlite3_column_bytes(pSeek, iCol), - (void*)&ctx, - fts5StorageInsertCallback - ); - p->aTotalSize[iCol-1] -= (i64)ctx.szCol; + if( sqlite3_step(pSeek)!=SQLITE_ROW ){ + return sqlite3_reset(pSeek); + } + } + + ctx.pStorage = p; + ctx.iCol = -1; + rc = sqlite3Fts5IndexBeginWrite(p->pIndex, 1, iDel); + for(iCol=1; rc==SQLITE_OK && iCol<=pConfig->nCol; iCol++){ + if( pConfig->abUnindexed[iCol-1]==0 ){ + const char *zText; + int nText; + if( pSeek ){ + zText = (const char*)sqlite3_column_text(pSeek, iCol); + nText = sqlite3_column_bytes(pSeek, iCol); + }else{ + zText = (const char*)sqlite3_value_text(apVal[iCol-1]); + nText = sqlite3_value_bytes(apVal[iCol-1]); } - p->nTotalRow--; + ctx.szCol = 0; + rc = sqlite3Fts5Tokenize(pConfig, FTS5_TOKENIZE_DOCUMENT, + zText, nText, (void*)&ctx, fts5StorageInsertCallback + ); + p->aTotalSize[iCol-1] -= (i64)ctx.szCol; } - rc2 = sqlite3_reset(pSeek); - if( rc==SQLITE_OK ) rc = rc2; } + p->nTotalRow--; + rc2 = sqlite3_reset(pSeek); + if( rc==SQLITE_OK ) rc = rc2; return rc; } @@ -182888,16 +184985,17 @@ static int fts5StorageSaveTotals(Fts5Storage *p){ /* ** Remove a row from the FTS table. */ -static int sqlite3Fts5StorageDelete(Fts5Storage *p, i64 iDel){ +static int sqlite3Fts5StorageDelete(Fts5Storage *p, i64 iDel, sqlite3_value **apVal){ Fts5Config *pConfig = p->pConfig; int rc; sqlite3_stmt *pDel = 0; + assert( pConfig->eContent!=FTS5_CONTENT_NORMAL || apVal==0 ); rc = fts5StorageLoadTotals(p, 1); /* Delete the index records */ if( rc==SQLITE_OK ){ - rc = fts5StorageDeleteFromIndex(p, iDel); + rc = fts5StorageDeleteFromIndex(p, iDel, apVal); } /* Delete the %_docsize record */ @@ -182930,61 +185028,6 @@ static int sqlite3Fts5StorageDelete(Fts5Storage *p, i64 iDel){ return rc; } -static int sqlite3Fts5StorageSpecialDelete( - Fts5Storage *p, - i64 iDel, - sqlite3_value **apVal -){ - Fts5Config *pConfig = p->pConfig; - int rc; - sqlite3_stmt *pDel = 0; - - assert( pConfig->eContent!=FTS5_CONTENT_NORMAL ); - rc = fts5StorageLoadTotals(p, 1); - - /* Delete the index records */ - if( rc==SQLITE_OK ){ - int iCol; - Fts5InsertCtx ctx; - ctx.pStorage = p; - ctx.iCol = -1; - - rc = sqlite3Fts5IndexBeginWrite(p->pIndex, 1, iDel); - for(iCol=0; rc==SQLITE_OK && iColnCol; iCol++){ - if( pConfig->abUnindexed[iCol] ) continue; - ctx.szCol = 0; - rc = sqlite3Fts5Tokenize(pConfig, - FTS5_TOKENIZE_DOCUMENT, - (const char*)sqlite3_value_text(apVal[iCol]), - sqlite3_value_bytes(apVal[iCol]), - (void*)&ctx, - fts5StorageInsertCallback - ); - p->aTotalSize[iCol] -= (i64)ctx.szCol; - } - p->nTotalRow--; - } - - /* Delete the %_docsize record */ - if( pConfig->bColumnsize ){ - if( rc==SQLITE_OK ){ - rc = fts5StorageGetStmt(p, FTS5_STMT_DELETE_DOCSIZE, &pDel, 0); - } - if( rc==SQLITE_OK ){ - sqlite3_bind_int64(pDel, 1, iDel); - sqlite3_step(pDel); - rc = sqlite3_reset(pDel); - } - } - - /* Write the averages record */ - if( rc==SQLITE_OK ){ - rc = fts5StorageSaveTotals(p); - } - - return rc; -} - /* ** Delete all entries in the FTS5 index. */ @@ -183223,28 +185266,75 @@ struct Fts5IntegrityCtx { int iCol; int szCol; u64 cksum; + Fts5Termset *pTermset; Fts5Config *pConfig; }; + /* ** Tokenization callback used by integrity check. */ static int fts5StorageIntegrityCallback( - void *pContext, /* Pointer to Fts5InsertCtx object */ + void *pContext, /* Pointer to Fts5IntegrityCtx object */ int tflags, const char *pToken, /* Buffer containing token */ int nToken, /* Size of token in bytes */ - int iStart, /* Start offset of token */ - int iEnd /* End offset of token */ + int iUnused1, /* Start offset of token */ + int iUnused2 /* End offset of token */ ){ Fts5IntegrityCtx *pCtx = (Fts5IntegrityCtx*)pContext; + Fts5Termset *pTermset = pCtx->pTermset; + int bPresent; + int ii; + int rc = SQLITE_OK; + int iPos; + int iCol; + + UNUSED_PARAM2(iUnused1, iUnused2); + if( (tflags & FTS5_TOKEN_COLOCATED)==0 || pCtx->szCol==0 ){ pCtx->szCol++; } - pCtx->cksum ^= sqlite3Fts5IndexCksum( - pCtx->pConfig, pCtx->iRowid, pCtx->iCol, pCtx->szCol-1, pToken, nToken - ); - return SQLITE_OK; + + switch( pCtx->pConfig->eDetail ){ + case FTS5_DETAIL_FULL: + iPos = pCtx->szCol-1; + iCol = pCtx->iCol; + break; + + case FTS5_DETAIL_COLUMNS: + iPos = pCtx->iCol; + iCol = 0; + break; + + default: + assert( pCtx->pConfig->eDetail==FTS5_DETAIL_NONE ); + iPos = 0; + iCol = 0; + break; + } + + rc = sqlite3Fts5TermsetAdd(pTermset, 0, pToken, nToken, &bPresent); + if( rc==SQLITE_OK && bPresent==0 ){ + pCtx->cksum ^= sqlite3Fts5IndexEntryCksum( + pCtx->iRowid, iCol, iPos, 0, pToken, nToken + ); + } + + for(ii=0; rc==SQLITE_OK && iipConfig->nPrefix; ii++){ + const int nChar = pCtx->pConfig->aPrefix[ii]; + int nByte = sqlite3Fts5IndexCharlenToBytelen(pToken, nToken, nChar); + if( nByte ){ + rc = sqlite3Fts5TermsetAdd(pTermset, ii+1, pToken, nByte, &bPresent); + if( bPresent==0 ){ + pCtx->cksum ^= sqlite3Fts5IndexEntryCksum( + pCtx->iRowid, iCol, iPos, ii+1, pToken, nByte + ); + } + } + } + + return rc; } /* @@ -183280,22 +185370,37 @@ static int sqlite3Fts5StorageIntegrity(Fts5Storage *p){ if( pConfig->bColumnsize ){ rc = sqlite3Fts5StorageDocsize(p, ctx.iRowid, aColSize); } + if( rc==SQLITE_OK && pConfig->eDetail==FTS5_DETAIL_NONE ){ + rc = sqlite3Fts5TermsetNew(&ctx.pTermset); + } for(i=0; rc==SQLITE_OK && inCol; i++){ if( pConfig->abUnindexed[i] ) continue; ctx.iCol = i; ctx.szCol = 0; - rc = sqlite3Fts5Tokenize(pConfig, - FTS5_TOKENIZE_DOCUMENT, - (const char*)sqlite3_column_text(pScan, i+1), - sqlite3_column_bytes(pScan, i+1), - (void*)&ctx, - fts5StorageIntegrityCallback - ); - if( pConfig->bColumnsize && ctx.szCol!=aColSize[i] ){ + if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){ + rc = sqlite3Fts5TermsetNew(&ctx.pTermset); + } + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5Tokenize(pConfig, + FTS5_TOKENIZE_DOCUMENT, + (const char*)sqlite3_column_text(pScan, i+1), + sqlite3_column_bytes(pScan, i+1), + (void*)&ctx, + fts5StorageIntegrityCallback + ); + } + if( rc==SQLITE_OK && pConfig->bColumnsize && ctx.szCol!=aColSize[i] ){ rc = FTS5_CORRUPT; } aTotalSize[i] += ctx.szCol; + if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){ + sqlite3Fts5TermsetFree(ctx.pTermset); + ctx.pTermset = 0; + } } + sqlite3Fts5TermsetFree(ctx.pTermset); + ctx.pTermset = 0; + if( rc!=SQLITE_OK ) break; } rc2 = sqlite3_reset(pScan); @@ -183564,12 +185669,13 @@ static void fts5AsciiDelete(Fts5Tokenizer *p){ ** Create an "ascii" tokenizer. */ static int fts5AsciiCreate( - void *pCtx, + void *pUnused, const char **azArg, int nArg, Fts5Tokenizer **ppOut ){ int rc = SQLITE_OK; AsciiTokenizer *p = 0; + UNUSED_PARAM(pUnused); if( nArg%2 ){ rc = SQLITE_ERROR; }else{ @@ -183618,7 +185724,7 @@ static void asciiFold(char *aOut, const char *aIn, int nByte){ static int fts5AsciiTokenize( Fts5Tokenizer *pTokenizer, void *pCtx, - int flags, + int iUnused, const char *pText, int nText, int (*xToken)(void*, int, const char*, int nToken, int iStart, int iEnd) ){ @@ -183632,6 +185738,8 @@ static int fts5AsciiTokenize( char *pFold = aFold; unsigned char *a = p->aTokenChar; + UNUSED_PARAM(iUnused); + while( isnFold; const char *pEnd = &aFold[nFold-6]; + UNUSED_PARAM(iUnused); + /* Each iteration of this loop gobbles up a contiguous run of separators, ** then the next token. */ while( rc==SQLITE_OK ){ @@ -184722,7 +186834,7 @@ static int sqlite3Fts5TokenizerInit(fts5_api *pApi){ int rc = SQLITE_OK; /* Return code */ int i; /* To iterate through builtin functions */ - for(i=0; rc==SQLITE_OK && i<(int)ArraySize(aBuiltin); i++){ + for(i=0; rc==SQLITE_OK && ixCreateTokenizer(pApi, aBuiltin[i].zName, (void*)pApi, @@ -184863,9 +186975,9 @@ static int sqlite3Fts5UnicodeIsalnum(int c){ 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001, }; - if( c<128 ){ + if( (unsigned int)c<128 ){ return ( (aAscii[c >> 5] & (1 << (c & 0x001F)))==0 ); - }else if( c<(1<<22) ){ + }else if( (unsigned int)c<(1<<22) ){ unsigned int key = (((unsigned int)c)<<10) | 0x000003FF; int iRes = 0; int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1; @@ -185432,7 +187544,10 @@ static int sqlite3Fts5PutVarint(unsigned char *p, u64 v){ static int sqlite3Fts5GetVarintLen(u32 iVal){ +#if 0 if( iVal<(1 << 7 ) ) return 1; +#endif + assert( iVal>=(1 << 7) ); if( iVal<(1 << 14) ) return 2; if( iVal<(1 << 21) ) return 3; if( iVal<(1 << 28) ) return 4; @@ -185626,7 +187741,7 @@ static int fts5VocabInitVtab( rc = fts5VocabTableType(zType, pzErr, &eType); if( rc==SQLITE_OK ){ - assert( eType>=0 && eType=0 && eTypenConstraint; i++){ struct sqlite3_index_constraint *p = &pInfo->aConstraint[i]; if( p->usable==0 ) continue; @@ -185821,7 +187938,7 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ if( pTab->eType==FTS5_VOCAB_COL ){ for(pCsr->iCol++; pCsr->iColiCol++){ - if( pCsr->aCnt[pCsr->iCol] ) break; + if( pCsr->aDoc[pCsr->iCol] ) break; } } @@ -185849,29 +187966,60 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ assert( pTab->eType==FTS5_VOCAB_COL || pTab->eType==FTS5_VOCAB_ROW ); while( rc==SQLITE_OK ){ - i64 dummy; const u8 *pPos; int nPos; /* Position list */ i64 iPos = 0; /* 64-bit position read from poslist */ int iOff = 0; /* Current offset within position list */ - rc = sqlite3Fts5IterPoslist(pCsr->pIter, 0, &pPos, &nPos, &dummy); - if( rc==SQLITE_OK ){ - if( pTab->eType==FTS5_VOCAB_ROW ){ - while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff, &iPos) ){ - pCsr->aCnt[0]++; + pPos = pCsr->pIter->pData; + nPos = pCsr->pIter->nData; + switch( pCsr->pConfig->eDetail ){ + case FTS5_DETAIL_FULL: + pPos = pCsr->pIter->pData; + nPos = pCsr->pIter->nData; + if( pTab->eType==FTS5_VOCAB_ROW ){ + while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff, &iPos) ){ + pCsr->aCnt[0]++; + } + pCsr->aDoc[0]++; + }else{ + int iCol = -1; + while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff, &iPos) ){ + int ii = FTS5_POS2COLUMN(iPos); + pCsr->aCnt[ii]++; + if( iCol!=ii ){ + if( ii>=nCol ){ + rc = FTS5_CORRUPT; + break; + } + pCsr->aDoc[ii]++; + iCol = ii; + } + } } - pCsr->aDoc[0]++; - }else{ - int iCol = -1; - while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff, &iPos) ){ - int ii = FTS5_POS2COLUMN(iPos); - pCsr->aCnt[ii]++; - if( iCol!=ii ){ - pCsr->aDoc[ii]++; - iCol = ii; + break; + + case FTS5_DETAIL_COLUMNS: + if( pTab->eType==FTS5_VOCAB_ROW ){ + pCsr->aDoc[0]++; + }else{ + while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff,&iPos) ){ + assert_nc( iPos>=0 && iPos=nCol ){ + rc = FTS5_CORRUPT; + break; + } + pCsr->aDoc[iPos]++; } } - } + break; + + default: + assert( pCsr->pConfig->eDetail==FTS5_DETAIL_NONE ); + pCsr->aDoc[0]++; + break; + } + + if( rc==SQLITE_OK ){ rc = sqlite3Fts5IterNextScan(pCsr->pIter); } @@ -185886,8 +188034,8 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ } } - if( pCsr->bEof==0 && pTab->eType==FTS5_VOCAB_COL ){ - while( pCsr->aCnt[pCsr->iCol]==0 ) pCsr->iCol++; + if( rc==SQLITE_OK && pCsr->bEof==0 && pTab->eType==FTS5_VOCAB_COL ){ + while( pCsr->aDoc[pCsr->iCol]==0 ) pCsr->iCol++; assert( pCsr->iColpConfig->nCol ); } return rc; @@ -185899,8 +188047,8 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ static int fts5VocabFilterMethod( sqlite3_vtab_cursor *pCursor, /* The cursor used for this query */ int idxNum, /* Strategy index */ - const char *idxStr, /* Unused */ - int nVal, /* Number of elements in apVal */ + const char *zUnused, /* Unused */ + int nUnused, /* Number of elements in apVal */ sqlite3_value **apVal /* Arguments for the indexing scheme */ ){ Fts5VocabCursor *pCsr = (Fts5VocabCursor*)pCursor; @@ -185915,6 +188063,8 @@ static int fts5VocabFilterMethod( sqlite3_value *pGe = 0; sqlite3_value *pLe = 0; + UNUSED_PARAM2(zUnused, nUnused); + fts5VocabResetCursor(pCsr); if( idxNum & FTS5_VOCAB_TERM_EQ ) pEq = apVal[iVal++]; if( idxNum & FTS5_VOCAB_TERM_GE ) pGe = apVal[iVal++]; @@ -185967,30 +188117,36 @@ static int fts5VocabColumnMethod( int iCol /* Index of column to read value from */ ){ Fts5VocabCursor *pCsr = (Fts5VocabCursor*)pCursor; + int eDetail = pCsr->pConfig->eDetail; + int eType = ((Fts5VocabTable*)(pCursor->pVtab))->eType; + i64 iVal = 0; if( iCol==0 ){ sqlite3_result_text( pCtx, (const char*)pCsr->term.p, pCsr->term.n, SQLITE_TRANSIENT ); - } - else if( ((Fts5VocabTable*)(pCursor->pVtab))->eType==FTS5_VOCAB_COL ){ + }else if( eType==FTS5_VOCAB_COL ){ assert( iCol==1 || iCol==2 || iCol==3 ); if( iCol==1 ){ - const char *z = pCsr->pConfig->azCol[pCsr->iCol]; - sqlite3_result_text(pCtx, z, -1, SQLITE_STATIC); + if( eDetail!=FTS5_DETAIL_NONE ){ + const char *z = pCsr->pConfig->azCol[pCsr->iCol]; + sqlite3_result_text(pCtx, z, -1, SQLITE_STATIC); + } }else if( iCol==2 ){ - sqlite3_result_int64(pCtx, pCsr->aDoc[pCsr->iCol]); + iVal = pCsr->aDoc[pCsr->iCol]; }else{ - sqlite3_result_int64(pCtx, pCsr->aCnt[pCsr->iCol]); + iVal = pCsr->aCnt[pCsr->iCol]; } }else{ assert( iCol==1 || iCol==2 ); if( iCol==1 ){ - sqlite3_result_int64(pCtx, pCsr->aDoc[0]); + iVal = pCsr->aDoc[0]; }else{ - sqlite3_result_int64(pCtx, pCsr->aCnt[0]); + iVal = pCsr->aCnt[0]; } } + + if( iVal>0 ) sqlite3_result_int64(pCtx, iVal); return SQLITE_OK; } diff --git a/src/3rdparty/sqlite/sqlite3.h b/src/3rdparty/sqlite/sqlite3.h index c6d1e0f233..37d1024766 100644 --- a/src/3rdparty/sqlite/sqlite3.h +++ b/src/3rdparty/sqlite/sqlite3.h @@ -111,9 +111,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.10.2" -#define SQLITE_VERSION_NUMBER 3010002 -#define SQLITE_SOURCE_ID "2016-01-20 15:27:19 17efb4209f97fb4971656086b138599a91a75ff9" +#define SQLITE_VERSION "3.11.1" +#define SQLITE_VERSION_NUMBER 3011001 +#define SQLITE_SOURCE_ID "2016-03-03 16:17:53 f047920ce16971e573bc6ec9a48b118c9de2b3a7" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -347,7 +347,7 @@ typedef int (*sqlite3_callback)(void*,int,char**, char**); ** from [sqlite3_malloc()] and passed back through the 5th parameter. ** To avoid memory leaks, the application should invoke [sqlite3_free()] ** on error message strings returned through the 5th parameter of -** of sqlite3_exec() after the error message string is no longer needed. +** sqlite3_exec() after the error message string is no longer needed. ** ^If the 5th parameter to sqlite3_exec() is not NULL and no errors ** occur, then sqlite3_exec() sets the pointer in its 5th parameter to ** NULL before returning. @@ -5697,7 +5697,7 @@ struct sqlite3_index_info { /* Inputs */ int nConstraint; /* Number of entries in aConstraint */ struct sqlite3_index_constraint { - int iColumn; /* Column on left-hand side of constraint */ + int iColumn; /* Column constrained. -1 for ROWID */ unsigned char op; /* Constraint operator */ unsigned char usable; /* True if this constraint is usable */ int iTermOffset; /* Used internally - xBestIndex should ignore */ @@ -8193,6 +8193,9 @@ struct Fts5PhraseIter { ** an OOM condition or IO error), an appropriate SQLite error code is ** returned. ** +** This function may be quite inefficient if used with an FTS5 table +** created with the "columnsize=0" option. +** ** xColumnText: ** This function attempts to retrieve the text of column iCol of the ** current document. If successful, (*pz) is set to point to a buffer @@ -8213,15 +8216,29 @@ struct Fts5PhraseIter { ** the query within the current row. Return SQLITE_OK if successful, or ** an error code (i.e. SQLITE_NOMEM) if an error occurs. ** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always returns 0. +** ** xInst: ** Query for the details of phrase match iIdx within the current row. ** Phrase matches are numbered starting from zero, so the iIdx argument ** should be greater than or equal to zero and smaller than the value ** output by xInstCount(). ** +** Usually, output parameter *piPhrase is set to the phrase number, *piCol +** to the column in which it occurs and *piOff the token offset of the +** first token of the phrase. The exception is if the table was created +** with the offsets=0 option specified. In this case *piOff is always +** set to -1. +** ** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM) ** if an error occurs. ** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. +** ** xRowid: ** Returns the rowid of the current row. ** @@ -8305,7 +8322,7 @@ struct Fts5PhraseIter { ** Fts5PhraseIter iter; ** int iCol, iOff; ** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff); -** iOff>=0; +** iCol>=0; ** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff) ** ){ ** // An instance of phrase iPhrase at offset iOff of column iCol @@ -8313,13 +8330,51 @@ struct Fts5PhraseIter { ** ** The Fts5PhraseIter structure is defined above. Applications should not ** modify this structure directly - it should only be used as shown above -** with the xPhraseFirst() and xPhraseNext() API methods. +** with the xPhraseFirst() and xPhraseNext() API methods (and by +** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below). +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always iterates +** through an empty set (all calls to xPhraseFirst() set iCol to -1). ** ** xPhraseNext() ** See xPhraseFirst above. +** +** xPhraseFirstColumn() +** This function and xPhraseNextColumn() are similar to the xPhraseFirst() +** and xPhraseNext() APIs described above. The difference is that instead +** of iterating through all instances of a phrase in the current row, these +** APIs are used to iterate through the set of columns in the current row +** that contain one or more instances of a specified phrase. For example: +** +** Fts5PhraseIter iter; +** int iCol; +** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol); +** iCol>=0; +** pApi->xPhraseNextColumn(pFts, &iter, &iCol) +** ){ +** // Column iCol contains at least one instance of phrase iPhrase +** } +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" option. If the FTS5 table is created with either +** "detail=none" "content=" option (i.e. if it is a contentless table), +** then this API always iterates through an empty set (all calls to +** xPhraseFirstColumn() set iCol to -1). +** +** The information accessed using this API and its companion +** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext +** (or xInst/xInstCount). The chief advantage of this API is that it is +** significantly more efficient than those alternatives when used with +** "detail=column" tables. +** +** xPhraseNextColumn() +** See xPhraseFirstColumn above. */ struct Fts5ExtensionApi { - int iVersion; /* Currently always set to 1 */ + int iVersion; /* Currently always set to 3 */ void *(*xUserData)(Fts5Context*); @@ -8349,8 +8404,11 @@ struct Fts5ExtensionApi { int (*xSetAuxdata)(Fts5Context*, void *pAux, void(*xDelete)(void*)); void *(*xGetAuxdata)(Fts5Context*, int bClear); - void (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); + int (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); void (*xPhraseNext)(Fts5Context*, Fts5PhraseIter*, int *piCol, int *piOff); + + int (*xPhraseFirstColumn)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*); + void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*, int *piCol); }; /* -- cgit v1.2.3 From 063ad1c8b629318288223792c0ca7ab3f991f3e6 Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Wed, 10 Feb 2016 17:20:35 +0100 Subject: Don't include by default ciphers that are not supported There could be cases (mostly when compiled on old systems, since modern openssl versions don't include such insecure ciphers) in which defaultCiphers included a cipher that wasn't in the supported ciphers list. With this patch we make sure that defaultCiphers is a subset of supportedCiphers Change-Id: I545ea21f5fd3a6ed13b366cdd56a1393233f9fc9 Reviewed-by: Richard J. Moore --- src/network/ssl/qsslsocket_openssl.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 244d4bbebf..8caa56ee5b 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -643,10 +643,12 @@ void QSslSocketPrivate::resetDefaultCiphers() // Unconditionally exclude ADH and AECDH ciphers since they offer no MITM protection if (!ciph.name().toLower().startsWith(QLatin1String("adh")) && !ciph.name().toLower().startsWith(QLatin1String("exp-adh")) && - !ciph.name().toLower().startsWith(QLatin1String("aecdh"))) + !ciph.name().toLower().startsWith(QLatin1String("aecdh"))) { ciphers << ciph; - if (ciph.usedBits() >= 128) - defaultCiphers << ciph; + + if (ciph.usedBits() >= 128) + defaultCiphers << ciph; + } } } } -- cgit v1.2.3 From c4886ca42732feb51648985b741a8113382a6fba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Mon, 14 Mar 2016 09:52:09 +0100 Subject: Cocoa: Fix crash on screen disconnect. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Maintain virtual siblings list on screen deletion. QCocoaIntegration::updateScreens() has a loop which will delete all non-current QScreen objects using QPlatformIntegration::destroyScreen(). destroyScreen() vill eventually call QWindowPrivate:: setTopLevelScreen() which accesses the virtual siblings list for the deleted screen. This can cause a stale pointer access if the virtual screen list is not up to date, especially when disconnecting two screens at the same time. Change-Id: Ia6b9d01edf8e5eea25b64604a2b3b28b173125f7 Task-number: QTBUG-48275 Reviewed-by: Timur Pocheptsov Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/cocoa/qcocoaintegration.mm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm index 6bec6b191d..91d4b2706b 100644 --- a/src/plugins/platforms/cocoa/qcocoaintegration.mm +++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm @@ -422,14 +422,18 @@ void QCocoaIntegration::updateScreens() } siblings << screen; } + + // Set virtual siblings list. All screens in mScreens are siblings, because we ignored the + // mirrors. Note that some of the screens we update the siblings list for here may be deleted + // below, but update anyway to keep the to-be-deleted screens out of the siblings list. + foreach (QCocoaScreen* screen, mScreens) + screen->setVirtualSiblings(siblings); + // Now the leftovers in remainingScreens are no longer current, so we can delete them. foreach (QCocoaScreen* screen, remainingScreens) { mScreens.removeOne(screen); destroyScreen(screen); } - // All screens in mScreens are siblings, because we ignored the mirrors. - foreach (QCocoaScreen* screen, mScreens) - screen->setVirtualSiblings(siblings); } QCocoaScreen *QCocoaIntegration::screenAtIndex(int index) -- cgit v1.2.3 From 8eb721468e9462605368d0469d404c0ee6fab854 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 23 Feb 2016 23:01:11 +0100 Subject: QMimeTypeParser: replace a QString::arg() chain with QString::asprintf() Saves ~250b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: Ic92c4ac1bb20230cfbb929bdf5c7f385d7b604e5 Reviewed-by: David Faure --- src/corelib/mimetypes/qmimetypeparser.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/mimetypes/qmimetypeparser.cpp b/src/corelib/mimetypes/qmimetypeparser.cpp index 63e8f14018..535fa51c92 100644 --- a/src/corelib/mimetypes/qmimetypeparser.cpp +++ b/src/corelib/mimetypes/qmimetypeparser.cpp @@ -326,8 +326,12 @@ bool QMimeTypeParserBase::parse(QIODevice *dev, const QString &fileName, QString } if (Q_UNLIKELY(reader.hasError())) { - if (errorMessage) - *errorMessage = QString::fromLatin1("An error has been encountered at line %1 of %2: %3:").arg(reader.lineNumber()).arg(fileName, reader.errorString()); + if (errorMessage) { + *errorMessage = QString::asprintf("An error has been encountered at line %lld of %ls: %ls:", + reader.lineNumber(), + qUtf16Printable(fileName), + qUtf16Printable(reader.errorString())); + } return false; } -- cgit v1.2.3 From 11836be1274196bca5883973b3c8f31dc07c34f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= Date: Thu, 10 Mar 2016 23:18:43 +0100 Subject: Remove Qt::WA_OutsideWSRange flag even if the widget is not yet visible. Show the widget when its initial size is 0 and the layout changes the size during showing. Task-number: QTBUG-51788 Change-Id: I3251ac27328f9715ff13d96e1b82fbf824d9e79d Reviewed-by: Dmitry Shachnev Reviewed-by: Shawn Rutledge --- src/widgets/kernel/qwidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 7bd4920ff1..7529f5b344 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -7216,7 +7216,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) if (q->isVisible()) hide_sys(); data.crect = QRect(x, y, w, h); - } else if (q->isVisible() && q->testAttribute(Qt::WA_OutsideWSRange)) { + } else if (q->testAttribute(Qt::WA_OutsideWSRange)) { q->setAttribute(Qt::WA_OutsideWSRange, false); needsShow = true; } -- cgit v1.2.3 From 52a599bb56e5e5e625909c25edee8487b0a3754d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 12 Mar 2016 11:34:48 +0100 Subject: QCosmeticStroker: fix several UBs involving << with a negative LHS Left-shifts of negative values are undefined in C++. In particular, they don't behave arithmetically. Reported by UBSan: qcosmeticstroker.cpp: 72:15: runtime error: left shift of negative value -14/-19/-32/-33/-34/-37/-38/-63/-64/-192/-384/-1280 qcosmeticstroker.cpp:444:20: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:451:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:483:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:762:20: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:774:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:813:47: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:839:20: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:851:26: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:889:47: runtime error: left shift of negative value -1 qcosmeticstroker.cpp:932:27: runtime error: left shift of negative value -64 qcosmeticstroker.cpp:995:27: runtime error: left shift of negative value -3/-64 Fix by using ordinary multiplication instead, because negative left-hand-side values don't look like they are an error. Change-Id: Icbebd41f6ddd3dca4abd385585fc0f82064fe8b6 Reviewed-by: Allan Sandfeld Jensen --- src/gui/painting/qcosmeticstroker.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src') diff --git a/src/gui/painting/qcosmeticstroker.cpp b/src/gui/painting/qcosmeticstroker.cpp index b310336b9b..64da03f13a 100644 --- a/src/gui/painting/qcosmeticstroker.cpp +++ b/src/gui/painting/qcosmeticstroker.cpp @@ -62,8 +62,8 @@ static inline uint sourceOver(uint d, uint color) inline static int F16Dot16FixedDiv(int x, int y) { if (qAbs(x) > 0x7fff) - return (((qlonglong)x) << 16) / y; - return (x << 16) / y; + return qlonglong(x) * (1<<16) / y; + return x * (1<<16) / y; } typedef void (*DrawPixel)(QCosmeticStroker *stroker, int x, int y, int coverage); @@ -435,14 +435,14 @@ void QCosmeticStroker::calculateLastPoint(qreal rx1, qreal ry1, qreal rx2, qreal qSwap(x1, x2); } int xinc = F16Dot16FixedDiv(x2 - x1, y2 - y1); - int x = x1 << 10; + int x = x1 * (1<<10); int y = (y1 + 32) >> 6; int ys = (y2 + 32) >> 6; int round = (xinc > 0) ? 32 : 0; if (y != ys) { - x += ( ((((y << 6) + round - y1))) * xinc ) >> 6; + x += ((y * (1<<6)) + round - y1) * xinc >> 6; if (swapped) { lastPixel.x = x >> 16; @@ -474,7 +474,7 @@ void QCosmeticStroker::calculateLastPoint(qreal rx1, qreal ry1, qreal rx2, qreal int round = (yinc > 0) ? 32 : 0; if (x != xs) { - y += ( ((((x << 6) + round - x1))) * yinc ) >> 6; + y += ((x * (1<<6)) + round - x1) * yinc >> 6; if (swapped) { lastPixel.x = x; @@ -753,7 +753,7 @@ static bool drawLine(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx2, dir = QCosmeticStroker::BottomToTop; } int xinc = F16Dot16FixedDiv(x2 - x1, y2 - y1); - int x = x1 << 10; + int x = x1 * (1<<10); if ((stroker->lastDir ^ QCosmeticStroker::VerticalMask) == dir) caps |= swapped ? QCosmeticStroker::CapEnd : QCosmeticStroker::CapBegin; @@ -765,7 +765,7 @@ static bool drawLine(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx2, int round = (xinc > 0) ? 32 : 0; if (y != ys) { - x += ( ((((y << 6) + round - y1))) * xinc ) >> 6; + x += ((y * (1<<6)) + round - y1) * xinc >> 6; // calculate first and last pixel and perform dropout control QCosmeticStroker::Point first; @@ -804,7 +804,7 @@ static bool drawLine(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx2, stroker->lastDir = dir; stroker->lastAxisAligned = axisAligned; - Dasher dasher(stroker, swapped, y << 6, ys << 6); + Dasher dasher(stroker, swapped, y * (1<<6), ys * (1<<6)); do { if (dasher.on()) @@ -830,7 +830,7 @@ static bool drawLine(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx2, dir = QCosmeticStroker::RightToLeft; } int yinc = F16Dot16FixedDiv(y2 - y1, x2 - x1); - int y = y1 << 10; + int y = y1 * (1<<10); if ((stroker->lastDir ^ QCosmeticStroker::HorizontalMask) == dir) caps |= swapped ? QCosmeticStroker::CapEnd : QCosmeticStroker::CapBegin; @@ -842,7 +842,7 @@ static bool drawLine(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx2, int round = (yinc > 0) ? 32 : 0; if (x != xs) { - y += ( ((((x << 6) + round - x1))) * yinc ) >> 6; + y += ((x * (1<<6)) + round - x1) * yinc >> 6; // calculate first and last pixel to perform dropout control QCosmeticStroker::Point first; @@ -880,7 +880,7 @@ static bool drawLine(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx2, stroker->lastDir = dir; stroker->lastAxisAligned = axisAligned; - Dasher dasher(stroker, swapped, x << 6, xs << 6); + Dasher dasher(stroker, swapped, x * (1<<6), xs * (1<<6)); do { if (dasher.on()) @@ -923,7 +923,7 @@ static bool drawLineAA(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx caps = swapCaps(caps); } - int x = (x1 - 32) << 10; + int x = (x1 - 32) * (1<<10); x -= ( ((y1 & 63) - 32) * xinc ) >> 6; capAdjust(caps, y1, y2, x, xinc); @@ -986,7 +986,7 @@ static bool drawLineAA(QCosmeticStroker *stroker, qreal rx1, qreal ry1, qreal rx caps = swapCaps(caps); } - int y = (y1 - 32) << 10; + int y = (y1 - 32) * (1<<10); y -= ( ((x1 & 63) - 32) * yinc ) >> 6; capAdjust(caps, x1, x2, y, yinc); -- cgit v1.2.3 From add95c55108dcda46286846dae5ad12d6ee9057b Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 12 Mar 2016 15:03:16 +0100 Subject: tst_QSqlQuery: fix UBs (invalid downcasts, member calls) The existing code derived a helper class from QSqlResult and overloaded two protected functions as public ones so the test could call them after casting QSqlResults to that helper class. Both the cast (which is a C-style cast, but with combined static_cast and const_cast semanics) and the following member function call are undefined behavior. Fix by making the test class a friend of QSqlResult, and dropping the casts. Change-Id: I09de2e2b46976d01cfce25892aec6ad36881d3eb Reviewed-by: Mark Brand --- src/sql/kernel/qsqlresult.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/sql/kernel/qsqlresult.h b/src/sql/kernel/qsqlresult.h index c86a8f858f..eeef68d2b8 100644 --- a/src/sql/kernel/qsqlresult.h +++ b/src/sql/kernel/qsqlresult.h @@ -38,6 +38,9 @@ #include #include +// for testing: +class tst_QSqlQuery; + QT_BEGIN_NAMESPACE @@ -54,6 +57,8 @@ class Q_SQL_EXPORT QSqlResult Q_DECLARE_PRIVATE(QSqlResult) friend class QSqlQuery; friend class QSqlTableModelPrivate; + // for testing: + friend class ::tst_QSqlQuery; public: virtual ~QSqlResult(); -- cgit v1.2.3 From 9739cae4c84218e1a805bbd82b2f40fe20d57b74 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 10 Mar 2016 09:53:36 +0100 Subject: QRawFont: fix UB (misaligned load) in fontTable() Found by UBSan: qrawfont.cpp:618:60: runtime error: load of misaligned address 0x2acee92a5569 for type 'const quint32', which requires 4 byte alignment Fix by using MAKE_TAG(), like everywhere else, instead of a load through a type-punned and misaligned pointer. Change-Id: I52b88ca05a57f7d8c5e5bce953384de49514079b Reviewed-by: Konstantin Ritt Reviewed-by: Lars Knoll --- src/gui/text/qrawfont.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 0fd5f510c7..59f13581dd 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -607,8 +607,7 @@ QByteArray QRawFont::fontTable(const char *tagName) const if (!d->isValid()) return QByteArray(); - const quint32 *tagId = reinterpret_cast(tagName); - return d->fontEngine->getSfntTable(qToBigEndian(*tagId)); + return d->fontEngine->getSfntTable(MAKE_TAG(tagName[0], tagName[1], tagName[2], tagName[3])); } /*! -- cgit v1.2.3 From b4fa18a996bc29bbb04e7358ef57b287076b0aae Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 12 Mar 2016 00:58:52 +0100 Subject: Revert "Handle the QWidgetPrivate::mapper structure" This reverts commit 90de48493be283b9afb249f6a0fd8dbd8958517d. The call isn't necessary, but invokes undefined behavior. It invokes undefined behavior because deleteTLSysExtra() is called from deleteExtra(), which is called from ~QWidgetPrivate(), which is called from ~QObject(). Thus, by the time we call q->windowType() within setWinId(), q is no longer a QWidget, but only a QObject, and calling a QWidget member function then is UB. UBSan confirms: qwidget_p.h:300:5: runtime error: downcast of address 0x2afdd4053620 which does not point to an object of type 'QWidget' (the Q_Q macro) 0x2afdd4053620: note: object is of type 'QObject' qwidget.cpp:1712:93: runtime error: member call on address 0x2afdd4053620 which does not point to an object of type 'QWidget' 0x2afdd4053620: note: object is of type 'QObject' It is also unnecessary: deleteTLSysExtra() is called from two places: QWidget::destroy() and deleteExtra(). deleteExtra() is only called from ~QWidgetPrivate() which is only called from ~QObject() called by ~QWidget(), which, however, already calls QWidget::destroy(). QWidget::destroy(), in turn, unconditionally (for non-desktop widgets, at least) calls setWinId(0) itself. So fix the UB by removing the call without replacement. Conflicts: src/gui/kernel/qwidget_qpa.cpp Change-Id: Ib3a8cc9d28a096183f1d3dfd1941ea5fdc6a4aac Reviewed-by: Friedemann Kleint --- src/widgets/kernel/qwidget.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp index 7529f5b344..6fdd5d3d0e 100644 --- a/src/widgets/kernel/qwidget.cpp +++ b/src/widgets/kernel/qwidget.cpp @@ -1880,7 +1880,6 @@ void QWidgetPrivate::deleteTLSysExtra() if (extra->topextra->window) { extra->topextra->window->destroy(); } - setWinId(0); delete extra->topextra->window; extra->topextra->window = 0; -- cgit v1.2.3 From 1dcc53f6faf53a2994c6b9fe329d35fdaf61c06e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Fri, 11 Mar 2016 12:48:11 +0100 Subject: Compile with -no-opengl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QCocoaBackingstore::toImage() can only be Q_DECL_OVERRIDE if QPlatformBackingStore::toImage() is present, which it isn’t for NO_OPENGL builds. Change-Id: Ib116f40fd26defb29a8d520d3e3fb104d8da8d57 Task-number: QTBUG-51694 Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qcocoabackingstore.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qcocoabackingstore.h b/src/plugins/platforms/cocoa/qcocoabackingstore.h index 5a199de4a5..934f68ad18 100644 --- a/src/plugins/platforms/cocoa/qcocoabackingstore.h +++ b/src/plugins/platforms/cocoa/qcocoabackingstore.h @@ -51,7 +51,11 @@ public: QPaintDevice *paintDevice() Q_DECL_OVERRIDE; void flush(QWindow *widget, const QRegion ®ion, const QPoint &offset) Q_DECL_OVERRIDE; +#ifndef QT_NO_OPENGL QImage toImage() const Q_DECL_OVERRIDE; +#else + QImage toImage() const; // No QPlatformBackingStore::toImage() for NO_OPENGL builds. +#endif void resize (const QSize &size, const QRegion &) Q_DECL_OVERRIDE; bool scroll(const QRegion &area, int dx, int dy) Q_DECL_OVERRIDE; void beginPaint(const QRegion ®ion) Q_DECL_OVERRIDE; -- cgit v1.2.3 From e4c6d73f925671a9c96558293472ed213861239c Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 14 Mar 2016 15:18:11 +0100 Subject: QRect: fix UB (int overflow) in center() QRect::center() should be defined for any QRect(x1,y1,x2,x2), INT_MIN <= x1, x2, y1, y2 <= INT_MAX because the average of two signed integers is always representable as a signed integer. But not when it's calculated as (x1+x2)/2, since that expression overflows when x1 > INT_MAX - x2. Instead of playing games with Hacker's Delight-style expressions, or use Google's patented algorithm, which requires two divisions, take advantage of the fact that int is not intmax_t and perform the calculation in the qint64 domain. The cast back to int is always well- defined since, as mentioned, the result is always representable in an int. Fix a test-case that expected a nonsensical result due to overflow. [ChangeLog][QtCore][QRect] Fixed integer overflow in center(). This fixes the result for some corner-cases like a 1x1 rectangle at (INT_MIN, INT_MIN), for which the previous implementation could return anything (due to invoking undefined behavior), but commonly returned (0, 0). Change-Id: I1a885ca6dff770327dd31655c3eb473fcfeb8878 Reviewed-by: Lars Knoll --- src/corelib/tools/qrect.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/tools/qrect.h b/src/corelib/tools/qrect.h index 59cecf9a01..a0449ae134 100644 --- a/src/corelib/tools/qrect.h +++ b/src/corelib/tools/qrect.h @@ -245,7 +245,7 @@ Q_DECL_CONSTEXPR inline QPoint QRect::bottomLeft() const Q_DECL_NOTHROW { return QPoint(x1, y2); } Q_DECL_CONSTEXPR inline QPoint QRect::center() const Q_DECL_NOTHROW -{ return QPoint((x1+x2)/2, (y1+y2)/2); } +{ return QPoint(int((qint64(x1)+x2)/2), int((qint64(y1)+y2)/2)); } // cast avoids overflow on addition Q_DECL_CONSTEXPR inline int QRect::width() const Q_DECL_NOTHROW { return x2 - x1 + 1; } -- cgit v1.2.3 From aa21ac1043d58b9749077a237aab51e14f06d16e Mon Sep 17 00:00:00 2001 From: Sean Harmer Date: Mon, 7 Mar 2016 13:41:14 +0000 Subject: Add a function to QMetaObject to check for inheritance This is analogous to QObject::inherits() but only requires the metaobjects rather than pointers to a QObject instances. This is needed for type checking on the backend of Qt 3D where we do not have access to QObject pointers. Change-Id: I14d26c4cbb5cc3fbecb57725f2c14ee0ffda4a11 Reviewed-by: Olivier Goffart (Woboq GmbH) Reviewed-by: Milian Wolff Reviewed-by: Lars Knoll --- src/corelib/kernel/qmetaobject.cpp | 18 ++++++++++++++++++ src/corelib/kernel/qobjectdefs.h | 1 + 2 files changed, 19 insertions(+) (limited to 'src') diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 1c426225a5..8024c97373 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -325,6 +325,24 @@ const char *QMetaObject::className() const \sa className() */ +/* + Returns \c true if the class described by this QMetaObject inherits + the type described by \a metaObject; otherwise returns false. + + A type is considered to inherit itself. + + \since 5.7 +*/ +bool QMetaObject::inherits(const QMetaObject *metaObject) const Q_DECL_NOEXCEPT +{ + const QMetaObject *m = this; + do { + if (metaObject == m) + return true; + } while ((m = m->d.superdata)); + return false; +} + /*! \internal diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h index 951668fe55..3d47bae4a0 100644 --- a/src/corelib/kernel/qobjectdefs.h +++ b/src/corelib/kernel/qobjectdefs.h @@ -327,6 +327,7 @@ struct Q_CORE_EXPORT QMetaObject const char *className() const; const QMetaObject *superClass() const; + bool inherits(const QMetaObject *metaObject) const Q_DECL_NOEXCEPT; QObject *cast(QObject *obj) const; const QObject *cast(const QObject *obj) const; -- cgit v1.2.3 From ad9726d99c327545aa908856d248198bfeb9bca2 Mon Sep 17 00:00:00 2001 From: Sean Harmer Date: Fri, 11 Mar 2016 11:50:50 +0000 Subject: Dedupe QMetaObject::cast By implementing in terms of QMetaObject::inherits(). Change-Id: I39a039539b05a20bc1713bd450d8a998c78433aa Reviewed-by: Milian Wolff Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/kernel/qmetaobject.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src') diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 8024c97373..4f764e7e78 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -363,14 +363,7 @@ QObject *QMetaObject::cast(QObject *obj) const */ const QObject *QMetaObject::cast(const QObject *obj) const { - if (obj) { - const QMetaObject *m = obj->metaObject(); - do { - if (m == this) - return obj; - } while ((m = m->d.superdata)); - } - return 0; + return (obj && obj->metaObject()->inherits(this)) ? obj : nullptr; } #ifndef QT_NO_TRANSLATION -- cgit v1.2.3 From 6c53f2528c86fb72f19951a799f0afaa02ad4490 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Mon, 14 Mar 2016 10:07:20 +0100 Subject: xcb: Initialize all xcb_client_message_event_t members before use Change-Id: I01e4b69b138fd19fc7e67751d93adebc1326b2f9 Reviewed-by: Orgad Shaneh --- src/plugins/platforms/xcb/qxcbdrag.cpp | 6 ++++++ src/plugins/platforms/xcb/qxcbscreen.cpp | 1 + src/plugins/platforms/xcb/qxcbsystemtraytracker.cpp | 2 +- src/plugins/platforms/xcb/qxcbwindow.cpp | 5 +++++ 4 files changed, 13 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp index aa6445d2da..f5cc87394b 100644 --- a/src/plugins/platforms/xcb/qxcbdrag.cpp +++ b/src/plugins/platforms/xcb/qxcbdrag.cpp @@ -423,6 +423,7 @@ void QXcbDrag::move(const QPoint &globalPos) xcb_client_message_event_t enter; enter.response_type = XCB_CLIENT_MESSAGE; + enter.sequence = 0; enter.window = target; enter.format = 32; enter.type = atom(QXcbAtom::XdndEnter); @@ -451,6 +452,7 @@ void QXcbDrag::move(const QPoint &globalPos) xcb_client_message_event_t move; move.response_type = XCB_CLIENT_MESSAGE; + move.sequence = 0; move.window = target; move.format = 32; move.type = atom(QXcbAtom::XdndPosition); @@ -479,6 +481,7 @@ void QXcbDrag::drop(const QPoint &globalPos) xcb_client_message_event_t drop; drop.response_type = XCB_CLIENT_MESSAGE; + drop.sequence = 0; drop.window = current_target; drop.format = 32; drop.type = atom(QXcbAtom::XdndDrop); @@ -740,6 +743,7 @@ void QXcbDrag::handle_xdnd_position(QPlatformWindow *w, const xcb_client_message xcb_client_message_event_t response; response.response_type = XCB_CLIENT_MESSAGE; + response.sequence = 0; response.window = xdnd_dragsource; response.format = 32; response.type = atom(QXcbAtom::XdndStatus); @@ -886,6 +890,7 @@ void QXcbDrag::send_leave() xcb_client_message_event_t leave; leave.response_type = XCB_CLIENT_MESSAGE; + leave.sequence = 0; leave.window = current_target; leave.format = 32; leave.type = atom(QXcbAtom::XdndLeave); @@ -956,6 +961,7 @@ void QXcbDrag::handleDrop(QPlatformWindow *, const xcb_client_message_event_t *e xcb_client_message_event_t finished; finished.response_type = XCB_CLIENT_MESSAGE; + finished.sequence = 0; finished.window = xdnd_dragsource; finished.format = 32; finished.type = atom(QXcbAtom::XdndFinished); diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp index 1a90f824fc..f74244e13c 100644 --- a/src/plugins/platforms/xcb/qxcbscreen.cpp +++ b/src/plugins/platforms/xcb/qxcbscreen.cpp @@ -361,6 +361,7 @@ void QXcbScreen::sendStartupMessage(const QByteArray &message) const ev.response_type = XCB_CLIENT_MESSAGE; ev.format = 8; ev.type = connection()->atom(QXcbAtom::_NET_STARTUP_INFO_BEGIN); + ev.sequence = 0; ev.window = rootWindow; int sent = 0; int length = message.length() + 1; // include NUL byte diff --git a/src/plugins/platforms/xcb/qxcbsystemtraytracker.cpp b/src/plugins/platforms/xcb/qxcbsystemtraytracker.cpp index 1f217e8de7..49c0440a3c 100644 --- a/src/plugins/platforms/xcb/qxcbsystemtraytracker.cpp +++ b/src/plugins/platforms/xcb/qxcbsystemtraytracker.cpp @@ -94,9 +94,9 @@ xcb_window_t QXcbSystemTrayTracker::locateTrayWindow(const QXcbConnection *conne void QXcbSystemTrayTracker::requestSystemTrayWindowDock(xcb_window_t window) const { xcb_client_message_event_t trayRequest; - memset(&trayRequest, 0, sizeof(trayRequest)); trayRequest.response_type = XCB_CLIENT_MESSAGE; trayRequest.format = 32; + trayRequest.sequence = 0; trayRequest.window = m_trayWindow; trayRequest.type = m_trayAtom; trayRequest.data.data32[0] = XCB_CURRENT_TIME; diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index cd1774fed7..a0b1ddb434 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -1224,6 +1224,7 @@ void QXcbWindow::changeNetWmState(bool set, xcb_atom_t one, xcb_atom_t two) event.response_type = XCB_CLIENT_MESSAGE; event.format = 32; + event.sequence = 0; event.window = m_window; event.type = atom(QXcbAtom::_NET_WM_STATE); event.data.data32[0] = set ? 1 : 0; @@ -1265,6 +1266,7 @@ void QXcbWindow::setWindowState(Qt::WindowState state) event.response_type = XCB_CLIENT_MESSAGE; event.format = 32; + event.sequence = 0; event.window = m_window; event.type = atom(QXcbAtom::WM_CHANGE_STATE); event.data.data32[0] = XCB_WM_STATE_ICONIC; @@ -1660,6 +1662,7 @@ void QXcbWindow::requestActivateWindow() event.response_type = XCB_CLIENT_MESSAGE; event.format = 32; + event.sequence = 0; event.window = m_window; event.type = atom(QXcbAtom::_NET_ACTIVE_WINDOW); event.data.data32[0] = 1; @@ -2608,6 +2611,7 @@ bool QXcbWindow::startSystemResize(const QPoint &pos, Qt::Corner corner) xcb_client_message_event_t xev; xev.response_type = XCB_CLIENT_MESSAGE; xev.type = moveResize; + xev.sequence = 0; xev.window = xcb_window(); xev.format = 32; const QPoint globalPos = window()->mapToGlobal(pos); @@ -2636,6 +2640,7 @@ void QXcbWindow::sendXEmbedMessage(xcb_window_t window, quint32 message, event.response_type = XCB_CLIENT_MESSAGE; event.format = 32; + event.sequence = 0; event.window = window; event.type = atom(QXcbAtom::_XEMBED); event.data.data32[0] = connection()->time(); -- cgit v1.2.3 From 5393ba970b0d25280a048ef31c3ffd2e5efe0320 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Wed, 10 Jun 2015 16:45:02 +0200 Subject: Remove handle duplication code from QWindowsPipeWriter There is no apparent reason why the handle should be duplicated. Change-Id: I8ff2cde2f050934ed0dd9ab2d39a1b1efa327a17 Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qwindowspipewriter.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src') diff --git a/src/corelib/io/qwindowspipewriter.cpp b/src/corelib/io/qwindowspipewriter.cpp index 21df5d0643..5b11ba6112 100644 --- a/src/corelib/io/qwindowspipewriter.cpp +++ b/src/corelib/io/qwindowspipewriter.cpp @@ -39,12 +39,10 @@ QT_BEGIN_NAMESPACE QWindowsPipeWriter::QWindowsPipeWriter(HANDLE pipe, QObject * parent) : QThread(parent), - writePipe(INVALID_HANDLE_VALUE), + writePipe(pipe), quitNow(false), hasWritten(false) { - DuplicateHandle(GetCurrentProcess(), pipe, GetCurrentProcess(), - &writePipe, 0, FALSE, DUPLICATE_SAME_ACCESS); } QWindowsPipeWriter::~QWindowsPipeWriter() @@ -55,7 +53,6 @@ QWindowsPipeWriter::~QWindowsPipeWriter() lock.unlock(); if (!wait(30000)) terminate(); - CloseHandle(writePipe); } bool QWindowsPipeWriter::waitForWrite(int msecs) -- cgit v1.2.3 From 7e72a5e11e92ed1df28ed34b13b711df6ca6fde2 Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Wed, 16 Mar 2016 10:32:44 +0100 Subject: winrt: process all triggered timers in processEvents If only one timer is processed in there it is possible that a reoccuring timer which has a very low timeout blocks all the other timers from being triggered. This high frequency timer might be the only one to be triggered in every processEvents call. Task-number: QTBUG-51888 Change-Id: I8a0026d1e8519171ab60d1b47c494a15d30328b3 Reviewed-by: Maurice Kalinowski --- src/corelib/kernel/qeventdispatcher_winrt.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/corelib/kernel/qeventdispatcher_winrt.cpp b/src/corelib/kernel/qeventdispatcher_winrt.cpp index df070dd1ae..ca4ba72b66 100644 --- a/src/corelib/kernel/qeventdispatcher_winrt.cpp +++ b/src/corelib/kernel/qeventdispatcher_winrt.cpp @@ -210,8 +210,10 @@ bool QEventDispatcherWinRT::processEvents(QEventLoop::ProcessEventsFlags flags) const QVector timerHandles = d->timerIdToHandle.values().toVector(); if (waitTime) emit aboutToBlock(); + bool timerEventsSent = false; DWORD waitResult = WaitForMultipleObjectsEx(timerHandles.count(), timerHandles.constData(), FALSE, waitTime, TRUE); - if (waitResult >= WAIT_OBJECT_0 && waitResult < WAIT_OBJECT_0 + timerHandles.count()) { + while (waitResult >= WAIT_OBJECT_0 && waitResult < WAIT_OBJECT_0 + timerHandles.count()) { + timerEventsSent = true; const HANDLE handle = timerHandles.value(waitResult - WAIT_OBJECT_0); ResetEvent(handle); const int timerId = d->timerHandleToId.value(handle); @@ -226,12 +228,10 @@ bool QEventDispatcherWinRT::processEvents(QEventLoop::ProcessEventsFlags flags) // Update timer's targetTime const quint64 targetTime = qt_msectime() + info.interval; info.targetTime = targetTime; - emit awake(); - return true; + waitResult = WaitForMultipleObjectsEx(timerHandles.count(), timerHandles.constData(), FALSE, 0, TRUE); } emit awake(); - - if (userEventsSent) + if (timerEventsSent || userEventsSent) return true; // We cannot wait infinitely like on other platforms, as -- cgit v1.2.3 From e7cd32274e144144c1630d65d09d24a1ae0af2d7 Mon Sep 17 00:00:00 2001 From: Maurice Kalinowski Date: Tue, 15 Mar 2016 13:04:50 +0100 Subject: WinRT: Fix QTimeZone transitions by switching backend Previously WinRT was using the UTC backend which fails on all platforms for some QDateTime autotests related to timezone items. Hence switch to the Windows implementation for WinRT as well. However, the windows backend does query the registry heavily, which is not supported on WinRT. Instead use the API version provided by the SDK. Long-term we might want to switch to this version on desktop windows as well, as direct registry access would not be required and we could harmonize the codepaths for both platforms. Change-Id: I620b614e9994aa77b531e5c34c9be1da7e272a30 Reviewed-by: Oliver Wolff --- src/corelib/tools/qtimezone.cpp | 4 +- src/corelib/tools/qtimezoneprivate_win.cpp | 100 ++++++++++++++++++++++++++++- src/corelib/tools/tools.pri | 6 +- 3 files changed, 105 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/corelib/tools/qtimezone.cpp b/src/corelib/tools/qtimezone.cpp index 333a5c3471..bf34a8b16f 100644 --- a/src/corelib/tools/qtimezone.cpp +++ b/src/corelib/tools/qtimezone.cpp @@ -61,7 +61,7 @@ static QTimeZonePrivate *newBackendTimeZone() #elif defined Q_OS_UNIX return new QTzTimeZonePrivate(); // Registry based timezone backend not available on WinRT -#elif defined Q_OS_WIN && !defined Q_OS_WINRT +#elif defined Q_OS_WIN return new QWinTimeZonePrivate(); #elif defined QT_USE_ICU return new QIcuTimeZonePrivate(); @@ -88,7 +88,7 @@ static QTimeZonePrivate *newBackendTimeZone(const QByteArray &ianaId) #elif defined Q_OS_UNIX return new QTzTimeZonePrivate(ianaId); // Registry based timezone backend not available on WinRT -#elif defined Q_OS_WIN && !defined Q_OS_WINRT +#elif defined Q_OS_WIN return new QWinTimeZonePrivate(ianaId); #elif defined QT_USE_ICU return new QIcuTimeZonePrivate(ianaId); diff --git a/src/corelib/tools/qtimezoneprivate_win.cpp b/src/corelib/tools/qtimezoneprivate_win.cpp index a9bb3aa3b5..0cb26c2e5b 100644 --- a/src/corelib/tools/qtimezoneprivate_win.cpp +++ b/src/corelib/tools/qtimezoneprivate_win.cpp @@ -42,6 +42,10 @@ QT_BEGIN_NAMESPACE +#ifndef Q_OS_WINRT +#define QT_USE_REGISTRY_TIMEZONE 1 +#endif + /* Private @@ -59,9 +63,10 @@ QT_BEGIN_NAMESPACE // Vista introduced support for historic data, see MSDN docs on DYNAMIC_TIME_ZONE_INFORMATION // http://msdn.microsoft.com/en-gb/library/windows/desktop/ms724253%28v=vs.85%29.aspx - +#ifdef QT_USE_REGISTRY_TIMEZONE static const char tzRegPath[] = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones"; static const char currTzRegPath[] = "SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation"; +#endif enum { MIN_YEAR = -292275056, @@ -123,6 +128,7 @@ static bool equalTzi(const TIME_ZONE_INFORMATION &tzi1, const TIME_ZONE_INFORMAT && wcscmp(tzi1.DaylightName, tzi2.DaylightName) == 0); } +#ifdef QT_USE_REGISTRY_TIMEZONE static bool openRegistryKey(const QString &keyPath, HKEY *key) { return (RegOpenKeyEx(HKEY_LOCAL_MACHINE, (const wchar_t*)keyPath.utf16(), 0, KEY_READ, key) @@ -197,9 +203,61 @@ static TIME_ZONE_INFORMATION getRegistryTzi(const QByteArray &windowsId, bool *o return tzi; } +#else // QT_USE_REGISTRY_TIMEZONE +struct QWinDynamicTimeZone +{ + QString standardName; + QString daylightName; + QString timezoneName; + qint32 bias; + bool daylightTime; +}; + +typedef QHash QWinRTTimeZoneHash; + +Q_GLOBAL_STATIC(QWinRTTimeZoneHash, gTimeZones) + +static void enumerateTimeZones() +{ + DYNAMIC_TIME_ZONE_INFORMATION dtzInfo; + quint32 index = 0; + QString prevTimeZoneKeyName; + while (SUCCEEDED(EnumDynamicTimeZoneInformation(index++, &dtzInfo))) { + QWinDynamicTimeZone item; + item.timezoneName = QString::fromWCharArray(dtzInfo.TimeZoneKeyName); + // As soon as key name repeats, break. Some systems continue to always + // return the last item independent of index being out of range + if (item.timezoneName == prevTimeZoneKeyName) + break; + item.standardName = QString::fromWCharArray(dtzInfo.StandardName); + item.daylightName = QString::fromWCharArray(dtzInfo.DaylightName); + item.daylightTime = !dtzInfo.DynamicDaylightTimeDisabled; + item.bias = dtzInfo.Bias; + gTimeZones->insert(item.timezoneName.toUtf8(), item); + prevTimeZoneKeyName = item.timezoneName; + } +} + +static DYNAMIC_TIME_ZONE_INFORMATION dynamicInfoForId(const QByteArray &windowsId) +{ + DYNAMIC_TIME_ZONE_INFORMATION dtzInfo; + quint32 index = 0; + QString prevTimeZoneKeyName; + while (SUCCEEDED(EnumDynamicTimeZoneInformation(index++, &dtzInfo))) { + const QString timeZoneName = QString::fromWCharArray(dtzInfo.TimeZoneKeyName); + if (timeZoneName == QLatin1String(windowsId)) + break; + if (timeZoneName == prevTimeZoneKeyName) + break; + prevTimeZoneKeyName = timeZoneName; + } + return dtzInfo; +} +#endif // QT_USE_REGISTRY_TIMEZONE static QList availableWindowsIds() { +#ifdef QT_USE_REGISTRY_TIMEZONE // TODO Consider caching results in a global static, very unlikely to change. QList list; HKEY key = NULL; @@ -217,10 +275,16 @@ static QList availableWindowsIds() RegCloseKey(key); } return list; +#else // QT_USE_REGISTRY_TIMEZONE + if (gTimeZones->isEmpty()) + enumerateTimeZones(); + return gTimeZones->keys(); +#endif // QT_USE_REGISTRY_TIMEZONE } static QByteArray windowsSystemZoneId() { +#ifdef QT_USE_REGISTRY_TIMEZONE // On Vista and later is held in the value TimeZoneKeyName in key currTzRegPath QString id; HKEY key = NULL; @@ -241,6 +305,11 @@ static QByteArray windowsSystemZoneId() if (equalTzi(getRegistryTzi(winId, &ok), sysTzi)) return winId; } +#else // QT_USE_REGISTRY_TIMEZONE + DYNAMIC_TIME_ZONE_INFORMATION dtzi; + if (SUCCEEDED(GetDynamicTimeZoneInformation(&dtzi))) + return QString::fromWCharArray(dtzi.TimeZoneKeyName).toLocal8Bit(); +#endif // QT_USE_REGISTRY_TIMEZONE // If we can't determine the current ID use UTC return QTimeZonePrivate::utcQByteArray(); @@ -361,6 +430,7 @@ void QWinTimeZonePrivate::init(const QByteArray &ianaId) } if (!m_windowsId.isEmpty()) { +#ifdef QT_USE_REGISTRY_TIMEZONE // Open the base TZI for the time zone HKEY baseKey = NULL; const QString baseKeyPath = QString::fromUtf8(tzRegPath) + QLatin1Char('\\') @@ -397,6 +467,34 @@ void QWinTimeZonePrivate::init(const QByteArray &ianaId) } RegCloseKey(baseKey); } +#else // QT_USE_REGISTRY_TIMEZONE + if (gTimeZones->isEmpty()) + enumerateTimeZones(); + QWinRTTimeZoneHash::const_iterator it = gTimeZones->find(m_windowsId); + if (it != gTimeZones->constEnd()) { + m_displayName = it->timezoneName; + m_standardName = it->standardName; + m_daylightName = it->daylightName; + DWORD firstYear = 0; + DWORD lastYear = 0; + DYNAMIC_TIME_ZONE_INFORMATION dtzi = dynamicInfoForId(m_windowsId); + GetDynamicTimeZoneInformationEffectiveYears(&dtzi, &firstYear, &lastYear); + // If there is no dynamic information, you can still query for + // year 0, which helps simplifying following part + for (DWORD year = firstYear; year <= lastYear; ++year) { + TIME_ZONE_INFORMATION tzi; + if (!GetTimeZoneInformationForYear(year, &dtzi, &tzi)) + continue; + QWinTransitionRule rule; + rule.standardTimeBias = tzi.Bias + tzi.StandardBias; + rule.daylightTimeBias = tzi.Bias + tzi.DaylightBias - rule.standardTimeBias; + rule.standardTimeRule = tzi.StandardDate; + rule.daylightTimeRule = tzi.DaylightDate; + rule.startYear = year; + m_tranRules.append(rule); + } + } +#endif // QT_USE_REGISTRY_TIMEZONE } // If there are no rules then we failed to find a windowsId or any tzi info diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index ed07f70e87..ed6afe70ce 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -147,9 +147,11 @@ else:unix { SOURCES += tools/qelapsedtimer_unix.cpp tools/qlocale_unix.cpp tools/qtimezoneprivate_tz.cpp } else:win32 { - SOURCES += tools/qelapsedtimer_win.cpp tools/qlocale_win.cpp - !winrt: SOURCES += tools/qtimezoneprivate_win.cpp + SOURCES += tools/qelapsedtimer_win.cpp \ + tools/qlocale_win.cpp \ + tools/qtimezoneprivate_win.cpp winphone: LIBS_PRIVATE += -lWindowsPhoneGlobalizationUtil + winrt-*-msvc2013: LIBS += advapi32.lib } else:integrity:SOURCES += tools/qelapsedtimer_unix.cpp tools/qlocale_unix.cpp else:SOURCES += tools/qelapsedtimer_generic.cpp -- cgit v1.2.3 From f8f3f0fbd468feaf14adcedbccbf6b434f2e2e49 Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Tue, 15 Mar 2016 16:07:11 +0100 Subject: Correct qt_defaultDpi X/Y with just a QCoreApplication Makes the 96DPI attribute check avoid undefined behavior by using QCoreApplication::instance() directly, instead of calling through qApp, which performs an invalid cast to QGuiApplication. Change-Id: Ib86e7d2461b462a2d623f1364414f7d4d2293f22 Reviewed-by: Marc Mutz --- src/gui/text/qfont.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 2c5a0c74fc..fe68149346 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -131,7 +131,7 @@ extern bool qt_is_gui_used; Q_GUI_EXPORT int qt_defaultDpiX() { - if (qApp->testAttribute(Qt::AA_Use96Dpi)) + if (QCoreApplication::instance()->testAttribute(Qt::AA_Use96Dpi)) return 96; if (!qt_is_gui_used) @@ -146,7 +146,7 @@ Q_GUI_EXPORT int qt_defaultDpiX() Q_GUI_EXPORT int qt_defaultDpiY() { - if (qApp->testAttribute(Qt::AA_Use96Dpi)) + if (QCoreApplication::instance()->testAttribute(Qt::AA_Use96Dpi)) return 96; if (!qt_is_gui_used) -- cgit v1.2.3 From 10a4151e83da4662eb51a8c67760f2e38d84759e Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Wed, 16 Mar 2016 10:46:40 +0100 Subject: Fix link to sched_setscheduler in QThread documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I38412a119d2a91685b3fd2e4a459d33a60b154b0 Reviewed-by: Topi Reiniö --- src/corelib/thread/qthread.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp index 590479d68c..a0a2e76bda 100644 --- a/src/corelib/thread/qthread.cpp +++ b/src/corelib/thread/qthread.cpp @@ -303,8 +303,9 @@ QThreadPrivate::~QThreadPrivate() The effect of the \a priority parameter is dependent on the operating system's scheduling policy. In particular, the \a priority will be ignored on systems that do not support thread priorities - (such as on Linux, see http://linux.die.net/man/2/sched_setscheduler - for more details). + (such as on Linux, see the + \l {http://linux.die.net/man/2/sched_setscheduler}{sched_setscheduler} + documentation for more details). \sa run(), terminate() */ -- cgit v1.2.3 From 714cb4020e12e078e8ba8c2c5493d138d515f46d Mon Sep 17 00:00:00 2001 From: Eirik Aavitsland Date: Wed, 10 Feb 2016 13:57:10 +0100 Subject: Update bundled libpng to version 1.6.20 Merged in the upstream version. The remaining diff to clean 1.6.20 is archived in the qtpatches.diff file. Change-Id: I56f557bfe04ac1aa0e2c090826bbb144ae93cbb7 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/3rdparty/libpng/ANNOUNCE | 121 ++++++++-------------------------- src/3rdparty/libpng/CHANGES | 34 +++++++++- src/3rdparty/libpng/LICENSE | 4 +- src/3rdparty/libpng/README | 2 +- src/3rdparty/libpng/libpng-manual.txt | 9 +-- src/3rdparty/libpng/png.c | 8 +-- src/3rdparty/libpng/png.h | 23 +++---- src/3rdparty/libpng/pngconf.h | 2 +- src/3rdparty/libpng/pngerror.c | 2 +- src/3rdparty/libpng/pnginfo.h | 2 +- src/3rdparty/libpng/pnglibconf.h | 2 +- src/3rdparty/libpng/pngpread.c | 4 +- src/3rdparty/libpng/pngpriv.h | 8 +++ src/3rdparty/libpng/pngread.c | 1 - src/3rdparty/libpng/pngrutil.c | 43 ++++++++++-- src/3rdparty/libpng/pngset.c | 6 +- src/3rdparty/libpng/pngstruct.h | 3 + src/3rdparty/libpng/pngwutil.c | 6 +- 18 files changed, 146 insertions(+), 134 deletions(-) (limited to 'src') diff --git a/src/3rdparty/libpng/ANNOUNCE b/src/3rdparty/libpng/ANNOUNCE index 9f1b665834..4dae783b55 100644 --- a/src/3rdparty/libpng/ANNOUNCE +++ b/src/3rdparty/libpng/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.19 - November 12, 2015 +Libpng 1.6.20 - December 3, 2015 This is a public release of libpng, intended for use in production codes. @@ -7,104 +7,41 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - libpng-1.6.19.tar.xz (LZMA-compressed, recommended) - libpng-1.6.19.tar.gz + libpng-1.6.20.tar.xz (LZMA-compressed, recommended) + libpng-1.6.20.tar.gz Source files with CRLF line endings (for Windows), without the "configure" script - lpng1619.7z (LZMA-compressed, recommended) - lpng1619.zip + /scratch/glennrp/Libpng16/lpng1620.7z (LZMA-compressed, recommended) + /scratch/glennrp/Libpng16/lpng1620.zip Other information: - libpng-1.6.19-README.txt - libpng-1.6.19-LICENSE.txt - libpng-1.6.19-*.asc (armored detached GPG signatures) - -Changes since the last public release (1.6.18): - - Updated obsolete information about the simplified API macros in the - manual pages (Bug report by Arc Riley). - Avoid potentially dereferencing NULL info_ptr in png_info_init_3(). - Rearranged png.h to put the major sections in the same order as - in libpng17. - Eliminated unused PNG_COST_SHIFT, PNG_WEIGHT_SHIFT, PNG_COST_FACTOR, and - PNG_WEIGHT_FACTOR macros. - Suppressed some warnings from the Borland C++ 5.5.1/5.82 compiler - (Bug report by Viktor Szakats). Several warnings remain and are - unavoidable, where we test for overflow. - Fixed potential leak of png_pixels in contrib/pngminus/pnm2png.c - Fixed uninitialized variable in contrib/gregbook/rpng2-x.c - Moved config.h.in~ from the "libpng_autotools_files" list to the - "libpng_autotools_extra" list in autogen.sh because it was causing a - false positive for missing files (bug report by Robert C. Seacord). - Removed unreachable "break" statements in png.c, pngread.c, and pngrtran.c - to suppress clang warnings (Bug report by Viktor Szakats). - Fixed some bad links in the man page. - Changed "n bit" to "n-bit" in comments. - Added signed/unsigned 16-bit safety net. This removes the dubious - 0x8000 flag definitions on 16-bit systems. They aren't supported - yet the defs *probably* work, however it seems much safer to do this - and be advised if anyone, contrary to advice, is building libpng 1.6 - on a 16-bit system. It also adds back various switch default clauses - for GCC; GCC errors out if they are not present (with an appropriately - high level of warnings). - Safely convert num_bytes to a png_byte in png_set_sig_bytes() (Robert - Seacord). - Fixed the recently reported 1's complement security issue by replacing - the value that is illegal in the PNG spec, in both signed and unsigned - values, with 0. Illegal unsigned values (anything greater than or equal - to 0x80000000) can still pass through, but since these are not illegal - in ANSI-C (unlike 0x80000000 in the signed case) the checking that - occurs later can catch them (John Bowler). - Fixed png_save_int_32 when int is not 2's complement (John Bowler). - Updated libpng16 with all the recent test changes from libpng17, - including changes to pngvalid.c to ensure that the original, - distributed, version of contrib/visupng/cexcept.h can be used - (John Bowler). - pngvalid contains the correction to the use of SAVE/STORE_ - UNKNOWN_CHUNKS; a bug revealed by changes in libpng 1.7. More - tests contain the --strict option to detect warnings and the - pngvalid-standard test has been corrected so that it does not - turn on progressive-read. There is a separate test which does - that. (John Bowler) - Also made some signed/unsigned fixes. - Make pngstest error limits version specific. Splitting the machine - generated error structs out to a file allows the values to be updated - without changing pngstest.c itself. Since libpng 1.6 and 1.7 have - slightly different error limits this simplifies maintenance. The - makepngs.sh script has also been updated to more accurately reflect - current problems in libpng 1.7 (John Bowler). - Incorporated new test PNG files into make check. tests/pngstest-* - are changed so that the new test files are divided into 8 groups by - gamma and alpha channel. These tests have considerably better code - and pixel-value coverage than contrib/pngsuite; however,coverage is - still incomplete (John Bowler). - Removed the '--strict' in 1.6 because of the double-gamma-correction - warning, updated pngstest-errors.h for the errors detected with the - new contrib/testspngs PNG test files (John Bowler). - Worked around rgb-to-gray issues in libpng 1.6. The previous - attempts to ignore the errors in the code aren't quite enough to - deal with the 'channel selection' encoding added to libpng 1.7; abort. - Fixed 'pow' macros in pngvalid.c. It is legal for 'pow' to be a - macro, therefore the argument list cannot contain preprocessing - directives. Make sure pow is a function where this happens. This is - a minimal safe fix, the issue only arises in non-performance-critical - code (bug report by Curtis Leach, fix by John Bowler). - Added sPLT support to pngtest.c - Prevent setting or writing over-length PLTE chunk (Cosmin Truta). - Silently truncate over-length PLTE chunk while reading. - Libpng incorrectly calculated the output rowbytes when the application - decreased either the number of channels or the bit depth (or both) in - a user transform. This was safe; libpng overallocated buffer space - (potentially by quite a lot; up to 4 times the amount required) but, - from 1.5.4 on, resulted in a png_error (John Bowler). - Fixed some inconsequential cut-and-paste typos in png_set_cHRM_XYZ_fixed(). - Clarified COPYRIGHT information to state explicitly that versions - are derived from previous versions. - Removed much of the long list of previous versions from png.h and - libpng.3. + libpng-1.6.20-README.txt + libpng-1.6.20-LICENSE.txt + libpng-1.6.20-*.asc (armored detached GPG signatures) + +Changes since the last public release (1.6.19): + Avoid potential pointer overflow/underflow in png_handle_sPLT() and + png_handle_pCAL() (Bug report by John Regehr). + Fixed incorrect implementation of png_set_PLTE() that uses png_ptr + not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126 + vulnerability. + Backported tests from libpng-1.7.0beta69. + Fixed an error in handling of bad zlib CMINFO field in pngfix, found by + American Fuzzy Lop, reported by Brian Carpenter. inflate() doesn't + immediately fault a bad CMINFO field; instead a 'too far back' error + happens later (at least some times). pngfix failed to limit CMINFO to + the allowed values but then assumed that window_bits was in range, + triggering an assert. The bug is mostly harmless; the PNG file cannot + be fixed. + In libpng 1.6 zlib initialization was changed to use the window size + in the zlib stream, not a fixed value. This causes some invalid images, + where CINFO is too large, to display 'correctly' if the rest of the + data is valid. This provides a workaround for zlib versions where the + error arises (ones that support the API change to use the window size + in the stream). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/src/3rdparty/libpng/CHANGES b/src/3rdparty/libpng/CHANGES index 2e4d2bb292..28094fd26c 100644 --- a/src/3rdparty/libpng/CHANGES +++ b/src/3rdparty/libpng/CHANGES @@ -5409,11 +5409,43 @@ Version 1.6.19rc03 [November 3, 2015] Version 1.6.19rc04 [November 5, 2015] Fixed new bug with CRC error after reading an over-length palette - (bug report by Cosmin Truta). + (bug report by Cosmin Truta) (CVE-2015-8126). Version 1.6.19 [November 12, 2015] Cleaned up coding style in png_handle_PLTE(). +Version 1.6.20beta01 [November 20, 2015] + Avoid potential pointer overflow/underflow in png_handle_sPLT() and + png_handle_pCAL() (Bug report by John Regehr). + +Version 1.6.20beta02 [November 23, 2015] + Fixed incorrect implementation of png_set_PLTE() that uses png_ptr + not info_ptr, that left png_set_PLTE() open to the CVE-2015-8126 + vulnerability. + +Version 1.6.20beta03 [November 24, 2015] + Backported tests from libpng-1.7.0beta69. + +Version 1.6.20rc01 [November 26, 2015] + Fixed an error in handling of bad zlib CMINFO field in pngfix, found by + American Fuzzy Lop, reported by Brian Carpenter. inflate() doesn't + immediately fault a bad CMINFO field; instead a 'too far back' error + happens later (at least some times). pngfix failed to limit CMINFO to + the allowed values but then assumed that window_bits was in range, + triggering an assert. The bug is mostly harmless; the PNG file cannot + be fixed. + +Version 1.6.20rc02 [November 29, 2015] + In libpng 1.6 zlib initialization was changed to use the window size + in the zlib stream, not a fixed value. This causes some invalid images, + where CINFO is too large, to display 'correctly' if the rest of the + data is valid. This provides a workaround for zlib versions where the + error arises (ones that support the API change to use the window size + in the stream). + +Version 1.6.20 [December 3, 2015] + No changes. + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/src/3rdparty/libpng/LICENSE b/src/3rdparty/libpng/LICENSE index 11f6ffe5db..82dbe117f6 100644 --- a/src/3rdparty/libpng/LICENSE +++ b/src/3rdparty/libpng/LICENSE @@ -10,7 +10,7 @@ this sentence. This code is released under the libpng license. -libpng versions 1.0.7, July 1, 2000, through 1.6.19, November 12, 2015, are +libpng versions 1.0.7, July 1, 2000, through 1.6.20, December 3, 2015, are Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, are derived from libpng-1.0.6, and are distributed according to the same disclaimer and license as libpng-1.0.6 with the following individuals @@ -109,4 +109,4 @@ the additional disclaimers inserted at version 1.0.7. Glenn Randers-Pehrson glennrp at users.sourceforge.net -November 12, 2015 +December 3, 2015 diff --git a/src/3rdparty/libpng/README b/src/3rdparty/libpng/README index 17484e0fd7..59f1f918ae 100644 --- a/src/3rdparty/libpng/README +++ b/src/3rdparty/libpng/README @@ -1,4 +1,4 @@ -README for libpng version 1.6.19 - November 12, 2015 (shared library 16.0) +README for libpng version 1.6.20 - December 3, 2015 (shared library 16.0) See the note about version numbers near the top of png.h See INSTALL for instructions on how to install libpng. diff --git a/src/3rdparty/libpng/libpng-manual.txt b/src/3rdparty/libpng/libpng-manual.txt index bc7a441cf2..87eeb2b583 100644 --- a/src/3rdparty/libpng/libpng-manual.txt +++ b/src/3rdparty/libpng/libpng-manual.txt @@ -1,6 +1,6 @@ libpng-manual.txt - A description on how to use and modify libpng - libpng version 1.6.19 - November 12, 2015 + libpng version 1.6.20 - December 3, 2015 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson @@ -11,7 +11,7 @@ libpng-manual.txt - A description on how to use and modify libpng Based on: - libpng versions 0.97, January 1998, through 1.6.19 - November 12, 2015 + libpng versions 0.97, January 1998, through 1.6.20 - December 3, 2015 Updated and distributed by Glenn Randers-Pehrson Copyright (c) 1998-2015 Glenn Randers-Pehrson @@ -2960,6 +2960,7 @@ width, height, bit_depth, and color_type must be the same in each call. (array of png_color) num_palette - number of entries in the palette + png_set_gAMA(png_ptr, info_ptr, file_gamma); png_set_gAMA_fixed(png_ptr, info_ptr, int_file_gamma); @@ -4897,7 +4898,7 @@ a set of "safe" limits is applied in pngpriv.h. These can be overridden by application calls to png_set_user_limits(), png_set_user_chunk_cache_max(), and/or png_set_user_malloc_max() that increase or decrease the limits. Also, in libpng-1.5.10 the default width and height limits were increased -from 1,000,000 to 0x7ffffff (i.e., made unlimited). Therefore, the +from 1,000,000 to 0x7fffffff (i.e., made unlimited). Therefore, the limits are now default safe png_user_width_max 0x7fffffff 1,000,000 @@ -5323,7 +5324,7 @@ Since the PNG Development group is an ad-hoc body, we can't make an official declaration. This is your unofficial assurance that libpng from version 0.71 and -upward through 1.6.19 are Y2K compliant. It is my belief that earlier +upward through 1.6.20 are Y2K compliant. It is my belief that earlier versions were also Y2K compliant. Libpng only has two year fields. One is a 2-byte unsigned integer diff --git a/src/3rdparty/libpng/png.c b/src/3rdparty/libpng/png.c index 6fcfad72ec..c183e3f8fa 100644 --- a/src/3rdparty/libpng/png.c +++ b/src/3rdparty/libpng/png.c @@ -14,7 +14,7 @@ #include "pngpriv.h" /* Generate a compiler error if there is an old png.h in the search path. */ -typedef png_libpng_version_1_6_19 Your_png_h_is_not_version_1_6_19; +typedef png_libpng_version_1_6_20 Your_png_h_is_not_version_1_6_20; /* Tells libpng that we have already handled the first "num_bytes" bytes * of the PNG file signature. If the PNG data is embedded into another @@ -775,13 +775,13 @@ png_get_copyright(png_const_structrp png_ptr) #else # ifdef __STDC__ return PNG_STRING_NEWLINE \ - "libpng version 1.6.19 - November 12, 2015" PNG_STRING_NEWLINE \ + "libpng version 1.6.20 - December 3, 2015" PNG_STRING_NEWLINE \ "Copyright (c) 1998-2015 Glenn Randers-Pehrson" PNG_STRING_NEWLINE \ "Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \ "Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc." \ PNG_STRING_NEWLINE; # else - return "libpng version 1.6.19 - November 12, 2015\ + return "libpng version 1.6.20 - December 3, 2015\ Copyright (c) 1998-2015 Glenn Randers-Pehrson\ Copyright (c) 1996-1997 Andreas Dilger\ Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc."; @@ -2343,7 +2343,7 @@ png_compare_ICC_profile_with_sRGB(png_const_structrp png_ptr, * Fall through to "no match". */ png_chunk_report(png_ptr, - "Not recognizing known sRGB profile that has been edited", + "Not recognizing known sRGB profile that has been edited", PNG_CHUNK_WARNING); break; # endif diff --git a/src/3rdparty/libpng/png.h b/src/3rdparty/libpng/png.h index c83051b1ca..4d03dfc136 100644 --- a/src/3rdparty/libpng/png.h +++ b/src/3rdparty/libpng/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.6.19, November 12, 2015 + * libpng version 1.6.20, December 3, 2015 * * Copyright (c) 1998-2015 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -12,7 +12,8 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.6.19, November 12, 2015: Glenn + * libpng versions 0.97, January 1998, through 1.6.20, December 3, 2015: + * Glenn Randers-Pehrson. * See also "Contributing Authors", below. */ @@ -24,7 +25,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.0.7, July 1, 2000, through 1.6.19, November 12, 2015, are + * libpng versions 1.0.7, July 1, 2000, through 1.6.20, December 3, 2015, are * Copyright (c) 2000-2002, 2004, 2006-2015 Glenn Randers-Pehrson, are * derived from libpng-1.0.6, and are distributed according to the same * disclaimer and license as libpng-1.0.6 with the following individuals @@ -185,7 +186,7 @@ * ... * 1.5.23 15 10523 15.so.15.23[.0] * ... - * 1.6.19 16 10619 16.so.16.19[.0] + * 1.6.20 16 10620 16.so.16.20[.0] * * Henceforth the source version will match the shared-library major * and minor numbers; the shared-library major version number will be @@ -213,13 +214,13 @@ * Y2K compliance in libpng: * ========================= * - * November 12, 2015 + * December 3, 2015 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. * * This is your unofficial assurance that libpng from version 0.71 and - * upward through 1.6.19 are Y2K compliant. It is my belief that + * upward through 1.6.20 are Y2K compliant. It is my belief that * earlier versions were also Y2K compliant. * * Libpng only has two year fields. One is a 2-byte unsigned integer @@ -281,9 +282,9 @@ */ /* Version information for png.h - this should match the version in png.c */ -#define PNG_LIBPNG_VER_STRING "1.6.19" +#define PNG_LIBPNG_VER_STRING "1.6.20" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.6.19 - November 12, 2015\n" + " libpng version 1.6.20 - December 3, 2015\n" #define PNG_LIBPNG_VER_SONUM 16 #define PNG_LIBPNG_VER_DLLNUM 16 @@ -291,7 +292,7 @@ /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */ #define PNG_LIBPNG_VER_MAJOR 1 #define PNG_LIBPNG_VER_MINOR 6 -#define PNG_LIBPNG_VER_RELEASE 19 +#define PNG_LIBPNG_VER_RELEASE 20 /* This should match the numeric part of the final component of * PNG_LIBPNG_VER_STRING, omitting any leading zero: @@ -322,7 +323,7 @@ * version 1.0.0 was mis-numbered 100 instead of 10000). From * version 1.0.1 it's xxyyzz, where x=major, y=minor, z=release */ -#define PNG_LIBPNG_VER 10619 /* 1.6.19 */ +#define PNG_LIBPNG_VER 10620 /* 1.6.20 */ /* Library configuration: these options cannot be changed after * the library has been built. @@ -432,7 +433,7 @@ extern "C" { /* This triggers a compiler error in png.c, if png.c and png.h * do not agree upon the version number. */ -typedef char* png_libpng_version_1_6_19; +typedef char* png_libpng_version_1_6_20; /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info. * diff --git a/src/3rdparty/libpng/pngconf.h b/src/3rdparty/libpng/pngconf.h index f1b795b478..92f250000c 100644 --- a/src/3rdparty/libpng/pngconf.h +++ b/src/3rdparty/libpng/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.6.19, July 23, 2015 + * libpng version 1.6.20, December 3, 2015 * * Copyright (c) 1998-2015 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) diff --git a/src/3rdparty/libpng/pngerror.c b/src/3rdparty/libpng/pngerror.c index 0781866a89..bdb959ee51 100644 --- a/src/3rdparty/libpng/pngerror.c +++ b/src/3rdparty/libpng/pngerror.c @@ -768,7 +768,7 @@ png_longjmp,(png_const_structrp png_ptr, int val),PNG_NORETURN) /* If control reaches this point, png_longjmp() must not return. The only * choice is to terminate the whole process (or maybe the thread); to do - * this the ANSI-C abort() function is used unless a different method is + * this the ANSI-C abort() function is used unless a different method is * implemented by overriding the default configuration setting for * PNG_ABORT(). */ diff --git a/src/3rdparty/libpng/pnginfo.h b/src/3rdparty/libpng/pnginfo.h index c8c874dd1e..4bd264b869 100644 --- a/src/3rdparty/libpng/pnginfo.h +++ b/src/3rdparty/libpng/pnginfo.h @@ -223,7 +223,7 @@ defined(PNG_READ_BACKGROUND_SUPPORTED) /* Storage for unknown chunks that the library doesn't recognize. */ png_unknown_chunkp unknown_chunks; - /* The type of this field is limited by the type of + /* The type of this field is limited by the type of * png_struct::user_chunk_cache_max, else overflow can occur. */ int unknown_chunks_num; diff --git a/src/3rdparty/libpng/pnglibconf.h b/src/3rdparty/libpng/pnglibconf.h index 8b6da9eb2c..0dba5055f7 100644 --- a/src/3rdparty/libpng/pnglibconf.h +++ b/src/3rdparty/libpng/pnglibconf.h @@ -1,6 +1,6 @@ /* pnglibconf.h - library build configuration */ -/* libpng version 1.6.19, July 23, 2015 */ +/* libpng version 1.6.20 - December 3, 2015 */ /* Copyright (c) 1998-2014 Glenn Randers-Pehrson */ diff --git a/src/3rdparty/libpng/pngpread.c b/src/3rdparty/libpng/pngpread.c index 9f68f99023..89ffc4018f 100644 --- a/src/3rdparty/libpng/pngpread.c +++ b/src/3rdparty/libpng/pngpread.c @@ -133,7 +133,7 @@ png_process_some_data(png_structrp png_ptr, png_inforp info_ptr) void /* PRIVATE */ png_push_read_sig(png_structrp png_ptr, png_inforp info_ptr) { - png_size_t num_checked = png_ptr->sig_bytes, /* SAFE, does not exceed 8 */ + png_size_t num_checked = png_ptr->sig_bytes, /* SAFE, does not exceed 8 */ num_to_check = 8 - num_checked; if (png_ptr->buffer_size < num_to_check) @@ -662,7 +662,7 @@ png_process_IDAT_data(png_structrp png_ptr, png_bytep buffer, * change the current behavior (see comments in inflate.c * for why this doesn't happen at present with zlib 1.2.5). */ - ret = inflate(&png_ptr->zstream, Z_SYNC_FLUSH); + ret = PNG_INFLATE(png_ptr, Z_SYNC_FLUSH); /* Check for any failure before proceeding. */ if (ret != Z_OK && ret != Z_STREAM_END) diff --git a/src/3rdparty/libpng/pngpriv.h b/src/3rdparty/libpng/pngpriv.h index f7a45477a4..c06deee68d 100644 --- a/src/3rdparty/libpng/pngpriv.h +++ b/src/3rdparty/libpng/pngpriv.h @@ -1229,6 +1229,14 @@ PNG_INTERNAL_FUNCTION(void,png_read_finish_row,(png_structrp png_ptr), /* Initialize the row buffers, etc. */ PNG_INTERNAL_FUNCTION(void,png_read_start_row,(png_structrp png_ptr),PNG_EMPTY); +#if PNG_ZLIB_VERNUM >= 0x1240 +PNG_INTERNAL_FUNCTION(int,png_zlib_inflate,(png_structrp png_ptr, int flush), + PNG_EMPTY); +# define PNG_INFLATE(pp, flush) png_zlib_inflate(pp, flush) +#else /* Zlib < 1.2.4 */ +# define PNG_INFLATE(pp, flush) inflate(&(pp)->zstream, flush) +#endif /* Zlib < 1.2.4 */ + #ifdef PNG_READ_TRANSFORMS_SUPPORTED /* Optional call to update the users info structure */ PNG_INTERNAL_FUNCTION(void,png_read_transform_info,(png_structrp png_ptr, diff --git a/src/3rdparty/libpng/pngread.c b/src/3rdparty/libpng/pngread.c index 48aae84881..9cb4d2e41d 100644 --- a/src/3rdparty/libpng/pngread.c +++ b/src/3rdparty/libpng/pngread.c @@ -2838,7 +2838,6 @@ png_image_read_colormap(png_voidp argument) default: png_error(png_ptr, "invalid PNG color type"); /*NOT REACHED*/ - break; } /* Now deal with the output processing */ diff --git a/src/3rdparty/libpng/pngrutil.c b/src/3rdparty/libpng/pngrutil.c index ee584a8c40..6189251352 100644 --- a/src/3rdparty/libpng/pngrutil.c +++ b/src/3rdparty/libpng/pngrutil.c @@ -1,7 +1,7 @@ /* pngrutil.c - utilities to read a PNG file * - * Last changed in libpng 1.6.19 [November 12, 2015] + * Last changed in libpng 1.6.20 [December 3, 2015] * Copyright (c) 1998-2015 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -377,10 +377,16 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner) if (((png_ptr->options >> PNG_MAXIMUM_INFLATE_WINDOW) & 3) == PNG_OPTION_ON) + { window_bits = 15; + png_ptr->zstream_start = 0; /* fixed window size */ + } else + { window_bits = 0; + png_ptr->zstream_start = 1; + } # else # define window_bits 0 # endif @@ -429,6 +435,31 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner) #endif } +#if PNG_ZLIB_VERNUM >= 0x1240 +/* Handle the start of the inflate stream if we called inflateInit2(strm,0); + * in this case some zlib versions skip validation of the CINFO field and, in + * certain circumstances, libpng may end up displaying an invalid image, in + * contrast to implementations that call zlib in the normal way (e.g. libpng + * 1.5). + */ +int /* PRIVATE */ +png_zlib_inflate(png_structrp png_ptr, int flush) +{ + if (png_ptr->zstream_start && png_ptr->zstream.avail_in > 0) + { + if ((*png_ptr->zstream.next_in >> 4) > 7) + { + png_ptr->zstream.msg = "invalid window size (libpng)"; + return Z_DATA_ERROR; + } + + png_ptr->zstream_start = 0; + } + + return inflate(&png_ptr->zstream, flush); +} +#endif /* Zlib >= 1.2.4 */ + #ifdef PNG_READ_COMPRESSED_TEXT_SUPPORTED /* png_inflate now returns zlib error codes including Z_OK and Z_STREAM_END to * allow the caller to do multiple calls if required. If the 'finish' flag is @@ -522,7 +553,7 @@ png_inflate(png_structrp png_ptr, png_uint_32 owner, int finish, * the previous chunk of input data. Tell zlib if we have reached the * end of the output buffer. */ - ret = inflate(&png_ptr->zstream, avail_out > 0 ? Z_NO_FLUSH : + ret = PNG_INFLATE(png_ptr, avail_out > 0 ? Z_NO_FLUSH : (finish ? Z_FINISH : Z_SYNC_FLUSH)); } while (ret == Z_OK); @@ -771,7 +802,7 @@ png_inflate_read(png_structrp png_ptr, png_bytep read_buffer, uInt read_size, * the available output is produced; this allows reading of truncated * streams. */ - ret = inflate(&png_ptr->zstream, + ret = PNG_INFLATE(png_ptr, *chunk_bytes > 0 ? Z_NO_FLUSH : (finish ? Z_FINISH : Z_SYNC_FLUSH)); } while (ret == Z_OK && (*out_size > 0 || png_ptr->zstream.avail_out > 0)); @@ -1670,7 +1701,7 @@ png_handle_sPLT(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) ++entry_start; /* A sample depth should follow the separator, and we should be on it */ - if (entry_start > buffer + length - 2) + if (length < 2U || entry_start > buffer + (length - 2U)) { png_warning(png_ptr, "malformed sPLT chunk"); return; @@ -2174,7 +2205,7 @@ png_handle_pCAL(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length) /* We need to have at least 12 bytes after the purpose string * in order to get the parameter information. */ - if (endptr <= buf + 12) + if (endptr - buf <= 12) { png_chunk_benign_error(png_ptr, "invalid"); return; @@ -4039,7 +4070,7 @@ png_read_IDAT_data(png_structrp png_ptr, png_bytep output, * * TODO: deal more elegantly with truncated IDAT lists. */ - ret = inflate(&png_ptr->zstream, Z_NO_FLUSH); + ret = PNG_INFLATE(png_ptr, Z_NO_FLUSH); /* Take the unconsumed output back. */ if (output != NULL) diff --git a/src/3rdparty/libpng/pngset.c b/src/3rdparty/libpng/pngset.c index 05a2134dbb..8fd7965fca 100644 --- a/src/3rdparty/libpng/pngset.c +++ b/src/3rdparty/libpng/pngset.c @@ -520,8 +520,8 @@ png_set_PLTE(png_structrp png_ptr, png_inforp info_ptr, if (png_ptr == NULL || info_ptr == NULL) return; - max_palette_length = (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE) ? - (1 << png_ptr->bit_depth) : PNG_MAX_PALETTE_LENGTH; + max_palette_length = (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) ? + (1 << info_ptr->bit_depth) : PNG_MAX_PALETTE_LENGTH; if (num_palette < 0 || num_palette > (int) max_palette_length) { @@ -1573,7 +1573,7 @@ png_set_user_limits (png_structrp png_ptr, png_uint_32 user_width_max, { /* Images with dimensions larger than these limits will be * rejected by png_set_IHDR(). To accept any PNG datastream - * regardless of dimensions, set both limits to 0x7ffffff. + * regardless of dimensions, set both limits to 0x7fffffff. */ if (png_ptr == NULL) return; diff --git a/src/3rdparty/libpng/pngstruct.h b/src/3rdparty/libpng/pngstruct.h index c8c0e46e8b..d0bcc7914a 100644 --- a/src/3rdparty/libpng/pngstruct.h +++ b/src/3rdparty/libpng/pngstruct.h @@ -263,6 +263,9 @@ struct png_struct_def /* pixel depth used for the row buffers */ png_byte transformed_pixel_depth; /* pixel depth after read/write transforms */ +#if PNG_ZLIB_VERNUM >= 0x1240 + png_byte zstream_start; /* at start of an input zlib stream */ +#endif /* Zlib >= 1.2.4 */ #if defined(PNG_READ_FILLER_SUPPORTED) || defined(PNG_WRITE_FILLER_SUPPORTED) png_uint_16 filler; /* filler bytes for pixel expansion */ #endif diff --git a/src/3rdparty/libpng/pngwutil.c b/src/3rdparty/libpng/pngwutil.c index adc4729c24..0ee102b5fb 100644 --- a/src/3rdparty/libpng/pngwutil.c +++ b/src/3rdparty/libpng/pngwutil.c @@ -2563,7 +2563,7 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info) if (filter_to_do == PNG_FILTER_SUB) /* It's the only filter so no testing is needed */ { - (void) png_setup_sub_row(png_ptr, bpp, row_bytes, mins); + (void) png_setup_sub_row(png_ptr, bpp, row_bytes, mins); best_row = png_ptr->try_row; } @@ -2572,7 +2572,7 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info) png_size_t sum; png_size_t lmins = mins; - sum = png_setup_sub_row(png_ptr, bpp, row_bytes, lmins); + sum = png_setup_sub_row(png_ptr, bpp, row_bytes, lmins); if (sum < mins) { @@ -2598,7 +2598,7 @@ png_write_find_filter(png_structrp png_ptr, png_row_infop row_info) png_size_t sum; png_size_t lmins = mins; - sum = png_setup_up_row(png_ptr, row_bytes, lmins); + sum = png_setup_up_row(png_ptr, row_bytes, lmins); if (sum < mins) { -- cgit v1.2.3 From b8e8c6ad5caf06c5865ed8ce163515f8e538ca7b Mon Sep 17 00:00:00 2001 From: Jochen Seemann Date: Wed, 25 Nov 2015 18:47:37 +0100 Subject: winrt: enable cross-platform high DPI scaling Task-number: QTBUG-46615 Change-Id: I7f75bc7da35b9330753130338a06feb49533061c Reviewed-by: Andrew Knight Reviewed-by: Maurice Kalinowski --- src/plugins/platforms/winrt/qwinrtscreen.cpp | 6 ++++++ src/plugins/platforms/winrt/qwinrtscreen.h | 1 + 2 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/plugins/platforms/winrt/qwinrtscreen.cpp b/src/plugins/platforms/winrt/qwinrtscreen.cpp index 2410848cde..47e68ae0af 100644 --- a/src/plugins/platforms/winrt/qwinrtscreen.cpp +++ b/src/plugins/platforms/winrt/qwinrtscreen.cpp @@ -635,6 +635,12 @@ QDpi QWinRTScreen::logicalDpi() const return QDpi(d->logicalDpi, d->logicalDpi); } +qreal QWinRTScreen::pixelDensity() const +{ + Q_D(const QWinRTScreen); + return qRound(d->logicalDpi / 96); +} + qreal QWinRTScreen::scaleFactor() const { Q_D(const QWinRTScreen); diff --git a/src/plugins/platforms/winrt/qwinrtscreen.h b/src/plugins/platforms/winrt/qwinrtscreen.h index 0043b2cfa3..ac9db9bfef 100644 --- a/src/plugins/platforms/winrt/qwinrtscreen.h +++ b/src/plugins/platforms/winrt/qwinrtscreen.h @@ -93,6 +93,7 @@ public: QImage::Format format() const Q_DECL_OVERRIDE; QSizeF physicalSize() const Q_DECL_OVERRIDE; QDpi logicalDpi() const Q_DECL_OVERRIDE; + qreal pixelDensity() const Q_DECL_OVERRIDE; qreal scaleFactor() const; QPlatformCursor *cursor() const Q_DECL_OVERRIDE; Qt::KeyboardModifiers keyboardModifiers() const; -- cgit v1.2.3 From abe3217bac18fe8a99cbb2f494a5e4cf6c6d70ce Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 29 Jan 2016 14:03:41 +0100 Subject: Reimplement QShapedPixmapWindow using QRasterWindow. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The current implementation makes the window too big when a QPixmap with a DPR != 1 is set. Circumvent the problem by using a QRasterWindow. Task-number: QTBUG-46068 Task-number: QTBUG-50938 Change-Id: I0fca91f571937250c740f1400bd60286330fb595 Reviewed-by: Błażej Szczygieł Reviewed-by: Alexander Volkov Reviewed-by: Shawn Rutledge --- src/gui/kernel/qshapedpixmapdndwindow.cpp | 72 +++++++++++++------------------ src/gui/kernel/qshapedpixmapdndwindow_p.h | 10 ++--- 2 files changed, 33 insertions(+), 49 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qshapedpixmapdndwindow.cpp b/src/gui/kernel/qshapedpixmapdndwindow.cpp index d77b6dc262..850987ac1d 100644 --- a/src/gui/kernel/qshapedpixmapdndwindow.cpp +++ b/src/gui/kernel/qshapedpixmapdndwindow.cpp @@ -42,52 +42,31 @@ QT_BEGIN_NAMESPACE QShapedPixmapWindow::QShapedPixmapWindow(QScreen *screen) - : QWindow(screen), - m_backingStore(0), - m_useCompositing(true) + : m_useCompositing(true) { + setScreen(screen); QSurfaceFormat format; format.setAlphaBufferSize(8); setFormat(format); - setSurfaceType(RasterSurface); - setFlags(Qt::ToolTip | Qt::FramelessWindowHint | - Qt::X11BypassWindowManagerHint | Qt::WindowTransparentForInput | Qt::WindowDoesNotAcceptFocus); - create(); - m_backingStore = new QBackingStore(this); + setFlags(Qt::ToolTip | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint + | Qt::WindowTransparentForInput | Qt::WindowDoesNotAcceptFocus); } QShapedPixmapWindow::~QShapedPixmapWindow() { - delete m_backingStore; - m_backingStore = 0; -} - -void QShapedPixmapWindow::render() -{ - QRect rect(QPoint(), geometry().size()); - - m_backingStore->beginPaint(rect); - - QPaintDevice *device = m_backingStore->paintDevice(); - - { - QPainter p(device); - if (m_useCompositing) - p.setCompositionMode(QPainter::CompositionMode_Source); - else - p.fillRect(rect, QGuiApplication::palette().base()); - p.drawPixmap(0, 0, m_pixmap); - } - - m_backingStore->endPaint(); - m_backingStore->flush(rect); } void QShapedPixmapWindow::setPixmap(const QPixmap &pixmap) { m_pixmap = pixmap; - if (!m_useCompositing) - setMask(m_pixmap.mask()); + if (!m_useCompositing) { + const QBitmap mask = m_pixmap.mask(); + if (!mask.isNull()) { + if (!handle()) + create(); + setMask(mask); + } + } } void QShapedPixmapWindow::setHotspot(const QPoint &hotspot) @@ -95,19 +74,28 @@ void QShapedPixmapWindow::setHotspot(const QPoint &hotspot) m_hotSpot = hotspot; } -void QShapedPixmapWindow::updateGeometry(const QPoint &pos) +void QShapedPixmapWindow::paintEvent(QPaintEvent *) { - if (m_pixmap.isNull()) - m_backingStore->resize(QSize(1,1)); - else if (m_backingStore->size() != m_pixmap.size()) - m_backingStore->resize(m_pixmap.size()); - - setGeometry(QRect(pos - m_hotSpot, m_backingStore->size())); + if (!m_pixmap.isNull()) { + const QRect rect(QPoint(0, 0), size()); + QPainter painter(this); + if (m_useCompositing) + painter.setCompositionMode(QPainter::CompositionMode_Source); + else + painter.fillRect(rect, QGuiApplication::palette().base()); + painter.drawPixmap(rect, m_pixmap); + } } -void QShapedPixmapWindow::exposeEvent(QExposeEvent *) +void QShapedPixmapWindow::updateGeometry(const QPoint &pos) { - render(); + QSize size(1, 1); + if (!m_pixmap.isNull()) { + size = qFuzzyCompare(m_pixmap.devicePixelRatio(), 1.0) + ? m_pixmap.size() + : (QSizeF(m_pixmap.size()) / m_pixmap.devicePixelRatio()).toSize(); + } + setGeometry(QRect(pos - m_hotSpot, size)); } QT_END_NAMESPACE diff --git a/src/gui/kernel/qshapedpixmapdndwindow_p.h b/src/gui/kernel/qshapedpixmapdndwindow_p.h index 3d7974fa82..f2d678c1b4 100644 --- a/src/gui/kernel/qshapedpixmapdndwindow_p.h +++ b/src/gui/kernel/qshapedpixmapdndwindow_p.h @@ -45,21 +45,18 @@ // We mean it. // -#include +#include #include -#include QT_BEGIN_NAMESPACE -class QShapedPixmapWindow : public QWindow +class QShapedPixmapWindow : public QRasterWindow { Q_OBJECT public: explicit QShapedPixmapWindow(QScreen *screen = 0); ~QShapedPixmapWindow(); - void render(); - void setUseCompositing(bool on) { m_useCompositing = on; } void setPixmap(const QPixmap &pixmap); void setHotspot(const QPoint &hotspot); @@ -67,10 +64,9 @@ public: void updateGeometry(const QPoint &pos); protected: - void exposeEvent(QExposeEvent *) Q_DECL_OVERRIDE; + void paintEvent(QPaintEvent *) Q_DECL_OVERRIDE; private: - QBackingStore *m_backingStore; QPixmap m_pixmap; QPoint m_hotSpot; bool m_useCompositing; -- cgit v1.2.3 From 09acf326dbc6b7b67f21a360be8c91605ce47f1e Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 17 Feb 2016 16:33:22 -0800 Subject: QCocoaMenu: Decouple NSMenuItem from NSMenu While Cocoa requires an NSMenu to be coupled to an NSMenuItem (just as Qt requires a QMenu to be coupled to a QAction), making that a hard coupling comes with some limitations. This is because Cocoa won't allow the NSMenu object to be simultaneously coupled to more than one NSMenuItem and, similarly, an NSMenuItem can only be added to a single parent NSMenu. Therefore, it becomes difficult to share one QMenu between two different QMenuBars in different windows, or to use a QMenu as context menu while being accessible from the menu bar. Previous solutions to circumvent those limitations were less than ideal (see 119882714f87ffeb6945fdb2d02997ae125ff50c for the QMenuBar shared QMenu issue). Other workarounds that relied on that hard coupling, like 996054f5e65bc676aaea0743c2eacec51918e4aa, also added gratuitous complexity. In this patch, we break that hard NSMenuItem-NSMenu coupling, and we replace it with a temporary, looser coupling. As a consequence, * QCocoaMenu only contains and manages a NSMenu instance, removing the previously used NSMenuItem. It gets a temporarily attached NSMenuItem instead. * QCocoaMenuItem gains a safe pointer to its QCocoaMenu property removing the necessity containingMenuItem() in QCocoaMenu. * QCocoaMenuBar manages its own NSMenuItems. With this setup, we bind the NSMenu to its parent NSMenuItem at the last moment. In QCocoaMenuBar, when we call updateMenuBarImmediately(). In QCocoaMenu, we use the delegate's -[QCocoaMenuDelegate menu: updateItem:atIndex:shouldCancel:] method which is called when Cocoa is about to display the NSMenu. Note: There's still one use case we don't support, which is sharing a toplevel QMenuBar menu. This is because Cocoa's menu bar requires each of its menu items to have a submenu assigned, and therefore we can't rely on that last moment assignment. Task-number: QTBUG-34160 Task-number: QTBUG-31342 Task-number: QTBUG-41587 Change-Id: I92bdb444c680789c78e43fe0b585dc6661770281 Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qcocoamenu.h | 13 +-- src/plugins/platforms/cocoa/qcocoamenu.mm | 78 +++++++++-------- src/plugins/platforms/cocoa/qcocoamenubar.h | 6 +- src/plugins/platforms/cocoa/qcocoamenubar.mm | 115 ++++++++++++++------------ src/plugins/platforms/cocoa/qcocoamenuitem.h | 3 +- src/plugins/platforms/cocoa/qcocoamenuitem.mm | 17 ---- 6 files changed, 111 insertions(+), 121 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qcocoamenu.h b/src/plugins/platforms/cocoa/qcocoamenu.h index eccc5230b5..5064d89585 100644 --- a/src/plugins/platforms/cocoa/qcocoamenu.h +++ b/src/plugins/platforms/cocoa/qcocoamenu.h @@ -75,8 +75,6 @@ public: inline NSMenu *nsMenu() const { return m_nativeMenu; } - inline NSMenuItem *nsMenuItem() const - { return m_nativeItem; } inline bool isVisible() const { return m_visible; } @@ -85,11 +83,9 @@ public: QList items() const; QList merged() const; - void setMenuBar(QCocoaMenuBar *menuBar); - QCocoaMenuBar *menuBar() const; - void setContainingMenuItem(QCocoaMenuItem *menuItem); - QCocoaMenuItem *containingMenuItem() const; + void setAttachedItem(NSMenuItem *item); + NSMenuItem *attachedItem() const; private: QCocoaMenuItem *itemOrNull(int index) const; @@ -97,13 +93,10 @@ private: QList m_menuItems; NSMenu *m_nativeMenu; - NSMenuItem *m_nativeItem; - NSObject *m_delegate; + NSMenuItem *m_attachedItem; bool m_enabled; bool m_visible; quintptr m_tag; - QCocoaMenuBar *m_menuBar; - QCocoaMenuItem *m_containingMenuItem; }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qcocoamenu.mm b/src/plugins/platforms/cocoa/qcocoamenu.mm index ad491855ff..21a3799859 100644 --- a/src/plugins/platforms/cocoa/qcocoamenu.mm +++ b/src/plugins/platforms/cocoa/qcocoamenu.mm @@ -96,6 +96,28 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QCocoaMenuDelegate); return self; } +- (NSInteger)numberOfItemsInMenu:(NSMenu *)menu +{ + Q_ASSERT(m_menu->nsMenu() == menu); + return m_menu->items().count(); +} + +- (BOOL)menu:(NSMenu *)menu updateItem:(NSMenuItem *)item atIndex:(NSInteger)index shouldCancel:(BOOL)shouldCancel +{ + Q_UNUSED(index); + Q_ASSERT(m_menu->nsMenu() == menu); + if (shouldCancel) { + // TODO detach all submenus + return NO; + } + + QCocoaMenuItem *menuItem = reinterpret_cast(item.tag); + if (m_menu->items().contains(menuItem)) { + if (QCocoaMenu *itemSubmenu = menuItem->menu()) + itemSubmenu->setAttachedItem(item); + } + return YES; +} - (void)menu:(NSMenu*)menu willHighlightItem:(NSMenuItem*)item { @@ -228,20 +250,16 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QCocoaMenuDelegate); QT_BEGIN_NAMESPACE QCocoaMenu::QCocoaMenu() : + m_attachedItem(0), m_enabled(true), m_visible(true), - m_tag(0), - m_menuBar(0), - m_containingMenuItem(0) + m_tag(0) { QMacAutoReleasePool pool; - m_delegate = [[QCocoaMenuDelegate alloc] initWithMenu:this]; - m_nativeItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; m_nativeMenu = [[NSMenu alloc] initWithTitle:@"Untitled"]; [m_nativeMenu setAutoenablesItems:YES]; - m_nativeMenu.delegate = (QCocoaMenuDelegate *) m_delegate; - [m_nativeItem setSubmenu:m_nativeMenu]; + m_nativeMenu.delegate = [[QCocoaMenuDelegate alloc] initWithMenu:this]; } QCocoaMenu::~QCocoaMenu() @@ -251,14 +269,11 @@ QCocoaMenu::~QCocoaMenu() SET_COCOA_MENU_ANCESTOR(item, 0); } - if (m_containingMenuItem) - m_containingMenuItem->clearMenu(this); - QMacAutoReleasePool pool; - [m_nativeItem setSubmenu:nil]; + NSObject *delegate = m_nativeMenu.delegate; + m_nativeMenu.delegate = nil; + [delegate release]; [m_nativeMenu release]; - [m_delegate release]; - [m_nativeItem release]; } void QCocoaMenu::setText(const QString &text) @@ -266,7 +281,6 @@ void QCocoaMenu::setText(const QString &text) QMacAutoReleasePool pool; QString stripped = qt_mac_removeAmpersandEscapes(text); [m_nativeMenu setTitle:QCFString::toNSString(stripped)]; - [m_nativeItem setTitle:QCFString::toNSString(stripped)]; } void QCocoaMenu::setMinimumWidth(int width) @@ -307,17 +321,13 @@ void QCocoaMenu::insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem * void QCocoaMenu::insertNative(QCocoaMenuItem *item, QCocoaMenuItem *beforeItem) { - [item->nsItem() setTarget:m_delegate]; + item->nsItem().target = m_nativeMenu.delegate; if (!item->menu()) [item->nsItem() setAction:@selector(itemFired:)]; if (item->isMerged()) return; - if ([item->nsItem() menu]) { - qWarning("Menu item is already in a menu, remove it from the other menu first before inserting"); - return; - } // if the item we're inserting before is merged, skip along until // we find a non-merged real item to insert ahead of. while (beforeItem && beforeItem->isMerged()) { @@ -445,12 +455,11 @@ void QCocoaMenu::setEnabled(bool enabled) bool QCocoaMenu::isEnabled() const { - return [m_nativeItem isEnabled]; + return m_attachedItem ? [m_attachedItem isEnabled] : m_enabled; } void QCocoaMenu::setVisible(bool visible) { - [m_nativeItem setSubmenu:(visible ? m_nativeMenu : nil)]; m_visible = visible; } @@ -587,8 +596,6 @@ void QCocoaMenu::syncModalState(bool modal) if (!m_enabled) modal = true; - [m_nativeItem setEnabled:!modal]; - foreach (QCocoaMenuItem *item, m_menuItems) { if (item->menu()) { // recurse into submenus item->menu()->syncModalState(modal); @@ -599,25 +606,24 @@ void QCocoaMenu::syncModalState(bool modal) } } -void QCocoaMenu::setMenuBar(QCocoaMenuBar *menuBar) +void QCocoaMenu::setAttachedItem(NSMenuItem *item) { - m_menuBar = menuBar; - SET_COCOA_MENU_ANCESTOR(this, menuBar); -} + if (item == m_attachedItem) + return; -QCocoaMenuBar *QCocoaMenu::menuBar() const -{ - return m_menuBar; -} + if (m_attachedItem) + m_attachedItem.submenu = nil; + + m_attachedItem = item; + + if (m_attachedItem) + m_attachedItem.submenu = m_nativeMenu; -void QCocoaMenu::setContainingMenuItem(QCocoaMenuItem *menuItem) -{ - m_containingMenuItem = menuItem; } -QCocoaMenuItem *QCocoaMenu::containingMenuItem() const +NSMenuItem *QCocoaMenu::attachedItem() const { - return m_containingMenuItem; + return m_attachedItem; } QT_END_NAMESPACE diff --git a/src/plugins/platforms/cocoa/qcocoamenubar.h b/src/plugins/platforms/cocoa/qcocoamenubar.h index d5f75abf34..e84da7aeb0 100644 --- a/src/plugins/platforms/cocoa/qcocoamenubar.h +++ b/src/plugins/platforms/cocoa/qcocoamenubar.h @@ -71,10 +71,10 @@ private: static QCocoaMenuBar *findGlobalMenubar(); bool shouldDisable(QCocoaWindow *active) const; - void insertNativeMenu(QCocoaMenu *menu, QCocoaMenu *beforeMenu); - void removeNativeMenu(QCocoaMenu *menu); - QList m_menus; + NSMenuItem *nativeItemForMenu(QCocoaMenu *menu) const; + + QList > m_menus; NSMenu *m_nativeMenu; QCocoaWindow *m_window; }; diff --git a/src/plugins/platforms/cocoa/qcocoamenubar.mm b/src/plugins/platforms/cocoa/qcocoamenubar.mm index 1a516f874b..ac4d29fc52 100644 --- a/src/plugins/platforms/cocoa/qcocoamenubar.mm +++ b/src/plugins/platforms/cocoa/qcocoamenubar.mm @@ -51,7 +51,6 @@ static inline QCocoaMenuLoader *getMenuLoader() return [NSApp QT_MANGLE_NAMESPACE(qt_qcocoamenuLoader)]; } - QCocoaMenuBar::QCocoaMenuBar() : m_window(0) { @@ -68,11 +67,20 @@ QCocoaMenuBar::~QCocoaMenuBar() #ifdef QT_COCOA_ENABLE_MENU_DEBUG qDebug() << "~QCocoaMenuBar" << this; #endif + foreach (QCocoaMenu *menu, m_menus) { + if (!menu) + continue; + NSMenuItem *item = nativeItemForMenu(menu); + if (menu->attachedItem() == item) + menu->setAttachedItem(nil); + } + [m_nativeMenu release]; static_menubars.removeOne(this); if (m_window && m_window->menubar() == this) { m_window->setMenubar(0); + // Delete the children first so they do not cause // the native menu items to be hidden after // the menu bar was updated @@ -81,24 +89,6 @@ QCocoaMenuBar::~QCocoaMenuBar() } } -void QCocoaMenuBar::insertNativeMenu(QCocoaMenu *menu, QCocoaMenu *beforeMenu) -{ - QMacAutoReleasePool pool; - - if (beforeMenu) { - NSUInteger nativeIndex = [m_nativeMenu indexOfItem:beforeMenu->nsMenuItem()]; - [m_nativeMenu insertItem: menu->nsMenuItem() atIndex: nativeIndex]; - } else { - [m_nativeMenu addItem: menu->nsMenuItem()]; - } - - menu->setMenuBar(this); - syncMenu(static_cast(menu)); - if (menu->isVisible()) { - [m_nativeMenu setSubmenu: menu->nsMenu() forItem: menu->nsMenuItem()]; - } -} - void QCocoaMenuBar::insertMenu(QPlatformMenu *platformMenu, QPlatformMenu *before) { QCocoaMenu *menu = static_cast(platformMenu); @@ -107,31 +97,40 @@ void QCocoaMenuBar::insertMenu(QPlatformMenu *platformMenu, QPlatformMenu *befor qDebug() << "QCocoaMenuBar" << this << "insertMenu" << menu << "before" << before; #endif - if (m_menus.contains(menu)) { + if (m_menus.contains(QPointer(menu))) { qWarning("This menu already belongs to the menubar, remove it first"); return; } - if (beforeMenu && !m_menus.contains(beforeMenu)) { + if (beforeMenu && !m_menus.contains(QPointer(beforeMenu))) { qWarning("The before menu does not belong to the menubar"); return; } - m_menus.insert(beforeMenu ? m_menus.indexOf(beforeMenu) : m_menus.size(), menu); - if (!menu->menuBar()) - insertNativeMenu(menu, beforeMenu); - if (m_window && m_window->window()->isActive()) - updateMenuBarImmediately(); -} + int insertionIndex = beforeMenu ? m_menus.indexOf(beforeMenu) : m_menus.size(); + m_menus.insert(insertionIndex, menu); + + { + QMacAutoReleasePool pool; + NSMenuItem *item = [[[NSMenuItem alloc] init] autorelease]; + item.tag = reinterpret_cast(menu); + + if (beforeMenu) { + // QMenuBar::toNSMenu() exposes the native menubar and + // the user could have inserted its own items in there. + // Same remark applies to removeMenu(). + NSMenuItem *beforeItem = nativeItemForMenu(beforeMenu); + NSInteger nativeIndex = [m_nativeMenu indexOfItem:beforeItem]; + [m_nativeMenu insertItem:item atIndex:nativeIndex]; + } else { + [m_nativeMenu addItem:item]; + } + } -void QCocoaMenuBar::removeNativeMenu(QCocoaMenu *menu) -{ - QMacAutoReleasePool pool; + syncMenu(menu); - if (menu->menuBar() == this) - menu->setMenuBar(0); - NSUInteger realIndex = [m_nativeMenu indexOfItem:menu->nsMenuItem()]; - [m_nativeMenu removeItemAtIndex: realIndex]; + if (m_window && m_window->window()->isActive()) + updateMenuBarImmediately(); } void QCocoaMenuBar::removeMenu(QPlatformMenu *platformMenu) @@ -141,8 +140,17 @@ void QCocoaMenuBar::removeMenu(QPlatformMenu *platformMenu) qWarning("Trying to remove a menu that does not belong to the menubar"); return; } + + NSMenuItem *item = nativeItemForMenu(menu); + if (menu->attachedItem() == item) + menu->setAttachedItem(nil); m_menus.removeOne(menu); - removeNativeMenu(menu); + + QMacAutoReleasePool pool; + + // See remark in insertMenu(). + NSInteger nativeIndex = [m_nativeMenu indexOfItem:item]; + [m_nativeMenu removeItemAtIndex:nativeIndex]; } void QCocoaMenuBar::syncMenu(QPlatformMenu *menu) @@ -164,7 +172,16 @@ void QCocoaMenuBar::syncMenu(QPlatformMenu *menu) break; } } - [cocoaMenu->nsMenuItem() setHidden:shouldHide]; + + nativeItemForMenu(cocoaMenu).hidden = shouldHide; +} + +NSMenuItem *QCocoaMenuBar::nativeItemForMenu(QCocoaMenu *menu) const +{ + if (!menu) + return nil; + + return [m_nativeMenu itemWithTag:reinterpret_cast(menu)]; } void QCocoaMenuBar::handleReparent(QWindow *newParentWindow) @@ -291,24 +308,16 @@ void QCocoaMenuBar::updateMenuBarImmediately() qDebug() << "QCocoaMenuBar" << "updateMenuBarImmediately" << cw; #endif bool disableForModal = mb->shouldDisable(cw); - // force a sync? - foreach (QCocoaMenu *m, mb->m_menus) { - mb->syncMenu(m); - m->syncModalState(disableForModal); - } - // reparent shared menu items if necessary. - // We browse the list in reverse order to be sure that the next items are redrawn before the current ones, - // in this way we are sure that "beforeMenu" (see below) is part of the native menu before "m" is redraw - for (int i = mb->m_menus.size() - 1; i >= 0; i--) { - QCocoaMenu *m = mb->m_menus.at(i); - QCocoaMenuBar *menuBar = m->menuBar(); - if (menuBar != mb) { - QCocoaMenu *beforeMenu = i < (mb->m_menus.size() - 1) ? mb->m_menus.at(i + 1) : 0; - if (menuBar) - menuBar->removeNativeMenu(m); - mb->insertNativeMenu(m, beforeMenu); - } + foreach (QCocoaMenu *menu, mb->m_menus) { + if (!menu) + continue; + NSMenuItem *item = mb->nativeItemForMenu(menu); + menu->setAttachedItem(item); + SET_COCOA_MENU_ANCESTOR(menu, mb); + // force a sync? + mb->syncMenu(menu); + menu->syncModalState(disableForModal); } QCocoaMenuLoader *loader = getMenuLoader(); diff --git a/src/plugins/platforms/cocoa/qcocoamenuitem.h b/src/plugins/platforms/cocoa/qcocoamenuitem.h index 1cd15e686c..ada4b13df1 100644 --- a/src/plugins/platforms/cocoa/qcocoamenuitem.h +++ b/src/plugins/platforms/cocoa/qcocoamenuitem.h @@ -87,7 +87,6 @@ public: inline bool isSeparator() const { return m_isSeparator; } QCocoaMenu *menu() const { return m_menu; } - void clearMenu(QCocoaMenu *menu); MenuRole effectiveRole() const; private: @@ -99,7 +98,7 @@ private: QString m_text; bool m_textSynced; QIcon m_icon; - QCocoaMenu *m_menu; + QPointer m_menu; bool m_isVisible; bool m_enabled; bool m_isSeparator; diff --git a/src/plugins/platforms/cocoa/qcocoamenuitem.mm b/src/plugins/platforms/cocoa/qcocoamenuitem.mm index 0f551bcd7d..e274448620 100644 --- a/src/plugins/platforms/cocoa/qcocoamenuitem.mm +++ b/src/plugins/platforms/cocoa/qcocoamenuitem.mm @@ -134,15 +134,12 @@ void QCocoaMenuItem::setMenu(QPlatformMenu *menu) if (m_menu) { if (COCOA_MENU_ANCESTOR(m_menu) == this) SET_COCOA_MENU_ANCESTOR(m_menu, 0); - if (m_menu->containingMenuItem() == this) - m_menu->setContainingMenuItem(0); } QMacAutoReleasePool pool; m_menu = static_cast(menu); if (m_menu) { SET_COCOA_MENU_ANCESTOR(m_menu, this); - m_menu->setContainingMenuItem(this); } else { // we previously had a menu, but no longer // clear out our item so the nexy sync() call builds a new one @@ -151,12 +148,6 @@ void QCocoaMenuItem::setMenu(QPlatformMenu *menu) } } -void QCocoaMenuItem::clearMenu(QCocoaMenu *menu) -{ - if (menu == m_menu) - m_menu = 0; -} - void QCocoaMenuItem::setVisible(bool isVisible) { m_isVisible = isVisible; @@ -218,14 +209,6 @@ NSMenuItem *QCocoaMenuItem::sync() m_native = nil; } - if (m_menu) { - if (m_native != m_menu->nsMenuItem()) { - [m_native release]; - m_native = [m_menu->nsMenuItem() retain]; - [m_native setTag:reinterpret_cast(this)]; - } - } - if ((m_role != NoRole && !m_textSynced) || m_merged) { NSMenuItem *mergeItem = nil; QCocoaMenuLoader *loader = getMenuLoader(); -- cgit v1.2.3 From 44724563aaa644578fad56651a76eecd311ee11e Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Tue, 27 Oct 2015 02:05:08 +0100 Subject: Disable some features for INTEGRITY Specifically, this is a single-process build. Change-Id: I1b2cc33641df0ef73f1f26f388c1af3d954ce6e8 Reviewed-by: Thiago Macieira --- src/corelib/global/qglobal.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index d607b04192..86ac5d0312 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -627,6 +627,13 @@ class QDataStream; # define QT_NO_PROCESS #endif +#if defined(Q_OS_INTEGRITY) +# define QT_NO_CRASHHANDLER // no popen +# define QT_NO_PROCESS // no exec*, no fork +# define QT_NO_SYSTEMSEMAPHORE // not needed at all in a single AddressSpace +# define QT_NO_MULTIPROCESS // no system +#endif + inline void qt_noop(void) {} /* These wrap try/catch so we can switch off exceptions later. -- cgit v1.2.3 From b5af1bd8cff1643239809633d6be4513dd21a057 Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Tue, 27 Oct 2015 01:59:48 +0100 Subject: Make pcre sljit build with GHS toolchain. This commit should also be pushed to pcre main repo, but is necessary to build Qt. Change-Id: I647e784feca09c13260f938823c2bcf5adec2a00 Reviewed-by: Thiago Macieira --- src/3rdparty/pcre/sljit/sljitNativeX86_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/3rdparty/pcre/sljit/sljitNativeX86_common.c b/src/3rdparty/pcre/sljit/sljitNativeX86_common.c index 416c15afaf..f03393a2d3 100644 --- a/src/3rdparty/pcre/sljit/sljitNativeX86_common.c +++ b/src/3rdparty/pcre/sljit/sljitNativeX86_common.c @@ -289,7 +289,7 @@ static void get_cpu_features(void) __cpuid(CPUInfo, 1); features = (sljit_ui)CPUInfo[3]; -#elif defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__SUNPRO_C) +#elif defined(__GNUC__) || defined(__INTEL_COMPILER) || defined(__SUNPRO_C) || defined(__ghs) /* AT&T syntax. */ __asm__ ( -- cgit v1.2.3 From aa3008dfa1e3dfa0f6a35999ae62e4c012ad8089 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 17 Mar 2016 09:48:08 +0100 Subject: Introduce separate mapping of QStandardPaths's CLSIDs for Windows CE. CSIDL_APPDATA should be used instead of CSIDL_LOCAL_APPDATA on Windows CE. Amends 910f719bd111813f37278b67d07f9d12cb03a4ff . Task-number: QTBUG-50570 Change-Id: I0cc310ef5fe3fbaefae9c84dd9db8cf48ff48499 Reviewed-by: Tobias Koenig Reviewed-by: Andreas Holzammer --- src/corelib/io/qstandardpaths_win.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src') diff --git a/src/corelib/io/qstandardpaths_win.cpp b/src/corelib/io/qstandardpaths_win.cpp index 73d49cbc25..c1b34d1341 100644 --- a/src/corelib/io/qstandardpaths_win.cpp +++ b/src/corelib/io/qstandardpaths_win.cpp @@ -111,6 +111,7 @@ static inline void appendTestMode(QString &path) // Map QStandardPaths::StandardLocation to CLSID of SHGetSpecialFolderPath() static int writableSpecialFolderClsid(QStandardPaths::StandardLocation type) { +#ifndef Q_OS_WINCE static const int clsids[] = { CSIDL_DESKTOPDIRECTORY, // DesktopLocation CSIDL_PERSONAL, // DocumentsLocation @@ -130,6 +131,27 @@ static int writableSpecialFolderClsid(QStandardPaths::StandardLocation type) CSIDL_APPDATA, // AppDataLocation ("Roaming" path) CSIDL_LOCAL_APPDATA, // AppConfigLocation ("Local" path) }; +#else // !Q_OS_WINCE + static const int clsids[] = { + CSIDL_DESKTOPDIRECTORY, // DesktopLocation + CSIDL_PERSONAL, // DocumentsLocation + CSIDL_FONTS, // FontsLocation + CSIDL_PROGRAMS, // ApplicationsLocation + CSIDL_MYMUSIC, // MusicLocation + CSIDL_MYVIDEO, // MoviesLocation + CSIDL_MYPICTURES, // PicturesLocation + -1, -1, // TempLocation/HomeLocation + CSIDL_APPDATA, // AppLocalDataLocation, AppLocalDataLocation = DataLocation + -1, // CacheLocation + CSIDL_APPDATA, // GenericDataLocation + -1, // RuntimeLocation + CSIDL_APPDATA, // ConfigLocation + -1, -1, // DownloadLocation/GenericCacheLocation + CSIDL_APPDATA, // GenericConfigLocation + CSIDL_APPDATA, // AppDataLocation + CSIDL_APPDATA, // AppConfigLocation + }; +#endif // Q_OS_WINCE Q_STATIC_ASSERT(sizeof(clsids) / sizeof(clsids[0]) == size_t(QStandardPaths::AppConfigLocation + 1)); return size_t(type) < sizeof(clsids) / sizeof(clsids[0]) ? clsids[type] : -1; -- cgit v1.2.3 From d19c9cfd29bcb3c8fb8108bbcb29d71be19711f5 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Fri, 26 Feb 2016 17:34:33 -0800 Subject: QMenu: Add showTearOffMenu() The API is incomplete since we can't show a tear-off menu programatically. This could be useful when restoring the application state on launch. Change-Id: Ice1911b44a5b973680f67b0150efacf3d023c2c5 Task-number: QTBUG-47974 Reviewed-by: Friedemann Kleint Reviewed-by: Shawn Rutledge --- src/widgets/widgets/qmenu.cpp | 49 ++++++++++++++++++++++++++++++++++++++----- src/widgets/widgets/qmenu.h | 2 ++ 2 files changed, 46 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index 1b9e31968a..274570b22a 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -1948,7 +1948,7 @@ bool QMenu::isTearOffEnabled() const contents in a new window. When the menu is in this mode and the menu is visible returns \c true; otherwise false. - \sa hideTearOffMenu(), isTearOffEnabled() + \sa showTearOffMenu(), hideTearOffMenu(), isTearOffEnabled() */ bool QMenu::isTearOffMenuVisible() const { @@ -1957,16 +1957,55 @@ bool QMenu::isTearOffMenuVisible() const return false; } +/*! + \since 5.7 + + This function will forcibly show the torn off menu making it + appear on the user's desktop at the specified \e global position \a pos. + + \sa hideTearOffMenu(), isTearOffMenuVisible(), isTearOffEnabled() +*/ +void QMenu::showTearOffMenu(const QPoint &pos) +{ + Q_D(QMenu); + if (!d->tornPopup) + d->tornPopup = new QTornOffMenu(this); + const QSize &s = sizeHint(); + d->tornPopup->setGeometry(pos.x(), pos.y(), s.width(), s.height()); + d->tornPopup->show(); +} + +/*! + \overload + \since 5.7 + + This function will forcibly show the torn off menu making it + appear on the user's desktop under the mouse currsor. + + \sa hideTearOffMenu(), isTearOffMenuVisible(), isTearOffEnabled() +*/ +void QMenu::showTearOffMenu() +{ + showTearOffMenu(QCursor::pos()); +} + /*! This function will forcibly hide the torn off menu making it - disappear from the users desktop. + disappear from the user's desktop. - \sa isTearOffMenuVisible(), isTearOffEnabled() + \sa showTearOffMenu(), isTearOffMenuVisible(), isTearOffEnabled() */ void QMenu::hideTearOffMenu() { - if (QWidget *w = d_func()->tornPopup) - w->close(); + Q_D(QMenu); + if (d->tornPopup) { + d->tornPopup->close(); + // QTornOffMenu sets WA_DeleteOnClose, so we + // should consider the torn-off menu deleted. + // This way showTearOffMenu() will not try to + // reuse the dying torn-off menu. + d->tornPopup = Q_NULLPTR; + } } diff --git a/src/widgets/widgets/qmenu.h b/src/widgets/widgets/qmenu.h index 6634082bda..7dda38456a 100644 --- a/src/widgets/widgets/qmenu.h +++ b/src/widgets/widgets/qmenu.h @@ -171,6 +171,8 @@ public: bool isTearOffEnabled() const; bool isTearOffMenuVisible() const; + void showTearOffMenu(); + void showTearOffMenu(const QPoint &pos); void hideTearOffMenu(); void setDefaultAction(QAction *); -- cgit v1.2.3 From 35dce99b5664e47b2210c2dfe36300376e837f1d Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Wed, 27 Jan 2016 13:45:55 +0100 Subject: Fix QAbstractItemView dragged item pixmaps to be HighDPI aware. When an item is rendered into a QPixmap sent to the QDrag implementation, make sure it's size is scaled with the current window's devicePixelRatio, so it does not appear blurry on high-dpi screens. Change-Id: Idf38c0993e8529aff7107ff1ac412de9cf10f311 Task-number: QTBUG-46068 Reviewed-by: Shawn Rutledge --- src/widgets/itemviews/qabstractitemview.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/widgets/itemviews/qabstractitemview.cpp b/src/widgets/itemviews/qabstractitemview.cpp index ad7be840d0..a126fef65e 100644 --- a/src/widgets/itemviews/qabstractitemview.cpp +++ b/src/widgets/itemviews/qabstractitemview.cpp @@ -4353,7 +4353,20 @@ QPixmap QAbstractItemViewPrivate::renderToPixmap(const QModelIndexList &indexes, QItemViewPaintPairs paintPairs = draggablePaintPairs(indexes, r); if (paintPairs.isEmpty()) return QPixmap(); - QPixmap pixmap(r->size()); + + qreal scale = 1.0f; + + Q_Q(const QAbstractItemView); + QWidget *window = q->window(); + if (window) { + QWindow *windowHandle = window->windowHandle(); + if (windowHandle) + scale = windowHandle->devicePixelRatio(); + } + + QPixmap pixmap(r->size() * scale); + pixmap.setDevicePixelRatio(scale); + pixmap.fill(Qt::transparent); QPainter painter(&pixmap); QStyleOptionViewItem option = viewOptionsV1(); -- cgit v1.2.3 From 461ebedb98c986c047a68e98cb9cc3c212d5d315 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Thu, 17 Mar 2016 15:22:03 +0200 Subject: Android: Fix compilation with NDK r11 Task-number: QTBUG-51859 Change-Id: Id8bbcc9f0503ab2742e8da7f3b5de03fd46714b2 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/corelib/global/qlogging.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src') diff --git a/src/corelib/global/qlogging.cpp b/src/corelib/global/qlogging.cpp index ca38d672c3..e341b3ecfd 100644 --- a/src/corelib/global/qlogging.cpp +++ b/src/corelib/global/qlogging.cpp @@ -96,6 +96,11 @@ extern char *__progname; #if defined(Q_OS_LINUX) && (defined(__GLIBC__) || __has_include()) # include + +# if defined(Q_OS_ANDROID) && !defined(SYS_gettid) +# define SYS_gettid __NR_gettid +# endif + static long qt_gettid() { // no error handling -- cgit v1.2.3 From 74c202f913cc870459250b5ea9c45500e472fd20 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 17 Mar 2016 10:01:55 +0100 Subject: QtTest: Add formatting for QColor. When a QCOMPARE of values of type QColor fails, their name will now be printed. Task-number: QTBUG-51124 Change-Id: I76565daa338f038ea4f452e47705e638d94eaeee Reviewed-by: Frederik Gladhorn --- src/testlib/qtest_gui.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/testlib/qtest_gui.h b/src/testlib/qtest_gui.h index fd09c1202f..2faf37f32b 100644 --- a/src/testlib/qtest_gui.h +++ b/src/testlib/qtest_gui.h @@ -55,6 +55,7 @@ #include #include +#include #include #include @@ -73,6 +74,11 @@ QT_BEGIN_NAMESPACE namespace QTest { +template<> inline char *toString(const QColor &color) +{ + return qstrdup(color.name().toLocal8Bit().constData()); +} + inline bool qCompare(QIcon const &t1, QIcon const &t2, const char *actual, const char *expected, const char *file, int line) { -- cgit v1.2.3 From 5c89e2eeeed3c58e8068ddfca0cddcc801c2e30a Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 15 Mar 2016 10:59:59 +0100 Subject: Rework QWindowsPipeReader The use of QWinOverlappedIoNotifier in QWindowsPipeReader restricts us in the following ways: - The handle that gets assigned to QWinOverlappedIoNotifier is forever tied to an I/O completion port. - Other notification mechanisms like I/O completion routines of WriteFileEx do not work with such a handle. - No other QWinOverlappedIoNotifier can be registered for this handle. To achieve the ultimate goal of making QWindowsPipeWriter thread-free (to fix QTBUG-23378 and QTBUG-38185) we remove the usage of QWinOverlappedIoNotifier from QWindowsPipeReader and use the ReadFileEx API instead. This has the additional advantage of removing the need for any thread synchronization, as the I/O completion routine runs in the thread that ReadFileEx was called on, leading to simpler and faster code. Change-Id: I05c983e1f1e49d7dd27e3b77a47f87cae9c3f4c6 Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qwindowspipereader.cpp | 152 ++++++++++++++++++++++------------ src/corelib/io/qwindowspipereader_p.h | 32 ++++--- 2 files changed, 117 insertions(+), 67 deletions(-) (limited to 'src') diff --git a/src/corelib/io/qwindowspipereader.cpp b/src/corelib/io/qwindowspipereader.cpp index f0d6417483..ee7af8a08b 100644 --- a/src/corelib/io/qwindowspipereader.cpp +++ b/src/corelib/io/qwindowspipereader.cpp @@ -32,25 +32,37 @@ ****************************************************************************/ #include "qwindowspipereader_p.h" -#include "qwinoverlappedionotifier_p.h" -#include +#include "qiodevice_p.h" #include -#include QT_BEGIN_NAMESPACE +QWindowsPipeReader::Overlapped::Overlapped(QWindowsPipeReader *reader) + : pipeReader(reader) +{ +} + +void QWindowsPipeReader::Overlapped::clear() +{ + ZeroMemory(this, sizeof(OVERLAPPED)); +} + + QWindowsPipeReader::QWindowsPipeReader(QObject *parent) : QObject(parent), handle(INVALID_HANDLE_VALUE), + overlapped(this), readBufferMaxSize(0), actualReadBufferSize(0), stopped(true), readSequenceStarted(false), + notifiedCalled(false), pipeBroken(false), - readyReadEmitted(false) + readyReadPending(false), + inReadyRead(false) { - dataReadNotifier = new QWinOverlappedIoNotifier(this); - connect(dataReadNotifier, &QWinOverlappedIoNotifier::notified, this, &QWindowsPipeReader::notified); + connect(this, &QWindowsPipeReader::_q_queueReadyRead, + this, &QWindowsPipeReader::emitPendingReadyRead, Qt::QueuedConnection); } static bool qt_cancelIo(HANDLE handle, OVERLAPPED *overlapped) @@ -82,12 +94,6 @@ void QWindowsPipeReader::setHandle(HANDLE hPipeReadEnd) actualReadBufferSize = 0; handle = hPipeReadEnd; pipeBroken = false; - readyReadEmitted = false; - stopped = false; - if (hPipeReadEnd != INVALID_HANDLE_VALUE) { - dataReadNotifier->setHandle(hPipeReadEnd); - dataReadNotifier->setEnabled(true); - } } /*! @@ -98,19 +104,15 @@ void QWindowsPipeReader::stop() { stopped = true; if (readSequenceStarted) { - if (qt_cancelIo(handle, &overlapped)) { - dataReadNotifier->waitForNotified(-1, &overlapped); - } else { + if (!qt_cancelIo(handle, &overlapped)) { const DWORD dwError = GetLastError(); if (dwError != ERROR_NOT_FOUND) { qErrnoWarning(dwError, "QWindowsPipeReader: qt_cancelIo on handle %x failed.", handle); } } + waitForNotification(-1); } - readSequenceStarted = false; - dataReadNotifier->setEnabled(false); - handle = INVALID_HANDLE_VALUE; } /*! @@ -168,11 +170,10 @@ bool QWindowsPipeReader::canReadLine() const \internal Will be called whenever the read operation completes. */ -void QWindowsPipeReader::notified(quint32 numberOfBytesRead, quint32 errorCode, - OVERLAPPED *notifiedOverlapped) +void QWindowsPipeReader::notified(DWORD errorCode, DWORD numberOfBytesRead) { - if (&overlapped != notifiedOverlapped) - return; + notifiedCalled = true; + readSequenceStarted = false; switch (errorCode) { case ERROR_SUCCESS: @@ -196,8 +197,6 @@ void QWindowsPipeReader::notified(quint32 numberOfBytesRead, quint32 errorCode, break; } - readSequenceStarted = false; - // After the reader was stopped, the only reason why this function can be called is the // completion of a cancellation. No signals should be emitted, and no new read sequence should // be started in this case. @@ -212,13 +211,15 @@ void QWindowsPipeReader::notified(quint32 numberOfBytesRead, quint32 errorCode, actualReadBufferSize += numberOfBytesRead; readBuffer.truncate(actualReadBufferSize); startAsyncRead(); - readyReadEmitted = true; - emit readyRead(); + if (!readyReadPending) { + readyReadPending = true; + emit _q_queueReadyRead(QWindowsPipeReader::QPrivateSignal()); + } } /*! \internal - Reads data from the socket into the readbuffer + Reads data from the pipe into the readbuffer. */ void QWindowsPipeReader::startAsyncRead() { @@ -238,41 +239,39 @@ void QWindowsPipeReader::startAsyncRead() char *ptr = readBuffer.reserve(bytesToRead); + stopped = false; readSequenceStarted = true; - ZeroMemory(&overlapped, sizeof(overlapped)); - if (ReadFile(handle, ptr, bytesToRead, NULL, &overlapped)) { - // We get notified by the QWinOverlappedIoNotifier - even in the synchronous case. - return; - } else { + overlapped.clear(); + if (!ReadFileEx(handle, ptr, bytesToRead, &overlapped, &readFileCompleted)) { + readSequenceStarted = false; + const DWORD dwError = GetLastError(); switch (dwError) { - case ERROR_IO_PENDING: - // This is not an error. We're getting notified, when data arrives. - return; - case ERROR_MORE_DATA: - // This is not an error. The synchronous read succeeded. - // We're connected to a message mode pipe and the message - // didn't fit into the pipe's system buffer. - // We're getting notified by the QWinOverlappedIoNotifier. - break; case ERROR_BROKEN_PIPE: case ERROR_PIPE_NOT_CONNECTED: - { - // It may happen, that the other side closes the connection directly - // after writing data. Then we must set the appropriate socket state. - readSequenceStarted = false; - pipeBroken = true; - emit pipeClosed(); - return; - } + // It may happen, that the other side closes the connection directly + // after writing data. Then we must set the appropriate socket state. + pipeBroken = true; + emit pipeClosed(); + break; default: - readSequenceStarted = false; emit winError(dwError, QLatin1String("QWindowsPipeReader::startAsyncRead")); - return; + break; } } } +/*! + \internal + Called when ReadFileEx finished the read operation. + */ +void QWindowsPipeReader::readFileCompleted(DWORD errorCode, DWORD numberOfBytesTransfered, + OVERLAPPED *overlappedBase) +{ + Overlapped *overlapped = static_cast(overlappedBase); + overlapped->pipeReader->notified(errorCode, numberOfBytesTransfered); +} + /*! \internal Returns the number of available bytes in the pipe. @@ -292,17 +291,60 @@ DWORD QWindowsPipeReader::checkPipeState() return 0; } +bool QWindowsPipeReader::waitForNotification(int timeout) +{ + QElapsedTimer t; + t.start(); + notifiedCalled = false; + int msecs = timeout; + while (SleepEx(msecs == -1 ? INFINITE : msecs, TRUE) == WAIT_IO_COMPLETION) { + if (notifiedCalled) + return true; + + // Some other I/O completion routine was called. Wait some more. + msecs = qt_subtract_from_timeout(timeout, t.elapsed()); + if (!msecs) + break; + } + return notifiedCalled; +} + +void QWindowsPipeReader::emitPendingReadyRead() +{ + if (readyReadPending) { + readyReadPending = false; + inReadyRead = true; + emit readyRead(); + inReadyRead = false; + } +} + /*! Waits for the completion of the asynchronous read operation. - Returns \c true, if we've emitted the readyRead signal. + Returns \c true, if we've emitted the readyRead signal (non-recursive case) + or readyRead will be emitted by the event loop (recursive case). */ bool QWindowsPipeReader::waitForReadyRead(int msecs) { if (!readSequenceStarted) return false; - readyReadEmitted = false; - dataReadNotifier->waitForNotified(msecs, &overlapped); - return readyReadEmitted; + + if (readyReadPending) { + if (!inReadyRead) + emitPendingReadyRead(); + return true; + } + + if (!waitForNotification(msecs)) + return false; + + if (readyReadPending) { + if (!inReadyRead) + emitPendingReadyRead(); + return true; + } + + return false; } /*! diff --git a/src/corelib/io/qwindowspipereader_p.h b/src/corelib/io/qwindowspipereader_p.h index c8a66d9511..44009877f2 100644 --- a/src/corelib/io/qwindowspipereader_p.h +++ b/src/corelib/io/qwindowspipereader_p.h @@ -45,7 +45,6 @@ // We mean it. // -#include #include #include @@ -53,9 +52,6 @@ QT_BEGIN_NAMESPACE - -class QWinOverlappedIoNotifier; - class Q_CORE_EXPORT QWindowsPipeReader : public QObject { Q_OBJECT @@ -64,6 +60,7 @@ public: ~QWindowsPipeReader(); void setHandle(HANDLE hPipeReadEnd); + void startAsyncRead(); void stop(); void setMaxReadBufferSize(qint64 size) { readBufferMaxSize = size; } @@ -76,31 +73,42 @@ public: bool waitForReadyRead(int msecs); bool waitForPipeClosed(int msecs); - void startAsyncRead(); bool isReadOperationActive() const { return readSequenceStarted; } Q_SIGNALS: void winError(ulong, const QString &); void readyRead(); void pipeClosed(); - -private Q_SLOTS: - void notified(quint32 numberOfBytesRead, quint32 errorCode, OVERLAPPED *notifiedOverlapped); + void _q_queueReadyRead(QPrivateSignal); private: + static void CALLBACK readFileCompleted(DWORD errorCode, DWORD numberOfBytesTransfered, + OVERLAPPED *overlappedBase); + void notified(DWORD errorCode, DWORD numberOfBytesRead); DWORD checkPipeState(); + bool waitForNotification(int timeout); + void emitPendingReadyRead(); + + class Overlapped : public OVERLAPPED + { + Q_DISABLE_COPY(Overlapped) + public: + explicit Overlapped(QWindowsPipeReader *reader); + void clear(); + QWindowsPipeReader *pipeReader; + }; -private: HANDLE handle; - OVERLAPPED overlapped; - QWinOverlappedIoNotifier *dataReadNotifier; + Overlapped overlapped; qint64 readBufferMaxSize; QRingBuffer readBuffer; qint64 actualReadBufferSize; bool stopped; bool readSequenceStarted; + bool notifiedCalled; bool pipeBroken; - bool readyReadEmitted; + bool readyReadPending; + bool inReadyRead; }; QT_END_NAMESPACE -- cgit v1.2.3 From 0307c008bf71e1272385d0e7f7c8d2c5a1ba6526 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 7 Mar 2016 15:57:45 +0100 Subject: Make QWindowsPipeWriter thread-free. Re-work QWindowsPipeWriter to not use a thread anymore but the WriteFileEx API, similar to QWindowsPipeReader. This saves us a lot of thread synchronization code and enables us to directly write data without yet another buffering layer. Also, this fixes the dreaded deadlocks in the QWindowsPipeWriter destructor that could occur when the reading end was closed before the write was finished. Task-number: QTBUG-23378 Task-number: QTBUG-38185 Change-Id: If0ae96dcd756f716ddf6fa38016080095bf3bd4e Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qprocess_win.cpp | 6 +- src/corelib/io/qwindowspipereader.cpp | 2 +- src/corelib/io/qwindowspipewriter.cpp | 236 ++++++++++++++++++-------------- src/corelib/io/qwindowspipewriter_p.h | 70 +++++----- src/network/socket/qlocalsocket_win.cpp | 1 - 5 files changed, 173 insertions(+), 142 deletions(-) (limited to 'src') diff --git a/src/corelib/io/qprocess_win.cpp b/src/corelib/io/qprocess_win.cpp index 98ada82446..e7cd9d9a17 100644 --- a/src/corelib/io/qprocess_win.cpp +++ b/src/corelib/io/qprocess_win.cpp @@ -666,10 +666,7 @@ bool QProcessPrivate::waitForBytesWritten(int msecs) QIncrementalSleepTimer timer(msecs); forever { - // Check if we have any data pending: the pipe writer has - // bytes waiting to written, or it has written data since the - // last time we called stdinChannel.writer->waitForWrite(). - bool pendingDataInPipe = stdinChannel.writer && (stdinChannel.writer->bytesToWrite() || stdinChannel.writer->hadWritten()); + bool pendingDataInPipe = stdinChannel.writer && stdinChannel.writer->bytesToWrite(); // If we don't have pending data, and our write buffer is // empty, we fail. @@ -797,7 +794,6 @@ qint64 QProcessPrivate::writeToStdin(const char *data, qint64 maxlen) stdinChannel.writer = new QWindowsPipeWriter(stdinChannel.pipe[1], q); QObjectPrivate::connect(stdinChannel.writer, &QWindowsPipeWriter::canWrite, this, &QProcessPrivate::_q_canWrite); - stdinChannel.writer->start(); } return stdinChannel.writer->write(data, maxlen); diff --git a/src/corelib/io/qwindowspipereader.cpp b/src/corelib/io/qwindowspipereader.cpp index ee7af8a08b..735386ce16 100644 --- a/src/corelib/io/qwindowspipereader.cpp +++ b/src/corelib/io/qwindowspipereader.cpp @@ -65,7 +65,7 @@ QWindowsPipeReader::QWindowsPipeReader(QObject *parent) this, &QWindowsPipeReader::emitPendingReadyRead, Qt::QueuedConnection); } -static bool qt_cancelIo(HANDLE handle, OVERLAPPED *overlapped) +bool qt_cancelIo(HANDLE handle, OVERLAPPED *overlapped) { typedef BOOL (WINAPI *PtrCancelIoEx)(HANDLE, LPOVERLAPPED); static PtrCancelIoEx ptrCancelIoEx = 0; diff --git a/src/corelib/io/qwindowspipewriter.cpp b/src/corelib/io/qwindowspipewriter.cpp index 5b11ba6112..ff92ca763e 100644 --- a/src/corelib/io/qwindowspipewriter.cpp +++ b/src/corelib/io/qwindowspipewriter.cpp @@ -32,141 +32,177 @@ ****************************************************************************/ #include "qwindowspipewriter_p.h" +#include "qiodevice_p.h" QT_BEGIN_NAMESPACE -#ifndef QT_NO_THREAD +extern bool qt_cancelIo(HANDLE handle, OVERLAPPED *overlapped); // from qwindowspipereader.cpp -QWindowsPipeWriter::QWindowsPipeWriter(HANDLE pipe, QObject * parent) - : QThread(parent), - writePipe(pipe), - quitNow(false), - hasWritten(false) + +QWindowsPipeWriter::Overlapped::Overlapped(QWindowsPipeWriter *pipeWriter) + : pipeWriter(pipeWriter) +{ +} + +void QWindowsPipeWriter::Overlapped::clear() { + ZeroMemory(this, sizeof(OVERLAPPED)); +} + + +QWindowsPipeWriter::QWindowsPipeWriter(HANDLE pipeWriteEnd, QObject *parent) + : QObject(parent), + handle(pipeWriteEnd), + overlapped(this), + numberOfBytesToWrite(0), + pendingBytesWrittenValue(0), + stopped(true), + writeSequenceStarted(false), + notifiedCalled(false), + bytesWrittenPending(false), + inBytesWritten(false) +{ + connect(this, &QWindowsPipeWriter::_q_queueBytesWritten, + this, &QWindowsPipeWriter::emitPendingBytesWrittenValue, Qt::QueuedConnection); } QWindowsPipeWriter::~QWindowsPipeWriter() { - lock.lock(); - quitNow = true; - waitCondition.wakeOne(); - lock.unlock(); - if (!wait(30000)) - terminate(); + stop(); } bool QWindowsPipeWriter::waitForWrite(int msecs) { - QMutexLocker locker(&lock); - bool hadWritten = hasWritten; - hasWritten = false; - if (hadWritten) + if (!writeSequenceStarted) + return false; + + if (bytesWrittenPending) { + if (!inBytesWritten) + emitPendingBytesWrittenValue(); return true; - if (!waitCondition.wait(&lock, msecs)) + } + + if (!waitForNotification(msecs)) return false; - hadWritten = hasWritten; - hasWritten = false; - return hadWritten; + + if (bytesWrittenPending) { + if (!inBytesWritten) + emitPendingBytesWrittenValue(); + return true; + } + + return false; } -qint64 QWindowsPipeWriter::write(const char *ptr, qint64 maxlen) +qint64 QWindowsPipeWriter::bytesToWrite() const { - if (!isRunning()) - return -1; - - QMutexLocker locker(&lock); - data.append(ptr, maxlen); - waitCondition.wakeOne(); - return maxlen; + return numberOfBytesToWrite; } -class QPipeWriterOverlapped +void QWindowsPipeWriter::emitPendingBytesWrittenValue() { -public: - QPipeWriterOverlapped() - { - overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); + if (bytesWrittenPending) { + bytesWrittenPending = false; + const qint64 bytes = pendingBytesWrittenValue; + pendingBytesWrittenValue = 0; + + inBytesWritten = true; + emit bytesWritten(bytes); + inBytesWritten = false; + emit canWrite(); } +} - ~QPipeWriterOverlapped() - { - CloseHandle(overlapped.hEvent); - } +void QWindowsPipeWriter::writeFileCompleted(DWORD errorCode, DWORD numberOfBytesTransfered, + OVERLAPPED *overlappedBase) +{ + Overlapped *overlapped = static_cast(overlappedBase); + overlapped->pipeWriter->notified(errorCode, numberOfBytesTransfered); +} - void prepare() - { - const HANDLE hEvent = overlapped.hEvent; - ZeroMemory(&overlapped, sizeof overlapped); - overlapped.hEvent = hEvent; +/*! + \internal + Will be called whenever the write operation completes. + */ +void QWindowsPipeWriter::notified(DWORD errorCode, DWORD numberOfBytesWritten) +{ + notifiedCalled = true; + writeSequenceStarted = false; + numberOfBytesToWrite = 0; + + switch (errorCode) { + case ERROR_SUCCESS: + break; + case ERROR_OPERATION_ABORTED: + if (stopped) + break; + // fall through + default: + qErrnoWarning(errorCode, "QWindowsPipeWriter: asynchronous write failed."); + break; } - OVERLAPPED *operator&() - { - return &overlapped; + // After the writer was stopped, the only reason why this function can be called is the + // completion of a cancellation. No signals should be emitted, and no new write sequence should + // be started in this case. + if (stopped) + return; + + pendingBytesWrittenValue += qint64(numberOfBytesWritten); + if (!bytesWrittenPending) { + bytesWrittenPending = true; + emit _q_queueBytesWritten(QWindowsPipeWriter::QPrivateSignal()); } +} -private: - OVERLAPPED overlapped; -}; +bool QWindowsPipeWriter::waitForNotification(int timeout) +{ + QElapsedTimer t; + t.start(); + notifiedCalled = false; + int msecs = timeout; + while (SleepEx(msecs == -1 ? INFINITE : msecs, TRUE) == WAIT_IO_COMPLETION) { + if (notifiedCalled) + return true; + + // Some other I/O completion routine was called. Wait some more. + msecs = qt_subtract_from_timeout(timeout, t.elapsed()); + if (!msecs) + break; + } + return notifiedCalled; +} -void QWindowsPipeWriter::run() +qint64 QWindowsPipeWriter::write(const char *ptr, qint64 maxlen) { - QPipeWriterOverlapped overl; - forever { - lock.lock(); - while(data.isEmpty() && (!quitNow)) { - waitCondition.wakeOne(); - waitCondition.wait(&lock); - } + if (writeSequenceStarted) + return 0; + + overlapped.clear(); + numberOfBytesToWrite = maxlen; + stopped = false; + writeSequenceStarted = true; + if (!WriteFileEx(handle, ptr, maxlen, &overlapped, &writeFileCompleted)) { + writeSequenceStarted = false; + qErrnoWarning("QWindowsPipeWriter::write failed."); + } - if (quitNow) { - lock.unlock(); - quitNow = false; - break; - } + return maxlen; +} - QByteArray copy = data; - - lock.unlock(); - - const char *ptrData = copy.data(); - qint64 maxlen = copy.size(); - qint64 totalWritten = 0; - overl.prepare(); - while ((!quitNow) && totalWritten < maxlen) { - DWORD written = 0; - if (!WriteFile(writePipe, ptrData + totalWritten, - maxlen - totalWritten, &written, &overl)) { - const DWORD writeError = GetLastError(); - if (writeError == 0xE8/*NT_STATUS_INVALID_USER_BUFFER*/) { - // give the os a rest - msleep(100); - continue; - } - if (writeError != ERROR_IO_PENDING) { - qErrnoWarning(writeError, "QWindowsPipeWriter: async WriteFile failed."); - return; - } - if (!GetOverlappedResult(writePipe, &overl, &written, TRUE)) { - qErrnoWarning(GetLastError(), "QWindowsPipeWriter: GetOverlappedResult failed."); - return; - } +void QWindowsPipeWriter::stop() +{ + stopped = true; + if (writeSequenceStarted) { + if (!qt_cancelIo(handle, &overlapped)) { + const DWORD dwError = GetLastError(); + if (dwError != ERROR_NOT_FOUND) { + qErrnoWarning(dwError, "QWindowsPipeWriter: qt_cancelIo on handle %x failed.", + handle); } - totalWritten += written; -#if defined QPIPEWRITER_DEBUG - qDebug("QWindowsPipeWriter::run() wrote %d %d/%d bytes", - written, int(totalWritten), int(maxlen)); -#endif - lock.lock(); - data.remove(0, written); - hasWritten = true; - lock.unlock(); } - emit bytesWritten(totalWritten); - emit canWrite(); + waitForNotification(-1); } } -#endif //QT_NO_THREAD - QT_END_NAMESPACE diff --git a/src/corelib/io/qwindowspipewriter_p.h b/src/corelib/io/qwindowspipewriter_p.h index 78d43e6efe..808d303262 100644 --- a/src/corelib/io/qwindowspipewriter_p.h +++ b/src/corelib/io/qwindowspipewriter_p.h @@ -46,16 +46,11 @@ // #include -#include -#include -#include +#include #include QT_BEGIN_NAMESPACE - -#ifndef QT_NO_THREAD - #define SLEEPMIN 10 #define SLEEPMAX 500 @@ -104,45 +99,50 @@ private: int nextSleep; }; -class Q_CORE_EXPORT QWindowsPipeWriter : public QThread +class Q_CORE_EXPORT QWindowsPipeWriter : public QObject { Q_OBJECT - -Q_SIGNALS: - void canWrite(); - void bytesWritten(qint64 bytes); - public: - explicit QWindowsPipeWriter(HANDLE writePipe, QObject * parent = 0); + explicit QWindowsPipeWriter(HANDLE pipeWriteEnd, QObject *parent = 0); ~QWindowsPipeWriter(); - bool waitForWrite(int msecs); qint64 write(const char *data, qint64 maxlen); + void stop(); + bool waitForWrite(int msecs); + qint64 bytesToWrite() const; - qint64 bytesToWrite() const - { - QMutexLocker locker(&lock); - return data.size(); - } - - bool hadWritten() const - { - return hasWritten; - } - -protected: - void run(); +Q_SIGNALS: + void canWrite(); + void bytesWritten(qint64 bytes); + void _q_queueBytesWritten(QPrivateSignal); private: - QByteArray data; - QWaitCondition waitCondition; - mutable QMutex lock; - HANDLE writePipe; - volatile bool quitNow; - bool hasWritten; -}; + static void CALLBACK writeFileCompleted(DWORD errorCode, DWORD numberOfBytesTransfered, + OVERLAPPED *overlappedBase); + void notified(DWORD errorCode, DWORD numberOfBytesWritten); + bool waitForNotification(int timeout); + void emitPendingBytesWrittenValue(); -#endif //QT_NO_THREAD + class Overlapped : public OVERLAPPED + { + Q_DISABLE_COPY(Overlapped) + public: + explicit Overlapped(QWindowsPipeWriter *pipeWriter); + void clear(); + + QWindowsPipeWriter *pipeWriter; + }; + + HANDLE handle; + Overlapped overlapped; + qint64 numberOfBytesToWrite; + qint64 pendingBytesWrittenValue; + bool stopped; + bool writeSequenceStarted; + bool notifiedCalled; + bool bytesWrittenPending; + bool inBytesWritten; +}; QT_END_NAMESPACE diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp index ae39f78fe8..03ad2b6654 100644 --- a/src/network/socket/qlocalsocket_win.cpp +++ b/src/network/socket/qlocalsocket_win.cpp @@ -214,7 +214,6 @@ qint64 QLocalSocket::writeData(const char *data, qint64 maxSize) d->pipeWriter = new QWindowsPipeWriter(d->handle, this); connect(d->pipeWriter, SIGNAL(canWrite()), this, SLOT(_q_canWrite())); connect(d->pipeWriter, SIGNAL(bytesWritten(qint64)), this, SIGNAL(bytesWritten(qint64))); - d->pipeWriter->start(); } return d->pipeWriter->write(data, maxSize); } -- cgit v1.2.3 From c6bf48dcbfd6b1048cddfd127b95dce27815709f Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 16 Mar 2016 18:06:11 -0700 Subject: QTypeInfoQuery: Add public inheritance specifiers Their absence offends PySide's shiboken. Change-Id: I137d17e280276f7ffadba6d16b7c230a6880cf05 Reviewed-by: Louai Al-Khanji Reviewed-by: Olivier Goffart (Woboq GmbH) Reviewed-by: Alex Blasche --- src/corelib/global/qtypeinfo.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/global/qtypeinfo.h b/src/corelib/global/qtypeinfo.h index b42e5998fc..f5fc311a22 100644 --- a/src/corelib/global/qtypeinfo.h +++ b/src/corelib/global/qtypeinfo.h @@ -111,14 +111,14 @@ public: */ // apply defaults for a generic QTypeInfo that didn't provide the new values template -struct QTypeInfoQuery : QTypeInfo +struct QTypeInfoQuery : public QTypeInfo { enum { isRelocatable = !QTypeInfo::isStatic }; }; // if QTypeInfo::isRelocatable exists, use it template -struct QTypeInfoQuery::isRelocatable || true>::Type> : QTypeInfo +struct QTypeInfoQuery::isRelocatable || true>::Type> : public QTypeInfo {}; /*! -- cgit v1.2.3 From 7c7ece94429d6e12e0543c275d26fd90501193ff Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 24 Feb 2016 17:19:37 -0800 Subject: QMacStyle: Ensure proper focus ring clipping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit By rendering the focus ring directly on the backing NSView, we would ignore the painter's clipping information. It would also require creating a custom CGContext and attached NSGraphicsContext every time. The first step is to render the focus ring on a pixmap and then use the painter to render that pixamp. This ensures the clipping is done properly. The second step is to cache said pixmap and render it as a nine-patch image. Change-Id: I1df1baf7dc490023319f025a16306d4f04e5264c Task-number: QTBUG-50645 Reviewed-by: Morten Johan Sørvig --- src/widgets/styles/qmacstyle_mac.mm | 90 +++++++++++++++++++++++++--------- src/widgets/styles/qmacstyle_mac_p_p.h | 2 + 2 files changed, 70 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm index 4f688f6f28..092cf4d543 100644 --- a/src/widgets/styles/qmacstyle_mac.mm +++ b/src/widgets/styles/qmacstyle_mac.mm @@ -1097,17 +1097,67 @@ static QAquaWidgetSize qt_aqua_guess_size(const QWidget *widg, QSize large, QSiz } #endif -static void qt_drawFocusRingOnPath(CGContextRef cg, NSBezierPath *focusRingPath) +void QMacStylePrivate::drawFocusRing(QPainter *p, const QRect &targetRect, int hMargin, int vMargin, qreal radius) const { - CGContextSaveGState(cg); - [NSGraphicsContext saveGraphicsState]; - [NSGraphicsContext setCurrentContext:[NSGraphicsContext - graphicsContextWithGraphicsPort:(CGContextRef)cg flipped:NO]]; - NSSetFocusRingStyle(NSFocusRingOnly); - [focusRingPath setClip]; // Clear clip path to avoid artifacts when rendering the cursor at zero pos - [focusRingPath fill]; - [NSGraphicsContext restoreGraphicsState]; - CGContextRestoreGState(cg); + qreal pixelRatio = p->device()->devicePixelRatioF(); + static const QString keyFormat = QLatin1String("$qt_focusring%1-%2-%3-%4"); + const QString &key = keyFormat.arg(hMargin).arg(vMargin).arg(radius).arg(pixelRatio); + QPixmap focusRingPixmap; + const qreal size = radius * 2 + 5; + + if (!QPixmapCache::find(key, focusRingPixmap)) { + focusRingPixmap = QPixmap((QSize(size, size) + 2 * QSize(hMargin, vMargin)) * pixelRatio); + focusRingPixmap.fill(Qt::transparent); + focusRingPixmap.setDevicePixelRatio(pixelRatio); + { + QMacAutoReleasePool pool; + NSBezierPath *focusRingPath; + if (radius > 0) + focusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSMakeRect(hMargin, vMargin, size, size) + xRadius:radius + yRadius:radius]; + else + focusRingPath = [NSBezierPath bezierPathWithRect:NSMakeRect(hMargin, vMargin, size, size)]; + [NSGraphicsContext saveGraphicsState]; + QMacCGContext gc(&focusRingPixmap); + [NSGraphicsContext setCurrentContext:[NSGraphicsContext graphicsContextWithGraphicsPort:(CGContextRef)gc + flipped:NO]]; + NSSetFocusRingStyle(NSFocusRingOnly); + [focusRingPath fill]; + [NSGraphicsContext restoreGraphicsState]; + } + QPixmapCache::insert(key, focusRingPixmap); + } + + // Add 2 for the actual ring tickness going inwards + const qreal hCornerSize = 2 + hMargin + radius; + const qreal vCornerSize = 2 + vMargin + radius; + const qreal shCornerSize = hCornerSize * pixelRatio; + const qreal svCornerSize = vCornerSize * pixelRatio; + // top-left corner + p->drawPixmap(QPointF(targetRect.left(), targetRect.top()), focusRingPixmap, + QRectF(0, 0, shCornerSize, svCornerSize)); + // top-right corner + p->drawPixmap(QPointF(targetRect.right() - hCornerSize + 1, targetRect.top()), focusRingPixmap, + QRectF(focusRingPixmap.width() - shCornerSize, 0, shCornerSize, svCornerSize)); + // bottom-left corner + p->drawPixmap(QPointF(targetRect.left(), targetRect.bottom() - vCornerSize + 1), focusRingPixmap, + QRectF(0, focusRingPixmap.height() - svCornerSize, shCornerSize, svCornerSize)); + // bottom-right corner + p->drawPixmap(QPointF(targetRect.right() - hCornerSize + 1, targetRect.bottom() - vCornerSize + 1), focusRingPixmap, + QRect(focusRingPixmap.width() - shCornerSize, focusRingPixmap.height() - svCornerSize, shCornerSize, svCornerSize)); + // top edge + p->drawPixmap(QRectF(targetRect.left() + hCornerSize, targetRect.top(), targetRect.width() - 2 * hCornerSize, vCornerSize), focusRingPixmap, + QRect(shCornerSize, 0, focusRingPixmap.width() - 2 * shCornerSize, svCornerSize)); + // bottom edge + p->drawPixmap(QRectF(targetRect.left() + hCornerSize, targetRect.bottom() - vCornerSize + 1, targetRect.width() - 2 * hCornerSize, vCornerSize), focusRingPixmap, + QRect(shCornerSize, focusRingPixmap.height() - svCornerSize, focusRingPixmap.width() - 2 * shCornerSize, svCornerSize)); + // left edge + p->drawPixmap(QRectF(targetRect.left(), targetRect.top() + vCornerSize, hCornerSize, targetRect.height() - 2 * vCornerSize), focusRingPixmap, + QRect(0, svCornerSize, shCornerSize, focusRingPixmap.width() - 2 * svCornerSize)); + // right edge + p->drawPixmap(QRectF(targetRect.right() - hCornerSize + 1, targetRect.top() + vCornerSize, hCornerSize, targetRect.height() - 2 * vCornerSize), focusRingPixmap, + QRect(focusRingPixmap.width() - shCornerSize, svCornerSize, shCornerSize, focusRingPixmap.width() - 2 * svCornerSize)); } QAquaWidgetSize QMacStylePrivate::aquaSizeConstrain(const QStyleOption *option, const QWidget *widg, @@ -3947,12 +3997,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter } } - NSBezierPath *pushButtonFocusRingPath; - if (bdi.kind == kThemeBevelButton) - pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(focusRect)]; - else - pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(focusRect) xRadius:4 yRadius:4]; - qt_drawFocusRingOnPath(cg, pushButtonFocusRingPath); + const qreal radius = bdi.kind == kThemeBevelButton ? 0 : 4; + const int hMargin = proxy()->pixelMetric(QStyle::PM_FocusFrameHMargin, btn, w); + const int vMargin = proxy()->pixelMetric(QStyle::PM_FocusFrameVMargin, btn, w); + const QRect focusTargetRect(focusRect.origin.x, focusRect.origin.y, focusRect.size.width, focusRect.size.height); + d->drawFocusRing(p, focusTargetRect.adjusted(-hMargin, -vMargin, hMargin, vMargin), hMargin, vMargin, radius); } if (hasMenu && (!usingYosemiteOrLater || bdi.kind == kThemeBevelButton)) { @@ -4391,12 +4440,9 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter } break; case CE_FocusFrame: { - int xOff = proxy()->pixelMetric(PM_FocusFrameHMargin, opt, w); - int yOff = proxy()->pixelMetric(PM_FocusFrameVMargin, opt, w); - NSRect rect = NSMakeRect(xOff+opt->rect.x(), yOff+opt->rect.y(), opt->rect.width() - 2 * xOff, - opt->rect.height() - 2 * yOff); - NSBezierPath *focusFramePath = [NSBezierPath bezierPathWithRect:rect]; - qt_drawFocusRingOnPath(cg, focusFramePath); + const int hMargin = proxy()->pixelMetric(QStyle::PM_FocusFrameHMargin, opt, w); + const int vMargin = proxy()->pixelMetric(QStyle::PM_FocusFrameVMargin, opt, w); + d->drawFocusRing(p, opt->rect, hMargin, vMargin); break; } case CE_MenuItem: case CE_MenuEmptyArea: diff --git a/src/widgets/styles/qmacstyle_mac_p_p.h b/src/widgets/styles/qmacstyle_mac_p_p.h index 33818568ec..b2c76c2d76 100644 --- a/src/widgets/styles/qmacstyle_mac_p_p.h +++ b/src/widgets/styles/qmacstyle_mac_p_p.h @@ -209,6 +209,8 @@ public: void drawNSViewInRect(QCocoaWidget widget, NSView *view, const QRect &rect, QPainter *p, bool isQWidget = true, QCocoaDrawRectBlock drawRectBlock = nil) const; void resolveCurrentNSView(QWindow *window); + void drawFocusRing(QPainter *p, const QRect &targetRect, int hMargin, int vMargin, qreal radius = 0) const; + public: mutable QPointer pressedButton; mutable QPointer defaultButton; -- cgit v1.2.3 From d930c8b5fc4a7578a26868706354522f7448f089 Mon Sep 17 00:00:00 2001 From: Paul Lemire Date: Thu, 17 Mar 2016 12:47:52 +0100 Subject: Make QOpenGLTexture a Q_GADGET Allows to register the enums as Q_ENUM which in turn will allow Qt3D and future other modules to access these enums from QML if QOpenGLTexture is registered as an uncreatable type Task-number: QTBUG-51491 Change-Id: I037a4585cd44c7429b63f06b704f0386df842777 Reviewed-by: Sean Harmer --- src/gui/opengl/qopengltexture.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src') diff --git a/src/gui/opengl/qopengltexture.h b/src/gui/opengl/qopengltexture.h index e4047afadb..8c32fcef26 100644 --- a/src/gui/opengl/qopengltexture.h +++ b/src/gui/opengl/qopengltexture.h @@ -55,6 +55,7 @@ class QOpenGLPixelTransferOptions; class Q_GUI_EXPORT QOpenGLTexture { + Q_GADGET public: enum Target { Target1D = 0x0DE0, // GL_TEXTURE_1D @@ -69,6 +70,7 @@ public: TargetRectangle = 0x84F5, // GL_TEXTURE_RECTANGLE TargetBuffer = 0x8C2A // GL_TEXTURE_BUFFER }; + Q_ENUM(Target) enum BindingTarget { BindingTarget1D = 0x8068, // GL_TEXTURE_BINDING_1D @@ -83,16 +85,19 @@ public: BindingTargetRectangle = 0x84F6, // GL_TEXTURE_BINDING_RECTANGLE BindingTargetBuffer = 0x8C2C // GL_TEXTURE_BINDING_BUFFER }; + Q_ENUM(BindingTarget) enum MipMapGeneration { GenerateMipMaps, DontGenerateMipMaps }; + Q_ENUM(MipMapGeneration) enum TextureUnitReset { ResetTextureUnit, DontResetTextureUnit }; + Q_ENUM(TextureUnitReset) enum TextureFormat { NoFormat = 0, // GL_NONE @@ -222,6 +227,7 @@ public: LuminanceAlphaFormat = 0x190A }; + Q_ENUM(TextureFormat) // This is not used externally yet but is reserved to allow checking of // compatibility between texture formats @@ -256,6 +262,7 @@ public: CubeMapPositiveZ = 0x8519, // GL_TEXTURE_CUBE_MAP_POSITIVE_Z CubeMapNegativeZ = 0x851A // GL_TEXTURE_CUBE_MAP_NEGATIVE_Z }; + Q_ENUM(CubeMapFace) enum PixelFormat { NoSourceFormat = 0, // GL_NONE @@ -278,6 +285,7 @@ public: Luminance = 0x1909, // GL_LUMINANCE LuminanceAlpha = 0x190A // GL_LUMINANCE_ALPHA }; + Q_ENUM(PixelFormat) enum PixelType { NoPixelType = 0, // GL_NONE @@ -307,6 +315,7 @@ public: UInt32_D24S8 = 0x84FA, // GL_UNSIGNED_INT_24_8 Float32_D32_UInt32_S8_X24 = 0x8DAD // GL_FLOAT_32_UNSIGNED_INT_24_8_REV }; + Q_ENUM(PixelType) enum SwizzleComponent { SwizzleRed = 0x8E42, // GL_TEXTURE_SWIZZLE_R @@ -314,6 +323,7 @@ public: SwizzleBlue = 0x8E44, // GL_TEXTURE_SWIZZLE_B SwizzleAlpha = 0x8E45 // GL_TEXTURE_SWIZZLE_A }; + Q_ENUM(SwizzleComponent) enum SwizzleValue { RedValue = 0x1903, // GL_RED @@ -323,6 +333,7 @@ public: ZeroValue = 0, // GL_ZERO OneValue = 1 // GL_ONE }; + Q_ENUM(SwizzleValue) enum WrapMode { Repeat = 0x2901, // GL_REPEAT @@ -330,12 +341,14 @@ public: ClampToEdge = 0x812F, // GL_CLAMP_TO_EDGE ClampToBorder = 0x812D // GL_CLAMP_TO_BORDER }; + Q_ENUM(WrapMode) enum CoordinateDirection { DirectionS = 0x2802, // GL_TEXTURE_WRAP_S DirectionT = 0x2803, // GL_TEXTURE_WRAP_T DirectionR = 0x8072 // GL_TEXTURE_WRAP_R }; + Q_ENUM(CoordinateDirection) // Features enum Feature { @@ -360,6 +373,7 @@ public: #endif }; Q_DECLARE_FLAGS(Features, Feature) + Q_ENUM(Feature) explicit QOpenGLTexture(Target target); explicit QOpenGLTexture(const QImage& image, MipMapGeneration genMipMaps = GenerateMipMaps); @@ -493,6 +507,7 @@ public: DepthMode = 0x1902, // GL_DEPTH_COMPONENT StencilMode = 0x1901 // GL_STENCIL_INDEX }; + Q_ENUM(DepthStencilMode) void setDepthStencilMode(DepthStencilMode mode); DepthStencilMode depthStencilMode() const; @@ -507,6 +522,7 @@ public: CompareAlways = 0x0207, // GL_ALWAYS CompareNever = 0x0200 // GL_NEVER }; + Q_ENUM(ComparisonFunction) void setComparisonFunction(ComparisonFunction function); ComparisonFunction comparisonFunction() const; @@ -528,6 +544,7 @@ public: LinearMipMapNearest = 0x2701, // GL_LINEAR_MIPMAP_NEAREST LinearMipMapLinear = 0x2703 // GL_LINEAR_MIPMAP_LINEAR }; + Q_ENUM(Filter) void setMinificationFilter(Filter filter); Filter minificationFilter() const; -- cgit v1.2.3 From 5655f3413151beb0abaeb847942f7bf29a114d7d Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 18 Mar 2016 10:25:08 +0100 Subject: QWindows(XP)Style: fix build with Clang after includemocs run Clang doesn't like the unused member variable: qwindowsstyle_p.h:100:11: error: private field 'reserved' is not used [-Werror,-Wunused-private-field] Remove. It's private API. Triggered by Clang seeing all methods of the classes in one TU by the following includemocs commit. Change-Id: I84e92d63af573c090ef89c1d8ee19af30f90b171 Reviewed-by: Friedemann Kleint Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/widgets/styles/qwindowsstyle_p.h | 1 - src/widgets/styles/qwindowsxpstyle_p.h | 1 - 2 files changed, 2 deletions(-) (limited to 'src') diff --git a/src/widgets/styles/qwindowsstyle_p.h b/src/widgets/styles/qwindowsstyle_p.h index da36d2af1b..2724222652 100644 --- a/src/widgets/styles/qwindowsstyle_p.h +++ b/src/widgets/styles/qwindowsstyle_p.h @@ -97,7 +97,6 @@ protected: private: Q_DISABLE_COPY(QWindowsStyle) Q_DECLARE_PRIVATE(QWindowsStyle) - void *reserved; }; #endif // QT_NO_STYLE_WINDOWS diff --git a/src/widgets/styles/qwindowsxpstyle_p.h b/src/widgets/styles/qwindowsxpstyle_p.h index 1706a1abe6..4dcb75716e 100644 --- a/src/widgets/styles/qwindowsxpstyle_p.h +++ b/src/widgets/styles/qwindowsxpstyle_p.h @@ -93,7 +93,6 @@ private: Q_DISABLE_COPY(QWindowsXPStyle) Q_DECLARE_PRIVATE(QWindowsXPStyle) friend class QStyleFactory; - void *reserved; }; #endif // QT_NO_STYLE_WINDOWSXP -- cgit v1.2.3 From 55878865db64bd2fa1d7fa158c56fe460ef939eb Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Fri, 18 Mar 2016 10:34:19 +0100 Subject: QToolBarExtension: remove unused member 'orientation' The orientation is implicitly stored by which icon is used. Found by Clang: qtoolbarextension_p.h:57:21: error: private field 'orientation' is not used [-Werror,-Wunused-private-field] Change-Id: I82f8b8009b48d41fd2beb95d6107e505f9d4e835 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/widgets/widgets/qtoolbarextension_p.h | 1 - 1 file changed, 1 deletion(-) (limited to 'src') diff --git a/src/widgets/widgets/qtoolbarextension_p.h b/src/widgets/widgets/qtoolbarextension_p.h index f72dfbd597..cbb4eb5c98 100644 --- a/src/widgets/widgets/qtoolbarextension_p.h +++ b/src/widgets/widgets/qtoolbarextension_p.h @@ -54,7 +54,6 @@ QT_BEGIN_NAMESPACE class Q_AUTOTEST_EXPORT QToolBarExtension : public QToolButton { Q_OBJECT - Qt::Orientation orientation; public: explicit QToolBarExtension(QWidget *parent); -- cgit v1.2.3 From bec47545dc7570bad2af3975ad3b92496ce6d9a3 Mon Sep 17 00:00:00 2001 From: Alex Trotsenko Date: Wed, 17 Feb 2016 17:55:41 +0200 Subject: QAbstractSocket: do not fail writing on read buffer overflow canReadNotification() could return 'false' if either the socket has been closed, or the read buffer has reached the maximum size. Because of this duality, waitForBytesWritten() should not fail as a result of a canReadNotification() call. Change-Id: I9a15fa174a3b982a7ce404913caa38fc19f64622 Reviewed-by: Oswald Buddenhagen Reviewed-by: Markus Goetz (Woboq GmbH) --- src/network/socket/qabstractsocket.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp index c6f5b8864b..802b623375 100644 --- a/src/network/socket/qabstractsocket.cpp +++ b/src/network/socket/qabstractsocket.cpp @@ -2253,8 +2253,10 @@ bool QAbstractSocket::waitForBytesWritten(int msecs) forever { bool readyToRead = false; bool readyToWrite = false; - if (!d->socketEngine->waitForReadOrWrite(&readyToRead, &readyToWrite, true, !d->writeBuffer.isEmpty(), - qt_subtract_from_timeout(msecs, stopWatch.elapsed()))) { + if (!d->socketEngine->waitForReadOrWrite(&readyToRead, &readyToWrite, + !d->readBufferMaxSize || d->buffer.size() < d->readBufferMaxSize, + !d->writeBuffer.isEmpty(), + qt_subtract_from_timeout(msecs, stopWatch.elapsed()))) { #if defined (QABSTRACTSOCKET_DEBUG) qDebug("QAbstractSocket::waitForBytesWritten(%i) failed (%i, %s)", msecs, d->socketEngine->error(), d->socketEngine->errorString().toLatin1().constData()); @@ -2269,8 +2271,7 @@ bool QAbstractSocket::waitForBytesWritten(int msecs) #if defined (QABSTRACTSOCKET_DEBUG) qDebug("QAbstractSocket::waitForBytesWritten calls canReadNotification"); #endif - if(!d->canReadNotification()) - return false; + d->canReadNotification(); } -- cgit v1.2.3 From 8ed76a6e4f5a86c98f12e8669ad664dd1d8ba7bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 16 Mar 2016 16:27:06 +0100 Subject: iOS: Use composeAndFlush() to flush all backing store updates QPlatformBackingStore::composeAndFlush() handles an empty texture list just fine, and results in the same blitting of the backing store image as we're doing today using the OpenGL paint engine, except the compose and flush code path is a lot more optimized. Among other things it clears the render buffer as the first step (as recommended by Apple on iOS), doesn't re-create the backing store texture each pass just because the image has changed, and respects the flushed region for both the texture upload (using glTexSubImage2D) and when blitting the texture. The result is a 10x increase in frames per second when blitting full screen updates. Change-Id: I163fab473751f8201758a5684b18d80bb90d42fb Reviewed-by: Laszlo Agocs --- src/plugins/platforms/ios/qiosbackingstore.mm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/ios/qiosbackingstore.mm b/src/plugins/platforms/ios/qiosbackingstore.mm index 3887596a9b..fb0c9805f9 100644 --- a/src/plugins/platforms/ios/qiosbackingstore.mm +++ b/src/plugins/platforms/ios/qiosbackingstore.mm @@ -149,12 +149,12 @@ void QIOSBackingStore::flush(QWindow *window, const QRegion ®ion, const QPoin } if (window->surfaceType() == QSurface::RasterGLSurface) { - QPainter painter(m_glDevice); - painter.drawImage(QPoint(), m_image); + static QPlatformTextureList emptyTextureList; + composeAndFlush(window, region, offset, &emptyTextureList, m_context, false); + } else { + m_context->makeCurrent(window); + m_context->swapBuffers(window); } - - m_context->makeCurrent(window); - m_context->swapBuffers(window); } void QIOSBackingStore::resize(const QSize &size, const QRegion &staticContents) -- cgit v1.2.3 From e4cea305ed2ba3c9f580bf9d16c59a1048af0e8a Mon Sep 17 00:00:00 2001 From: David Rosca Date: Wed, 16 Mar 2016 08:35:22 +0100 Subject: xcb: Merge _NET_WM_STATE hints instead of overwriting This makes possible to set custom _NET_WM_STATE hints before showing the window. Change-Id: I86ad3863f7a8b3bb610a31b9af4b02c9d38eb111 Task-number: QTBUG-26978 Reviewed-by: Ilya Kotov Reviewed-by: Shawn Rutledge Reviewed-by: Uli Schlachter --- src/plugins/platforms/xcb/qxcbwindow.cpp | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index a0b1ddb434..f4c455f278 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -1091,21 +1091,37 @@ QXcbWindow::NetWmStates QXcbWindow::netWmStates() void QXcbWindow::setNetWmStates(NetWmStates states) { QVector atoms; - if (states & NetWmStateAbove) + + xcb_get_property_cookie_t get_cookie = + xcb_get_property_unchecked(xcb_connection(), 0, m_window, atom(QXcbAtom::_NET_WM_STATE), + XCB_ATOM_ATOM, 0, 1024); + + xcb_get_property_reply_t *reply = + xcb_get_property_reply(xcb_connection(), get_cookie, NULL); + + if (reply && reply->format == 32 && reply->type == XCB_ATOM_ATOM && reply->value_len > 0) { + const xcb_atom_t *data = static_cast(xcb_get_property_value(reply)); + atoms.resize(reply->value_len); + memcpy((void *)&atoms.first(), (void *)data, reply->value_len * sizeof(xcb_atom_t)); + } + + free(reply); + + if (states & NetWmStateAbove && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_ABOVE))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_ABOVE)); - if (states & NetWmStateBelow) + if (states & NetWmStateBelow && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_BELOW))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_BELOW)); - if (states & NetWmStateFullScreen) + if (states & NetWmStateFullScreen && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_FULLSCREEN))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_FULLSCREEN)); - if (states & NetWmStateMaximizedHorz) + if (states & NetWmStateMaximizedHorz && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_MAXIMIZED_HORZ))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_MAXIMIZED_HORZ)); - if (states & NetWmStateMaximizedVert) + if (states & NetWmStateMaximizedVert && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_MAXIMIZED_VERT))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_MAXIMIZED_VERT)); - if (states & NetWmStateModal) + if (states & NetWmStateModal && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_MODAL))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_MODAL)); - if (states & NetWmStateStaysOnTop) + if (states & NetWmStateStaysOnTop && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_STAYS_ON_TOP))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_STAYS_ON_TOP)); - if (states & NetWmStateDemandsAttention) + if (states & NetWmStateDemandsAttention && !atoms.contains(atom(QXcbAtom::_NET_WM_STATE_DEMANDS_ATTENTION))) atoms.push_back(atom(QXcbAtom::_NET_WM_STATE_DEMANDS_ATTENTION)); if (atoms.isEmpty()) { -- cgit v1.2.3 From d1f803af60ce4aec9669aaee775647ff1101cc40 Mon Sep 17 00:00:00 2001 From: Nikita Krupenko Date: Sat, 5 Mar 2016 22:53:47 +0200 Subject: QPlatformTheme: added EditorFont Which is needed by Qt Labs Controls. Task-number: QTBUG-51203 Change-Id: If5f39d59c5c88de37c9b034b784c38b976759439 Reviewed-by: J-P Nurmi --- src/gui/kernel/qplatformtheme.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/gui/kernel/qplatformtheme.h b/src/gui/kernel/qplatformtheme.h index 77e063f889..c4c7482995 100644 --- a/src/gui/kernel/qplatformtheme.h +++ b/src/gui/kernel/qplatformtheme.h @@ -172,6 +172,7 @@ public: FixedFont, GroupBoxTitleFont, TabButtonFont, + EditorFont, NFonts }; -- cgit v1.2.3 From 12c18ae647168e17c317d7309d404bda9ad62197 Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Tue, 27 Oct 2015 02:03:15 +0100 Subject: Add GHS toolchain support Note that while GHS C/C++ is using EDG as a frontend, _BOOL is only defined when using the C++ driver, and not when building third-party C code like libpng and friends. Change-Id: Ife19bd09e4c9f3efea6383c0eede9e0947265ca2 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/corelib/global/qcompilerdetection.h | 50 +++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h index 7575fe06b2..86d027eb35 100644 --- a/src/corelib/global/qcompilerdetection.h +++ b/src/corelib/global/qcompilerdetection.h @@ -318,14 +318,14 @@ and PGI C++ 5.2-4 */ #elif !defined(Q_OS_HPUX) && (defined(__EDG) || defined(__EDG__)) # define Q_CC_EDG -/* From the EDG documentation (does not seem to apply to Compaq C++): +/* From the EDG documentation (does not seem to apply to Compaq C++ or GHS C): _BOOL Defined in C++ mode when bool is a keyword. The name of this predefined macro is specified by a configuration flag. _BOOL is the default. __BOOL_DEFINED Defined in Microsoft C++ mode when bool is a keyword. */ -# if !defined(_BOOL) && !defined(__BOOL_DEFINED) +# if !defined(_BOOL) && !defined(__BOOL_DEFINED) && !defined(__ghs) # error "Compiler not supported" # endif @@ -347,6 +347,52 @@ /* Uses CFront, make sure to read the manual how to tweak templates. */ # elif defined(__ghs) # define Q_CC_GHS +# define Q_DECL_DEPRECATED __attribute__ ((__deprecated__)) +# define Q_FUNC_INFO __PRETTY_FUNCTION__ +# define Q_TYPEOF(expr) __typeof__(expr) +# define Q_ALIGNOF(type) __alignof__(type) +# define Q_UNREACHABLE_IMPL() +# if defined(__cplusplus) +# define Q_COMPILER_AUTO_TYPE +# define Q_COMPILER_STATIC_ASSERT +# define Q_COMPILER_RANGE_FOR +# if __GHS_VERSION_NUMBER >= 201505 +# define Q_COMPILER_ALIGNAS +# define Q_COMPILER_ALIGNOF +# define Q_COMPILER_ATOMICS +# define Q_COMPILER_ATTRIBUTES +# define Q_COMPILER_AUTO_FUNCTION +# define Q_COMPILER_CLASS_ENUM +# define Q_COMPILER_CONSTEXPR +# define Q_COMPILER_DECLTYPE +# define Q_COMPILER_DEFAULT_MEMBERS +# define Q_COMPILER_DELETE_MEMBERS +# define Q_COMPILER_DELEGATING_CONSTRUCTORS +# define Q_COMPILER_EXPLICIT_CONVERSIONS +# define Q_COMPILER_EXPLICIT_OVERRIDES +# define Q_COMPILER_EXTERN_TEMPLATES +# define Q_COMPILER_INHERITING_CONSTRUCTORS +# define Q_COMPILER_INITIALIZER_LISTS +# define Q_COMPILER_LAMBDA +# define Q_COMPILER_NONSTATIC_MEMBER_INIT +# define Q_COMPILER_NOEXCEPT +# define Q_COMPILER_NULLPTR +# define Q_COMPILER_RANGE_FOR +# define Q_COMPILER_RAW_STRINGS +# define Q_COMPILER_REF_QUALIFIERS +# define Q_COMPILER_RVALUE_REFS +# define Q_COMPILER_STATIC_ASSERT +# define Q_COMPILER_TEMPLATE_ALIAS +# define Q_COMPILER_THREAD_LOCAL +# define Q_COMPILER_THREADSAFE_STATICS +# define Q_COMPILER_UDL +# define Q_COMPILER_UNICODE_STRINGS +# define Q_COMPILER_UNIFORM_INIT +# define Q_COMPILER_UNRESTRICTED_UNIONS +# define Q_COMPILER_VARIADIC_MACROS +# define Q_COMPILER_VARIADIC_TEMPLATES +# endif +# endif //__cplusplus # elif defined(__DCC__) # define Q_CC_DIAB -- cgit v1.2.3 From d58596fd61d2e18633fa716c35287678758119d5 Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Tue, 27 Oct 2015 02:26:12 +0100 Subject: Remove inclusion of -lm for INTEGRITY. Math functions are linked in by default on INTEGRITY. Change-Id: I737ae87c02b2321caca3975f69525731e839d1a7 Reviewed-by: Oswald Buddenhagen --- src/corelib/tools/tools.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri index 5cfeff5a4f..e367e6e716 100644 --- a/src/corelib/tools/tools.pri +++ b/src/corelib/tools/tools.pri @@ -204,7 +204,7 @@ contains(QT_CONFIG, doubleconversion) { } # Note: libm should be present by default becaue this is C++ -!macx-icc:!vxworks:!haiku:unix:LIBS_PRIVATE += -lm +unix:!macx-icc:!vxworks:!haiku:!integrity: LIBS_PRIVATE += -lm TR_EXCLUDE += ../3rdparty/* -- cgit v1.2.3 From 0fed37e2cfed18518afb607d4d7e4f243910a55c Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Fri, 18 Mar 2016 15:52:49 +0100 Subject: Add GHS pretty print for compiler version Change-Id: I6376de7c33b73f5efcfc7ffc7ac6ad3a260fc3a4 Reviewed-by: Oswald Buddenhagen --- src/corelib/global/qlibraryinfo.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp index c962f1b4b7..458200180e 100644 --- a/src/corelib/global/qlibraryinfo.cpp +++ b/src/corelib/global/qlibraryinfo.cpp @@ -305,6 +305,8 @@ QLibraryInfo::buildDate() # else # define COMPILER_STRING "Clang " __clang_version__ # endif +#elif defined(Q_CC_GHS) +# define COMPILER_STRING "GHS " QT_STRINGIFY(__GHS_VERSION_NUMBER) #elif defined(Q_CC_GNU) # define COMPILER_STRING "GCC " __VERSION__ #elif defined(Q_CC_MSVC) -- cgit v1.2.3 From 0e6ad275498dc8cc60a7d163bac9ed0add8e48d5 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 16 Mar 2016 00:47:08 +0100 Subject: QtWidgets: includemocs A very simple way to save ~3KiB in test size and 440b in data size on GCC 5.3 Linux AMD64 release builds. Change-Id: I6619148cc497116b9772a00e1bc30d573a2b2534 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/widgets/dialogs/qerrormessage.cpp | 2 ++ src/widgets/dialogs/qfileinfogatherer.cpp | 2 ++ src/widgets/dialogs/qsidebar.cpp | 2 ++ src/widgets/effects/qgraphicseffect.cpp | 3 +++ src/widgets/effects/qpixmapfilter.cpp | 2 ++ src/widgets/graphicsview/qgraphicsanchorlayout.cpp | 3 +++ src/widgets/graphicsview/qgraphicsitemanimation.cpp | 2 ++ src/widgets/graphicsview/qgraphicsscenelinearindex.cpp | 1 + src/widgets/graphicsview/qgraphicswidget.cpp | 2 ++ src/widgets/itemviews/qcolumnviewgrip.cpp | 2 ++ src/widgets/itemviews/qitemeditorfactory.cpp | 2 ++ src/widgets/itemviews/qlistview.cpp | 2 ++ src/widgets/itemviews/qlistwidget.cpp | 1 + src/widgets/itemviews/qtablewidget.cpp | 1 + src/widgets/itemviews/qtreewidget.cpp | 1 + src/widgets/kernel/qboxlayout.cpp | 2 ++ src/widgets/kernel/qdesktopwidget.cpp | 1 + src/widgets/kernel/qformlayout.cpp | 2 ++ src/widgets/kernel/qgridlayout.cpp | 2 ++ src/widgets/kernel/qlayout.cpp | 2 ++ src/widgets/kernel/qopenglwidget.cpp | 2 ++ src/widgets/kernel/qshortcut.cpp | 2 ++ src/widgets/kernel/qsizepolicy.cpp | 2 ++ src/widgets/kernel/qstackedlayout.cpp | 2 ++ src/widgets/kernel/qwidgetbackingstore.cpp | 2 ++ src/widgets/kernel/qwidgetwindow.cpp | 2 ++ src/widgets/kernel/qwindowcontainer.cpp | 2 ++ src/widgets/statemachine/qbasickeyeventtransition.cpp | 2 ++ src/widgets/statemachine/qbasicmouseeventtransition.cpp | 2 ++ src/widgets/statemachine/qkeyeventtransition.cpp | 2 ++ src/widgets/statemachine/qmouseeventtransition.cpp | 2 ++ src/widgets/styles/qfusionstyle.cpp | 2 ++ src/widgets/styles/qgtkstyle_p.cpp | 3 +++ src/widgets/styles/qproxystyle.cpp | 2 ++ src/widgets/styles/qstyle.cpp | 2 ++ src/widgets/styles/qstyleanimation.cpp | 2 ++ src/widgets/styles/qstyleplugin.cpp | 2 ++ src/widgets/styles/qwindowsstyle.cpp | 2 ++ src/widgets/util/qcompleter.cpp | 2 ++ src/widgets/util/qflickgesture.cpp | 2 ++ src/widgets/util/qscroller.cpp | 3 +++ src/widgets/util/qsystemtrayicon.cpp | 1 + src/widgets/util/qundogroup.cpp | 2 ++ src/widgets/util/qundostack.cpp | 3 +++ src/widgets/util/qundoview.cpp | 1 + src/widgets/widgets/qabstractbutton.cpp | 2 ++ src/widgets/widgets/qabstractslider.cpp | 2 ++ src/widgets/widgets/qbuttongroup.cpp | 1 + src/widgets/widgets/qcheckbox.cpp | 2 ++ src/widgets/widgets/qcombobox.cpp | 1 + src/widgets/widgets/qcommandlinkbutton.cpp | 1 + src/widgets/widgets/qdatetimeedit.cpp | 1 + src/widgets/widgets/qdial.cpp | 2 ++ src/widgets/widgets/qdockwidget.cpp | 1 + src/widgets/widgets/qfocusframe.cpp | 2 ++ src/widgets/widgets/qframe.cpp | 2 ++ src/widgets/widgets/qkeysequenceedit.cpp | 2 ++ src/widgets/widgets/qlcdnumber.cpp | 2 ++ src/widgets/widgets/qlineedit_p.cpp | 2 ++ src/widgets/widgets/qmainwindow.cpp | 2 ++ src/widgets/widgets/qmainwindowlayout.cpp | 2 ++ src/widgets/widgets/qprogressbar.cpp | 2 ++ src/widgets/widgets/qradiobutton.cpp | 2 ++ src/widgets/widgets/qrubberband.cpp | 2 ++ src/widgets/widgets/qscrollarea.cpp | 2 ++ src/widgets/widgets/qscrollbar.cpp | 2 ++ src/widgets/widgets/qslider.cpp | 2 ++ src/widgets/widgets/qspinbox.cpp | 2 ++ src/widgets/widgets/qsplashscreen.cpp | 2 ++ src/widgets/widgets/qsplitter.cpp | 2 ++ src/widgets/widgets/qstackedwidget.cpp | 2 ++ src/widgets/widgets/qstatusbar.cpp | 2 ++ src/widgets/widgets/qtabbar.cpp | 2 +- src/widgets/widgets/qtoolbarextension.cpp | 2 ++ src/widgets/widgets/qtoolbarlayout.cpp | 2 ++ src/widgets/widgets/qtoolbarseparator.cpp | 2 ++ src/widgets/widgets/qwidgetanimator.cpp | 2 ++ src/widgets/widgets/qwidgetlinecontrol.cpp | 2 ++ src/widgets/widgets/qwidgetresizehandler.cpp | 2 ++ src/widgets/widgets/widgets.pri | 1 + 80 files changed, 151 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/widgets/dialogs/qerrormessage.cpp b/src/widgets/dialogs/qerrormessage.cpp index 855bae3c9f..efa344d04c 100644 --- a/src/widgets/dialogs/qerrormessage.cpp +++ b/src/widgets/dialogs/qerrormessage.cpp @@ -396,4 +396,6 @@ void QErrorMessagePrivate::retranslateStrings() QT_END_NAMESPACE +#include "moc_qerrormessage.cpp" + #endif // QT_NO_ERRORMESSAGE diff --git a/src/widgets/dialogs/qfileinfogatherer.cpp b/src/widgets/dialogs/qfileinfogatherer.cpp index 92d6b8f3be..be96b4ce68 100644 --- a/src/widgets/dialogs/qfileinfogatherer.cpp +++ b/src/widgets/dialogs/qfileinfogatherer.cpp @@ -339,3 +339,5 @@ void QFileInfoGatherer::fetch(const QFileInfo &fileInfo, QElapsedTimer &base, bo #endif // QT_NO_FILESYSTEMMODEL QT_END_NAMESPACE + +#include "moc_qfileinfogatherer_p.cpp" diff --git a/src/widgets/dialogs/qsidebar.cpp b/src/widgets/dialogs/qsidebar.cpp index 645f418c4e..bb61135cbc 100644 --- a/src/widgets/dialogs/qsidebar.cpp +++ b/src/widgets/dialogs/qsidebar.cpp @@ -509,4 +509,6 @@ bool QSidebar::event(QEvent * event) QT_END_NAMESPACE +#include "moc_qsidebar_p.cpp" + #endif diff --git a/src/widgets/effects/qgraphicseffect.cpp b/src/widgets/effects/qgraphicseffect.cpp index 5a97be3d96..e845a33e0b 100644 --- a/src/widgets/effects/qgraphicseffect.cpp +++ b/src/widgets/effects/qgraphicseffect.cpp @@ -1229,4 +1229,7 @@ void QGraphicsOpacityEffect::draw(QPainter *painter) QT_END_NAMESPACE +#include "moc_qgraphicseffect.cpp" +#include "moc_qgraphicseffect_p.cpp" + #endif //QT_NO_GRAPHICSEFFECT diff --git a/src/widgets/effects/qpixmapfilter.cpp b/src/widgets/effects/qpixmapfilter.cpp index b21726400f..d091502b5d 100644 --- a/src/widgets/effects/qpixmapfilter.cpp +++ b/src/widgets/effects/qpixmapfilter.cpp @@ -1330,4 +1330,6 @@ void QPixmapDropShadowFilter::draw(QPainter *p, QT_END_NAMESPACE +#include "moc_qpixmapfilter_p.cpp" + #endif //QT_NO_GRAPHICSEFFECT diff --git a/src/widgets/graphicsview/qgraphicsanchorlayout.cpp b/src/widgets/graphicsview/qgraphicsanchorlayout.cpp index 3e29d29c14..c11aa92053 100644 --- a/src/widgets/graphicsview/qgraphicsanchorlayout.cpp +++ b/src/widgets/graphicsview/qgraphicsanchorlayout.cpp @@ -523,4 +523,7 @@ QSizeF QGraphicsAnchorLayout::sizeHint(Qt::SizeHint which, const QSizeF &constra } QT_END_NAMESPACE + +#include "moc_qgraphicsanchorlayout.cpp" + #endif //QT_NO_GRAPHICSVIEW diff --git a/src/widgets/graphicsview/qgraphicsitemanimation.cpp b/src/widgets/graphicsview/qgraphicsitemanimation.cpp index 585539de94..ec48beec6c 100644 --- a/src/widgets/graphicsview/qgraphicsitemanimation.cpp +++ b/src/widgets/graphicsview/qgraphicsitemanimation.cpp @@ -588,4 +588,6 @@ void QGraphicsItemAnimation::afterAnimationStep(qreal step) QT_END_NAMESPACE +#include "moc_qgraphicsitemanimation.cpp" + #endif // QT_NO_GRAPHICSVIEW diff --git a/src/widgets/graphicsview/qgraphicsscenelinearindex.cpp b/src/widgets/graphicsview/qgraphicsscenelinearindex.cpp index b0cb2fe374..32bb8d17ac 100644 --- a/src/widgets/graphicsview/qgraphicsscenelinearindex.cpp +++ b/src/widgets/graphicsview/qgraphicsscenelinearindex.cpp @@ -85,3 +85,4 @@ Add the \a item from the index. */ +#include "moc_qgraphicsscenelinearindex_p.cpp" diff --git a/src/widgets/graphicsview/qgraphicswidget.cpp b/src/widgets/graphicsview/qgraphicswidget.cpp index cd651e2897..2700605a71 100644 --- a/src/widgets/graphicsview/qgraphicswidget.cpp +++ b/src/widgets/graphicsview/qgraphicswidget.cpp @@ -2421,4 +2421,6 @@ void QGraphicsWidget::dumpFocusChain() QT_END_NAMESPACE +#include "moc_qgraphicswidget.cpp" + #endif //QT_NO_GRAPHICSVIEW diff --git a/src/widgets/itemviews/qcolumnviewgrip.cpp b/src/widgets/itemviews/qcolumnviewgrip.cpp index a1630a14a2..7810e707e8 100644 --- a/src/widgets/itemviews/qcolumnviewgrip.cpp +++ b/src/widgets/itemviews/qcolumnviewgrip.cpp @@ -183,4 +183,6 @@ originalXLocation(-1) QT_END_NAMESPACE +#include "moc_qcolumnviewgrip_p.cpp" + #endif // QT_NO_QCOLUMNVIEW diff --git a/src/widgets/itemviews/qitemeditorfactory.cpp b/src/widgets/itemviews/qitemeditorfactory.cpp index e966c83fe7..70295d56f5 100644 --- a/src/widgets/itemviews/qitemeditorfactory.cpp +++ b/src/widgets/itemviews/qitemeditorfactory.cpp @@ -606,4 +606,6 @@ QT_END_NAMESPACE #include "qitemeditorfactory.moc" #endif +#include "moc_qitemeditorfactory_p.cpp" + #endif // QT_NO_ITEMVIEWS diff --git a/src/widgets/itemviews/qlistview.cpp b/src/widgets/itemviews/qlistview.cpp index 18ea19c8b9..7cba60cd81 100644 --- a/src/widgets/itemviews/qlistview.cpp +++ b/src/widgets/itemviews/qlistview.cpp @@ -3291,4 +3291,6 @@ QSize QListView::viewportSizeHint() const QT_END_NAMESPACE +#include "moc_qlistview.cpp" + #endif // QT_NO_LISTVIEW diff --git a/src/widgets/itemviews/qlistwidget.cpp b/src/widgets/itemviews/qlistwidget.cpp index d4d22c8bef..eeb50c5741 100644 --- a/src/widgets/itemviews/qlistwidget.cpp +++ b/src/widgets/itemviews/qlistwidget.cpp @@ -1948,5 +1948,6 @@ bool QListWidget::event(QEvent *e) QT_END_NAMESPACE #include "moc_qlistwidget.cpp" +#include "moc_qlistwidget_p.cpp" #endif // QT_NO_LISTWIDGET diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp index cd38f4b282..3ec6923b7f 100644 --- a/src/widgets/itemviews/qtablewidget.cpp +++ b/src/widgets/itemviews/qtablewidget.cpp @@ -2716,5 +2716,6 @@ void QTableWidget::dropEvent(QDropEvent *event) { QT_END_NAMESPACE #include "moc_qtablewidget.cpp" +#include "moc_qtablewidget_p.cpp" #endif // QT_NO_TABLEWIDGET diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp index 676893ebf0..f33dd6af17 100644 --- a/src/widgets/itemviews/qtreewidget.cpp +++ b/src/widgets/itemviews/qtreewidget.cpp @@ -3449,5 +3449,6 @@ bool QTreeWidget::event(QEvent *e) QT_END_NAMESPACE #include "moc_qtreewidget.cpp" +#include "moc_qtreewidget_p.cpp" #endif // QT_NO_TREEWIDGET diff --git a/src/widgets/kernel/qboxlayout.cpp b/src/widgets/kernel/qboxlayout.cpp index 17eb8d98c4..7bde1e4eb2 100644 --- a/src/widgets/kernel/qboxlayout.cpp +++ b/src/widgets/kernel/qboxlayout.cpp @@ -1348,3 +1348,5 @@ QVBoxLayout::~QVBoxLayout() } QT_END_NAMESPACE + +#include "moc_qboxlayout.cpp" diff --git a/src/widgets/kernel/qdesktopwidget.cpp b/src/widgets/kernel/qdesktopwidget.cpp index 2ddd025239..d1b37bc03a 100644 --- a/src/widgets/kernel/qdesktopwidget.cpp +++ b/src/widgets/kernel/qdesktopwidget.cpp @@ -268,3 +268,4 @@ void QDesktopWidget::resizeEvent(QResizeEvent *) QT_END_NAMESPACE #include "moc_qdesktopwidget.cpp" +#include "moc_qdesktopwidget_p.cpp" diff --git a/src/widgets/kernel/qformlayout.cpp b/src/widgets/kernel/qformlayout.cpp index a7f9021c42..124f6b301c 100644 --- a/src/widgets/kernel/qformlayout.cpp +++ b/src/widgets/kernel/qformlayout.cpp @@ -2108,3 +2108,5 @@ void QFormLayout::dump() const #endif QT_END_NAMESPACE + +#include "moc_qformlayout.cpp" diff --git a/src/widgets/kernel/qgridlayout.cpp b/src/widgets/kernel/qgridlayout.cpp index 85898ae86c..eca865ce17 100644 --- a/src/widgets/kernel/qgridlayout.cpp +++ b/src/widgets/kernel/qgridlayout.cpp @@ -1686,3 +1686,5 @@ void QGridLayout::invalidate() } QT_END_NAMESPACE + +#include "moc_qgridlayout.cpp" diff --git a/src/widgets/kernel/qlayout.cpp b/src/widgets/kernel/qlayout.cpp index e74f17b6f7..8631149f3d 100644 --- a/src/widgets/kernel/qlayout.cpp +++ b/src/widgets/kernel/qlayout.cpp @@ -1471,3 +1471,5 @@ QSize QLayout::closestAcceptableSize(const QWidget *widget, const QSize &size) } QT_END_NAMESPACE + +#include "moc_qlayout.cpp" diff --git a/src/widgets/kernel/qopenglwidget.cpp b/src/widgets/kernel/qopenglwidget.cpp index a80db3f60b..e5c5b1dbfd 100644 --- a/src/widgets/kernel/qopenglwidget.cpp +++ b/src/widgets/kernel/qopenglwidget.cpp @@ -1343,3 +1343,5 @@ bool QOpenGLWidget::event(QEvent *e) } QT_END_NAMESPACE + +#include "moc_qopenglwidget.cpp" diff --git a/src/widgets/kernel/qshortcut.cpp b/src/widgets/kernel/qshortcut.cpp index ce728e0330..2e7bc27536 100644 --- a/src/widgets/kernel/qshortcut.cpp +++ b/src/widgets/kernel/qshortcut.cpp @@ -652,3 +652,5 @@ bool QShortcut::event(QEvent *e) #endif // QT_NO_SHORTCUT QT_END_NAMESPACE + +#include "moc_qshortcut.cpp" diff --git a/src/widgets/kernel/qsizepolicy.cpp b/src/widgets/kernel/qsizepolicy.cpp index 3c28f5ccf7..26d1733d26 100644 --- a/src/widgets/kernel/qsizepolicy.cpp +++ b/src/widgets/kernel/qsizepolicy.cpp @@ -506,3 +506,5 @@ QDebug operator<<(QDebug dbg, const QSizePolicy &p) #endif QT_END_NAMESPACE + +#include "moc_qsizepolicy.cpp" diff --git a/src/widgets/kernel/qstackedlayout.cpp b/src/widgets/kernel/qstackedlayout.cpp index 957b6f09b5..029c2bcec2 100644 --- a/src/widgets/kernel/qstackedlayout.cpp +++ b/src/widgets/kernel/qstackedlayout.cpp @@ -590,3 +590,5 @@ void QStackedLayout::setStackingMode(StackingMode stackingMode) } QT_END_NAMESPACE + +#include "moc_qstackedlayout.cpp" diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp index bfa1d69fa8..8269bd13f6 100644 --- a/src/widgets/kernel/qwidgetbackingstore.cpp +++ b/src/widgets/kernel/qwidgetbackingstore.cpp @@ -1625,3 +1625,5 @@ void QWidgetPrivate::repaint_sys(const QRegion &rgn) QT_END_NAMESPACE + +#include "moc_qwidgetbackingstore_p.cpp" diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp index 15c28d0913..01832a4f2b 100644 --- a/src/widgets/kernel/qwidgetwindow.cpp +++ b/src/widgets/kernel/qwidgetwindow.cpp @@ -997,3 +997,5 @@ void QWidgetWindow::updateObjectName() } QT_END_NAMESPACE + +#include "moc_qwidgetwindow_p.cpp" diff --git a/src/widgets/kernel/qwindowcontainer.cpp b/src/widgets/kernel/qwindowcontainer.cpp index e8c4a763ee..ea73bcd2a6 100644 --- a/src/widgets/kernel/qwindowcontainer.cpp +++ b/src/widgets/kernel/qwindowcontainer.cpp @@ -397,3 +397,5 @@ void QWindowContainer::parentWasLowered(QWidget *parent) } QT_END_NAMESPACE + +#include "moc_qwindowcontainer_p.cpp" diff --git a/src/widgets/statemachine/qbasickeyeventtransition.cpp b/src/widgets/statemachine/qbasickeyeventtransition.cpp index b83d4bf7e9..ef094172ab 100644 --- a/src/widgets/statemachine/qbasickeyeventtransition.cpp +++ b/src/widgets/statemachine/qbasickeyeventtransition.cpp @@ -197,4 +197,6 @@ void QBasicKeyEventTransition::onTransition(QEvent *) QT_END_NAMESPACE +#include "moc_qbasickeyeventtransition_p.cpp" + #endif //QT_NO_STATEMACHINE diff --git a/src/widgets/statemachine/qbasicmouseeventtransition.cpp b/src/widgets/statemachine/qbasicmouseeventtransition.cpp index 2a9b0a198c..12faf47b7f 100644 --- a/src/widgets/statemachine/qbasicmouseeventtransition.cpp +++ b/src/widgets/statemachine/qbasicmouseeventtransition.cpp @@ -202,4 +202,6 @@ void QBasicMouseEventTransition::onTransition(QEvent *) QT_END_NAMESPACE +#include "moc_qbasicmouseeventtransition_p.cpp" + #endif //QT_NO_STATEMACHINE diff --git a/src/widgets/statemachine/qkeyeventtransition.cpp b/src/widgets/statemachine/qkeyeventtransition.cpp index 67af85dd27..5b7a60981c 100644 --- a/src/widgets/statemachine/qkeyeventtransition.cpp +++ b/src/widgets/statemachine/qkeyeventtransition.cpp @@ -168,4 +168,6 @@ void QKeyEventTransition::onTransition(QEvent *event) QT_END_NAMESPACE +#include "moc_qkeyeventtransition.cpp" + #endif //QT_NO_STATEMACHINE diff --git a/src/widgets/statemachine/qmouseeventtransition.cpp b/src/widgets/statemachine/qmouseeventtransition.cpp index bf46e4b279..e587bfea2f 100644 --- a/src/widgets/statemachine/qmouseeventtransition.cpp +++ b/src/widgets/statemachine/qmouseeventtransition.cpp @@ -196,4 +196,6 @@ void QMouseEventTransition::onTransition(QEvent *event) QT_END_NAMESPACE +#include "moc_qmouseeventtransition.cpp" + #endif //QT_NO_STATEMACHINE diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index 2fc52e9a32..e4302247f5 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -3739,4 +3739,6 @@ QPixmap QFusionStyle::standardPixmap(StandardPixmap standardPixmap, const QStyle QT_END_NAMESPACE +#include "moc_qfusionstyle_p.cpp" + #endif // QT_NO_STYLE_FUSION || QT_PLUGIN diff --git a/src/widgets/styles/qgtkstyle_p.cpp b/src/widgets/styles/qgtkstyle_p.cpp index 00682c1c0f..a0fd8bf7db 100644 --- a/src/widgets/styles/qgtkstyle_p.cpp +++ b/src/widgets/styles/qgtkstyle_p.cpp @@ -888,4 +888,7 @@ uint qHash(const QHashableLatin1Literal &key) QT_END_NAMESPACE +#include "moc_qgtkstyle_p.cpp" +#include "moc_qgtkstyle_p_p.cpp" + #endif // !defined(QT_NO_STYLE_GTK) diff --git a/src/widgets/styles/qproxystyle.cpp b/src/widgets/styles/qproxystyle.cpp index 61f836b23c..2829d2db79 100644 --- a/src/widgets/styles/qproxystyle.cpp +++ b/src/widgets/styles/qproxystyle.cpp @@ -423,4 +423,6 @@ int QProxyStyle::layoutSpacing(QSizePolicy::ControlType control1, QT_END_NAMESPACE +#include "moc_qproxystyle.cpp" + #endif // QT_NO_STYLE_PROXY diff --git a/src/widgets/styles/qstyle.cpp b/src/widgets/styles/qstyle.cpp index 02c420e55c..4a601ba871 100644 --- a/src/widgets/styles/qstyle.cpp +++ b/src/widgets/styles/qstyle.cpp @@ -2407,3 +2407,5 @@ void QStyle::setProxy(QStyle *style) } QT_END_NAMESPACE + +#include "moc_qstyle.cpp" diff --git a/src/widgets/styles/qstyleanimation.cpp b/src/widgets/styles/qstyleanimation.cpp index 78d0297be2..922a1e5ffb 100644 --- a/src/widgets/styles/qstyleanimation.cpp +++ b/src/widgets/styles/qstyleanimation.cpp @@ -359,4 +359,6 @@ void QScrollbarStyleAnimation::updateCurrentTime(int time) QT_END_NAMESPACE +#include "moc_qstyleanimation_p.cpp" + #endif //QT_NO_ANIMATION diff --git a/src/widgets/styles/qstyleplugin.cpp b/src/widgets/styles/qstyleplugin.cpp index 2be37bd65a..e1b28c1491 100644 --- a/src/widgets/styles/qstyleplugin.cpp +++ b/src/widgets/styles/qstyleplugin.cpp @@ -99,3 +99,5 @@ QStylePlugin::~QStylePlugin() } QT_END_NAMESPACE + +#include "moc_qstyleplugin.cpp" diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index 01b82424c8..5d02bc17ae 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -2397,4 +2397,6 @@ QIcon QWindowsStyle::standardIcon(StandardPixmap standardIcon, const QStyleOptio QT_END_NAMESPACE +#include "moc_qwindowsstyle_p.cpp" + #endif // QT_NO_STYLE_WINDOWS diff --git a/src/widgets/util/qcompleter.cpp b/src/widgets/util/qcompleter.cpp index 4382abaf50..55bb51d0a3 100644 --- a/src/widgets/util/qcompleter.cpp +++ b/src/widgets/util/qcompleter.cpp @@ -1880,4 +1880,6 @@ QT_END_NAMESPACE #include "moc_qcompleter.cpp" +#include "moc_qcompleter_p.cpp" + #endif // QT_NO_COMPLETER diff --git a/src/widgets/util/qflickgesture.cpp b/src/widgets/util/qflickgesture.cpp index c7e0861a0f..64009ca4b4 100644 --- a/src/widgets/util/qflickgesture.cpp +++ b/src/widgets/util/qflickgesture.cpp @@ -704,4 +704,6 @@ void QFlickGestureRecognizer::reset(QGesture *state) QT_END_NAMESPACE +#include "moc_qflickgesture_p.cpp" + #endif // QT_NO_GESTURES diff --git a/src/widgets/util/qscroller.cpp b/src/widgets/util/qscroller.cpp index 38b104f9e9..92a9dd7202 100644 --- a/src/widgets/util/qscroller.cpp +++ b/src/widgets/util/qscroller.cpp @@ -2048,3 +2048,6 @@ qreal QScrollerPrivate::nextSnapPos(qreal p, int dir, Qt::Orientation orientatio */ QT_END_NAMESPACE + +#include "moc_qscroller.cpp" +#include "moc_qscroller_p.cpp" diff --git a/src/widgets/util/qsystemtrayicon.cpp b/src/widgets/util/qsystemtrayicon.cpp index ebb29211a4..5589cda50a 100644 --- a/src/widgets/util/qsystemtrayicon.cpp +++ b/src/widgets/util/qsystemtrayicon.cpp @@ -766,3 +766,4 @@ QT_END_NAMESPACE #endif // QT_NO_SYSTEMTRAYICON #include "moc_qsystemtrayicon.cpp" +#include "moc_qsystemtrayicon_p.cpp" diff --git a/src/widgets/util/qundogroup.cpp b/src/widgets/util/qundogroup.cpp index f4801b7470..91baec1040 100644 --- a/src/widgets/util/qundogroup.cpp +++ b/src/widgets/util/qundogroup.cpp @@ -495,4 +495,6 @@ QAction *QUndoGroup::createRedoAction(QObject *parent, const QString &prefix) co QT_END_NAMESPACE +#include "moc_qundogroup.cpp" + #endif // QT_NO_UNDOGROUP diff --git a/src/widgets/util/qundostack.cpp b/src/widgets/util/qundostack.cpp index 0272870537..5163783b0b 100644 --- a/src/widgets/util/qundostack.cpp +++ b/src/widgets/util/qundostack.cpp @@ -1168,4 +1168,7 @@ bool QUndoStack::isActive() const QT_END_NAMESPACE +#include "moc_qundostack.cpp" +#include "moc_qundostack_p.cpp" + #endif // QT_NO_UNDOSTACK diff --git a/src/widgets/util/qundoview.cpp b/src/widgets/util/qundoview.cpp index cd29b46dc4..1f74ba8204 100644 --- a/src/widgets/util/qundoview.cpp +++ b/src/widgets/util/qundoview.cpp @@ -466,5 +466,6 @@ QIcon QUndoView::cleanIcon() const QT_END_NAMESPACE #include "qundoview.moc" +#include "moc_qundoview.cpp" #endif // QT_NO_UNDOVIEW diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp index a1707b9cab..fe09b0087c 100644 --- a/src/widgets/widgets/qabstractbutton.cpp +++ b/src/widgets/widgets/qabstractbutton.cpp @@ -1413,3 +1413,5 @@ void QAbstractButton::setIconSize(const QSize &size) QT_END_NAMESPACE + +#include "moc_qabstractbutton.cpp" diff --git a/src/widgets/widgets/qabstractslider.cpp b/src/widgets/widgets/qabstractslider.cpp index 8d8c3aa4bc..283cac80da 100644 --- a/src/widgets/widgets/qabstractslider.cpp +++ b/src/widgets/widgets/qabstractslider.cpp @@ -937,3 +937,5 @@ bool QAbstractSlider::event(QEvent *e) } QT_END_NAMESPACE + +#include "moc_qabstractslider.cpp" diff --git a/src/widgets/widgets/qbuttongroup.cpp b/src/widgets/widgets/qbuttongroup.cpp index 73f0b19952..5a8dc5f3ef 100644 --- a/src/widgets/widgets/qbuttongroup.cpp +++ b/src/widgets/widgets/qbuttongroup.cpp @@ -261,3 +261,4 @@ \sa setId() */ +#include "moc_qbuttongroup.cpp" diff --git a/src/widgets/widgets/qcheckbox.cpp b/src/widgets/widgets/qcheckbox.cpp index ef2405c72d..9775f46bd1 100644 --- a/src/widgets/widgets/qcheckbox.cpp +++ b/src/widgets/widgets/qcheckbox.cpp @@ -387,3 +387,5 @@ bool QCheckBox::event(QEvent *e) QT_END_NAMESPACE + +#include "moc_qcheckbox.cpp" diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index ce30ca18c3..2abcd4d3c2 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -3429,5 +3429,6 @@ void QComboBox::setModelColumn(int visibleColumn) QT_END_NAMESPACE #include "moc_qcombobox.cpp" +#include "moc_qcombobox_p.cpp" #endif // QT_NO_COMBOBOX diff --git a/src/widgets/widgets/qcommandlinkbutton.cpp b/src/widgets/widgets/qcommandlinkbutton.cpp index 91a4118c3c..619172d379 100644 --- a/src/widgets/widgets/qcommandlinkbutton.cpp +++ b/src/widgets/widgets/qcommandlinkbutton.cpp @@ -407,3 +407,4 @@ QString QCommandLinkButton::description() const QT_END_NAMESPACE +#include "moc_qcommandlinkbutton.cpp" diff --git a/src/widgets/widgets/qdatetimeedit.cpp b/src/widgets/widgets/qdatetimeedit.cpp index 7ed4564654..8ee32a2a8b 100644 --- a/src/widgets/widgets/qdatetimeedit.cpp +++ b/src/widgets/widgets/qdatetimeedit.cpp @@ -2686,5 +2686,6 @@ void QCalendarPopup::hideEvent(QHideEvent *) QT_END_NAMESPACE #include "moc_qdatetimeedit.cpp" +#include "moc_qdatetimeedit_p.cpp" #endif // QT_NO_DATETIMEEDIT diff --git a/src/widgets/widgets/qdial.cpp b/src/widgets/widgets/qdial.cpp index 3f081e3a83..f6a3d1d96b 100644 --- a/src/widgets/widgets/qdial.cpp +++ b/src/widgets/widgets/qdial.cpp @@ -481,4 +481,6 @@ bool QDial::event(QEvent *e) QT_END_NAMESPACE +#include "moc_qdial.cpp" + #endif // QT_NO_DIAL diff --git a/src/widgets/widgets/qdockwidget.cpp b/src/widgets/widgets/qdockwidget.cpp index da6c3431ff..6e6812aa1e 100644 --- a/src/widgets/widgets/qdockwidget.cpp +++ b/src/widgets/widgets/qdockwidget.cpp @@ -1676,5 +1676,6 @@ QT_END_NAMESPACE #include "qdockwidget.moc" #include "moc_qdockwidget.cpp" +#include "moc_qdockwidget_p.cpp" #endif // QT_NO_DOCKWIDGET diff --git a/src/widgets/widgets/qfocusframe.cpp b/src/widgets/widgets/qfocusframe.cpp index bf8cb30ef7..99322821f4 100644 --- a/src/widgets/widgets/qfocusframe.cpp +++ b/src/widgets/widgets/qfocusframe.cpp @@ -333,3 +333,5 @@ bool QFocusFrame::event(QEvent *e) } QT_END_NAMESPACE + +#include "moc_qfocusframe.cpp" diff --git a/src/widgets/widgets/qframe.cpp b/src/widgets/widgets/qframe.cpp index 755b03a4ca..a2fdfc0c86 100644 --- a/src/widgets/widgets/qframe.cpp +++ b/src/widgets/widgets/qframe.cpp @@ -549,3 +549,5 @@ bool QFrame::event(QEvent *e) } QT_END_NAMESPACE + +#include "moc_qframe.cpp" diff --git a/src/widgets/widgets/qkeysequenceedit.cpp b/src/widgets/widgets/qkeysequenceedit.cpp index 35c7c187b7..2e418d0ea4 100644 --- a/src/widgets/widgets/qkeysequenceedit.cpp +++ b/src/widgets/widgets/qkeysequenceedit.cpp @@ -318,3 +318,5 @@ void QKeySequenceEdit::timerEvent(QTimerEvent *e) #endif // QT_NO_KEYSEQUENCEEDIT QT_END_NAMESPACE + +#include "moc_qkeysequenceedit.cpp" diff --git a/src/widgets/widgets/qlcdnumber.cpp b/src/widgets/widgets/qlcdnumber.cpp index d17e3e2470..17a6b2c941 100644 --- a/src/widgets/widgets/qlcdnumber.cpp +++ b/src/widgets/widgets/qlcdnumber.cpp @@ -1216,4 +1216,6 @@ bool QLCDNumber::event(QEvent *e) QT_END_NAMESPACE +#include "moc_qlcdnumber.cpp" + #endif // QT_NO_LCDNUMBER diff --git a/src/widgets/widgets/qlineedit_p.cpp b/src/widgets/widgets/qlineedit_p.cpp index 599ebce0ab..ff4d0fec47 100644 --- a/src/widgets/widgets/qlineedit_p.cpp +++ b/src/widgets/widgets/qlineedit_p.cpp @@ -520,4 +520,6 @@ void QLineEditPrivate::removeAction(QAction *action) QT_END_NAMESPACE +#include "moc_qlineedit_p.cpp" + #endif diff --git a/src/widgets/widgets/qmainwindow.cpp b/src/widgets/widgets/qmainwindow.cpp index ff4bb3cc98..1698ca1519 100644 --- a/src/widgets/widgets/qmainwindow.cpp +++ b/src/widgets/widgets/qmainwindow.cpp @@ -1746,4 +1746,6 @@ QMenu *QMainWindow::createPopupMenu() QT_END_NAMESPACE +#include "moc_qmainwindow.cpp" + #endif // QT_NO_MAINWINDOW diff --git a/src/widgets/widgets/qmainwindowlayout.cpp b/src/widgets/widgets/qmainwindowlayout.cpp index 1bb8496505..8dc12d853e 100644 --- a/src/widgets/widgets/qmainwindowlayout.cpp +++ b/src/widgets/widgets/qmainwindowlayout.cpp @@ -2590,4 +2590,6 @@ void QMainWindowLayout::timerEvent(QTimerEvent *e) QT_END_NAMESPACE +#include "moc_qmainwindowlayout_p.cpp" + #endif // QT_NO_MAINWINDOW diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp index 5b06e75abe..adb4d0369b 100644 --- a/src/widgets/widgets/qprogressbar.cpp +++ b/src/widgets/widgets/qprogressbar.cpp @@ -623,4 +623,6 @@ QString QProgressBar::format() const QT_END_NAMESPACE +#include "moc_qprogressbar.cpp" + #endif // QT_NO_PROGRESSBAR diff --git a/src/widgets/widgets/qradiobutton.cpp b/src/widgets/widgets/qradiobutton.cpp index 150813da10..a71644bc2c 100644 --- a/src/widgets/widgets/qradiobutton.cpp +++ b/src/widgets/widgets/qradiobutton.cpp @@ -266,3 +266,5 @@ bool QRadioButton::event(QEvent *e) QT_END_NAMESPACE + +#include "moc_qradiobutton.cpp" diff --git a/src/widgets/widgets/qrubberband.cpp b/src/widgets/widgets/qrubberband.cpp index 3315e2703a..60082a8930 100644 --- a/src/widgets/widgets/qrubberband.cpp +++ b/src/widgets/widgets/qrubberband.cpp @@ -327,4 +327,6 @@ bool QRubberBand::event(QEvent *e) QT_END_NAMESPACE +#include "moc_qrubberband.cpp" + #endif // QT_NO_RUBBERBAND diff --git a/src/widgets/widgets/qscrollarea.cpp b/src/widgets/widgets/qscrollarea.cpp index 90605358ee..c1b0db1d88 100644 --- a/src/widgets/widgets/qscrollarea.cpp +++ b/src/widgets/widgets/qscrollarea.cpp @@ -532,4 +532,6 @@ Qt::Alignment QScrollArea::alignment() const QT_END_NAMESPACE +#include "moc_qscrollarea.cpp" + #endif // QT_NO_SCROLLAREA diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp index 46f903fa1e..8ae299cdf4 100644 --- a/src/widgets/widgets/qscrollbar.cpp +++ b/src/widgets/widgets/qscrollbar.cpp @@ -738,4 +738,6 @@ Q_WIDGETS_EXPORT QStyleOptionSlider qt_qscrollbarStyleOption(QScrollBar *scrollb QT_END_NAMESPACE +#include "moc_qscrollbar.cpp" + #endif // QT_NO_SCROLLBAR diff --git a/src/widgets/widgets/qslider.cpp b/src/widgets/widgets/qslider.cpp index dc5ec00650..7f34f8f9e0 100644 --- a/src/widgets/widgets/qslider.cpp +++ b/src/widgets/widgets/qslider.cpp @@ -553,3 +553,5 @@ Q_WIDGETS_EXPORT QStyleOptionSlider qt_qsliderStyleOption(QSlider *slider) #endif QT_END_NAMESPACE + +#include "moc_qslider.cpp" diff --git a/src/widgets/widgets/qspinbox.cpp b/src/widgets/widgets/qspinbox.cpp index 457e2e1e4c..262efc62e2 100644 --- a/src/widgets/widgets/qspinbox.cpp +++ b/src/widgets/widgets/qspinbox.cpp @@ -1322,4 +1322,6 @@ bool QSpinBox::event(QEvent *event) QT_END_NAMESPACE +#include "moc_qspinbox.cpp" + #endif // QT_NO_SPINBOX diff --git a/src/widgets/widgets/qsplashscreen.cpp b/src/widgets/widgets/qsplashscreen.cpp index b8c70f2f0f..9b6671ef6b 100644 --- a/src/widgets/widgets/qsplashscreen.cpp +++ b/src/widgets/widgets/qsplashscreen.cpp @@ -352,4 +352,6 @@ bool QSplashScreen::event(QEvent *e) QT_END_NAMESPACE +#include "moc_qsplashscreen.cpp" + #endif //QT_NO_SPLASHSCREEN diff --git a/src/widgets/widgets/qsplitter.cpp b/src/widgets/widgets/qsplitter.cpp index c2081c15f8..20b6a029cd 100644 --- a/src/widgets/widgets/qsplitter.cpp +++ b/src/widgets/widgets/qsplitter.cpp @@ -1733,4 +1733,6 @@ QTextStream& operator>>(QTextStream& ts, QSplitter& splitter) QT_END_NAMESPACE +#include "moc_qsplitter.cpp" + #endif // QT_NO_SPLITTER diff --git a/src/widgets/widgets/qstackedwidget.cpp b/src/widgets/widgets/qstackedwidget.cpp index 19a2edf0f2..dd9a95c556 100644 --- a/src/widgets/widgets/qstackedwidget.cpp +++ b/src/widgets/widgets/qstackedwidget.cpp @@ -287,4 +287,6 @@ bool QStackedWidget::event(QEvent *e) QT_END_NAMESPACE +#include "moc_qstackedwidget.cpp" + #endif // QT_NO_STACKEDWIDGET diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp index 19361fc793..1adaa6e805 100644 --- a/src/widgets/widgets/qstatusbar.cpp +++ b/src/widgets/widgets/qstatusbar.cpp @@ -783,4 +783,6 @@ bool QStatusBar::event(QEvent *e) QT_END_NAMESPACE +#include "moc_qstatusbar.cpp" + #endif diff --git a/src/widgets/widgets/qtabbar.cpp b/src/widgets/widgets/qtabbar.cpp index 7ea5455bf7..41019a1de6 100644 --- a/src/widgets/widgets/qtabbar.cpp +++ b/src/widgets/widgets/qtabbar.cpp @@ -2497,4 +2497,4 @@ QT_END_NAMESPACE #endif // QT_NO_TABBAR - +#include "moc_qtabbar_p.cpp" diff --git a/src/widgets/widgets/qtoolbarextension.cpp b/src/widgets/widgets/qtoolbarextension.cpp index 687871294a..30306542a6 100644 --- a/src/widgets/widgets/qtoolbarextension.cpp +++ b/src/widgets/widgets/qtoolbarextension.cpp @@ -81,4 +81,6 @@ QSize QToolBarExtension::sizeHint() const QT_END_NAMESPACE +#include "moc_qtoolbarextension_p.cpp" + #endif // QT_NO_TOOLBUTTON diff --git a/src/widgets/widgets/qtoolbarlayout.cpp b/src/widgets/widgets/qtoolbarlayout.cpp index 42fd93fda2..a66bad15a7 100644 --- a/src/widgets/widgets/qtoolbarlayout.cpp +++ b/src/widgets/widgets/qtoolbarlayout.cpp @@ -742,4 +742,6 @@ QToolBarItem *QToolBarLayout::createItem(QAction *action) QT_END_NAMESPACE +#include "moc_qtoolbarlayout_p.cpp" + #endif // QT_NO_TOOLBAR diff --git a/src/widgets/widgets/qtoolbarseparator.cpp b/src/widgets/widgets/qtoolbarseparator.cpp index 48b56dd6be..d9d0d8986a 100644 --- a/src/widgets/widgets/qtoolbarseparator.cpp +++ b/src/widgets/widgets/qtoolbarseparator.cpp @@ -80,4 +80,6 @@ void QToolBarSeparator::paintEvent(QPaintEvent *) QT_END_NAMESPACE +#include "moc_qtoolbarseparator_p.cpp" + #endif // QT_NO_TOOLBAR diff --git a/src/widgets/widgets/qwidgetanimator.cpp b/src/widgets/widgets/qwidgetanimator.cpp index 2bed11289f..a6aadddb98 100644 --- a/src/widgets/widgets/qwidgetanimator.cpp +++ b/src/widgets/widgets/qwidgetanimator.cpp @@ -114,3 +114,5 @@ bool QWidgetAnimator::animating() const } QT_END_NAMESPACE + +#include "moc_qwidgetanimator_p.cpp" diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp index 436937be72..0ff55f7c37 100644 --- a/src/widgets/widgets/qwidgetlinecontrol.cpp +++ b/src/widgets/widgets/qwidgetlinecontrol.cpp @@ -1919,4 +1919,6 @@ bool QWidgetLineControl::isRedoAvailable() const QT_END_NAMESPACE +#include "moc_qwidgetlinecontrol_p.cpp" + #endif diff --git a/src/widgets/widgets/qwidgetresizehandler.cpp b/src/widgets/widgets/qwidgetresizehandler.cpp index 0fee399745..78d3a16bf3 100644 --- a/src/widgets/widgets/qwidgetresizehandler.cpp +++ b/src/widgets/widgets/qwidgetresizehandler.cpp @@ -535,4 +535,6 @@ void QWidgetResizeHandler::doMove() QT_END_NAMESPACE +#include "moc_qwidgetresizehandler_p.cpp" + #endif //QT_NO_RESIZEHANDLER diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index c31a7f7682..9a3fae09a2 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -84,6 +84,7 @@ HEADERS += \ widgets/qplaintextedit_p.h SOURCES += \ + widgets/qbuttongroup.cpp \ widgets/qabstractbutton.cpp \ widgets/qabstractslider.cpp \ widgets/qabstractspinbox.cpp \ -- cgit v1.2.3 From 69335920f724d2d4a49924f373c4fef57c942831 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Thu, 17 Mar 2016 16:24:26 +0100 Subject: Move QButtonGroup implementation from qabstractbutton.cpp to qbuttongroup.cpp Because it's the right thing to do. Needed to introduce qbuttongroup_p.h because QAbstractButton likes to poke around in QButtonGroup's private parts. Fixed includes of qabstractbutton_p.h so it compiles on it's own. Change-Id: Ic7725277d2419754de273b2abd4790476edd0eb4 Reviewed-by: Olivier Goffart (Woboq GmbH) --- src/widgets/widgets/qabstractbutton.cpp | 135 +------------------------------- src/widgets/widgets/qabstractbutton_p.h | 2 + src/widgets/widgets/qbuttongroup.cpp | 128 ++++++++++++++++++++++++++---- src/widgets/widgets/qbuttongroup_p.h | 80 +++++++++++++++++++ src/widgets/widgets/widgets.pri | 1 + 5 files changed, 198 insertions(+), 148 deletions(-) create mode 100644 src/widgets/widgets/qbuttongroup_p.h (limited to 'src') diff --git a/src/widgets/widgets/qabstractbutton.cpp b/src/widgets/widgets/qabstractbutton.cpp index fe09b0087c..2a546ac0cd 100644 --- a/src/widgets/widgets/qabstractbutton.cpp +++ b/src/widgets/widgets/qabstractbutton.cpp @@ -31,7 +31,9 @@ ** ****************************************************************************/ -#include "qabstractbutton.h" +#include "private/qabstractbutton_p.h" + +#include "private/qbuttongroup_p.h" #include "qabstractitemview.h" #include "qbuttongroup.h" #include "qabstractbutton_p.h" @@ -171,137 +173,6 @@ QAbstractButtonPrivate::QAbstractButtonPrivate(QSizePolicy::ControlType type) controlType(type) {} -#ifndef QT_NO_BUTTONGROUP - -class QButtonGroupPrivate: public QObjectPrivate -{ - Q_DECLARE_PUBLIC(QButtonGroup) - -public: - QButtonGroupPrivate():exclusive(true){} - QList buttonList; - QPointer checkedButton; - void detectCheckedButton(); - void notifyChecked(QAbstractButton *button); - bool exclusive; - QHash mapping; -}; - -QButtonGroup::QButtonGroup(QObject *parent) - : QObject(*new QButtonGroupPrivate, parent) -{ -} - -QButtonGroup::~QButtonGroup() -{ - Q_D(QButtonGroup); - for (int i = 0; i < d->buttonList.count(); ++i) - d->buttonList.at(i)->d_func()->group = 0; -} - - -bool QButtonGroup::exclusive() const -{ - Q_D(const QButtonGroup); - return d->exclusive; -} - -void QButtonGroup::setExclusive(bool exclusive) -{ - Q_D(QButtonGroup); - d->exclusive = exclusive; -} - - -void QButtonGroup::addButton(QAbstractButton *button, int id) -{ - Q_D(QButtonGroup); - if (QButtonGroup *previous = button->d_func()->group) - previous->removeButton(button); - button->d_func()->group = this; - d->buttonList.append(button); - if (id == -1) { - const QHash::const_iterator it - = std::min_element(d->mapping.cbegin(), d->mapping.cend()); - if (it == d->mapping.cend()) - d->mapping[button] = -2; - else - d->mapping[button] = *it - 1; - } else { - d->mapping[button] = id; - } - - if (d->exclusive && button->isChecked()) - button->d_func()->notifyChecked(); -} - -void QButtonGroup::removeButton(QAbstractButton *button) -{ - Q_D(QButtonGroup); - if (d->checkedButton == button) { - d->detectCheckedButton(); - } - if (button->d_func()->group == this) { - button->d_func()->group = 0; - d->buttonList.removeAll(button); - d->mapping.remove(button); - } -} - -QList QButtonGroup::buttons() const -{ - Q_D(const QButtonGroup); - return d->buttonList; -} - -QAbstractButton *QButtonGroup::checkedButton() const -{ - Q_D(const QButtonGroup); - return d->checkedButton; -} - -QAbstractButton *QButtonGroup::button(int id) const -{ - Q_D(const QButtonGroup); - return d->mapping.key(id); -} - -void QButtonGroup::setId(QAbstractButton *button, int id) -{ - Q_D(QButtonGroup); - if (button && id != -1) - d->mapping[button] = id; -} - -int QButtonGroup::id(QAbstractButton *button) const -{ - Q_D(const QButtonGroup); - return d->mapping.value(button, -1); -} - -int QButtonGroup::checkedId() const -{ - Q_D(const QButtonGroup); - return d->mapping.value(d->checkedButton, -1); -} - -// detect a checked button other than the current one -void QButtonGroupPrivate::detectCheckedButton() -{ - QAbstractButton *previous = checkedButton; - checkedButton = 0; - if (exclusive) - return; - for (int i = 0; i < buttonList.count(); i++) { - if (buttonList.at(i) != previous && buttonList.at(i)->isChecked()) { - checkedButton = buttonList.at(i); - return; - } - } -} - -#endif // QT_NO_BUTTONGROUP - QListQAbstractButtonPrivate::queryButtonList() const { #ifndef QT_NO_BUTTONGROUP diff --git a/src/widgets/widgets/qabstractbutton_p.h b/src/widgets/widgets/qabstractbutton_p.h index 0975012843..5a35b1b9cd 100644 --- a/src/widgets/widgets/qabstractbutton_p.h +++ b/src/widgets/widgets/qabstractbutton_p.h @@ -45,6 +45,8 @@ // We mean it. // +#include "qabstractbutton.h" + #include "QtCore/qbasictimer.h" #include "private/qwidget_p.h" diff --git a/src/widgets/widgets/qbuttongroup.cpp b/src/widgets/widgets/qbuttongroup.cpp index 5a8dc5f3ef..e33f19297c 100644 --- a/src/widgets/widgets/qbuttongroup.cpp +++ b/src/widgets/widgets/qbuttongroup.cpp @@ -31,7 +31,28 @@ ** ****************************************************************************/ +#include "private/qbuttongroup_p.h" +#ifndef QT_NO_BUTTONGROUP + +#include "private/qabstractbutton_p.h" + +QT_BEGIN_NAMESPACE + +// detect a checked button other than the current one +void QButtonGroupPrivate::detectCheckedButton() +{ + QAbstractButton *previous = checkedButton; + checkedButton = 0; + if (exclusive) + return; + for (int i = 0; i < buttonList.count(); i++) { + if (buttonList.at(i) != previous && buttonList.at(i)->isChecked()) { + checkedButton = buttonList.at(i); + return; + } + } +} /*! \class QButtonGroup @@ -78,18 +99,24 @@ */ /*! - \fn QButtonGroup::QButtonGroup(QObject *parent) - Constructs a new, empty button group with the given \a parent. \sa addButton(), setExclusive() */ +QButtonGroup::QButtonGroup(QObject *parent) + : QObject(*new QButtonGroupPrivate, parent) +{ +} /*! - \fn QButtonGroup::~QButtonGroup() - Destroys the button group. */ +QButtonGroup::~QButtonGroup() +{ + Q_D(QButtonGroup); + for (int i = 0; i < d->buttonList.count(); ++i) + d->buttonList.at(i)->d_func()->group = 0; +} /*! \property QButtonGroup::exclusive @@ -105,6 +132,19 @@ By default, this property is \c true. */ +bool QButtonGroup::exclusive() const +{ + Q_D(const QButtonGroup); + return d->exclusive; +} + +void QButtonGroup::setExclusive(bool exclusive) +{ + Q_D(QButtonGroup); + d->exclusive = exclusive; +} + + /*! \fn void QButtonGroup::buttonClicked(QAbstractButton *button) @@ -187,8 +227,6 @@ /*! - \fn void QButtonGroup::addButton(QAbstractButton *button, int id = -1); - Adds the given \a button to the button group. If \a id is -1, an id will be assigned to the button. Automatically assigned ids are guaranteed to be negative, @@ -197,42 +235,82 @@ \sa removeButton(), buttons() */ +void QButtonGroup::addButton(QAbstractButton *button, int id) +{ + Q_D(QButtonGroup); + if (QButtonGroup *previous = button->d_func()->group) + previous->removeButton(button); + button->d_func()->group = this; + d->buttonList.append(button); + if (id == -1) { + const QHash::const_iterator it + = std::min_element(d->mapping.cbegin(), d->mapping.cend()); + if (it == d->mapping.cend()) + d->mapping[button] = -2; + else + d->mapping[button] = *it - 1; + } else { + d->mapping[button] = id; + } + + if (d->exclusive && button->isChecked()) + button->d_func()->notifyChecked(); +} /*! - \fn void QButtonGroup::removeButton(QAbstractButton *button); - Removes the given \a button from the button group. \sa addButton(), buttons() */ +void QButtonGroup::removeButton(QAbstractButton *button) +{ + Q_D(QButtonGroup); + if (d->checkedButton == button) { + d->detectCheckedButton(); + } + if (button->d_func()->group == this) { + button->d_func()->group = 0; + d->buttonList.removeAll(button); + d->mapping.remove(button); + } +} /*! - \fn QList QButtonGroup::buttons() const - Returns the button group's list of buttons. This may be empty. \sa addButton(), removeButton() */ +QList QButtonGroup::buttons() const +{ + Q_D(const QButtonGroup); + return d->buttonList; +} /*! - \fn QAbstractButton *QButtonGroup::checkedButton() const; - Returns the button group's checked button, or 0 if no buttons are checked. \sa buttonClicked() */ +QAbstractButton *QButtonGroup::checkedButton() const +{ + Q_D(const QButtonGroup); + return d->checkedButton; +} /*! - \fn QAbstractButton *QButtonGroup::button(int id) const; \since 4.1 Returns the button with the specified \a id, or 0 if no such button exists. */ +QAbstractButton *QButtonGroup::button(int id) const +{ + Q_D(const QButtonGroup); + return d->mapping.key(id); +} /*! - \fn void QButtonGroup::setId(QAbstractButton *button, int id) \since 4.1 Sets the \a id for the specified \a button. Note that \a id cannot @@ -240,9 +318,14 @@ \sa id() */ +void QButtonGroup::setId(QAbstractButton *button, int id) +{ + Q_D(QButtonGroup); + if (button && id != -1) + d->mapping[button] = id; +} /*! - \fn int QButtonGroup::id(QAbstractButton *button) const; \since 4.1 Returns the id for the specified \a button, or -1 if no such button @@ -251,14 +334,27 @@ \sa setId() */ +int QButtonGroup::id(QAbstractButton *button) const +{ + Q_D(const QButtonGroup); + return d->mapping.value(button, -1); +} /*! - \fn int QButtonGroup::checkedId() const; \since 4.1 Returns the id of the checkedButton(), or -1 if no button is checked. \sa setId() */ +int QButtonGroup::checkedId() const +{ + Q_D(const QButtonGroup); + return d->mapping.value(d->checkedButton, -1); +} + +QT_END_NAMESPACE #include "moc_qbuttongroup.cpp" + +#endif // QT_NO_BUTTONGROUP diff --git a/src/widgets/widgets/qbuttongroup_p.h b/src/widgets/widgets/qbuttongroup_p.h new file mode 100644 index 0000000000..01c0367876 --- /dev/null +++ b/src/widgets/widgets/qbuttongroup_p.h @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the QtWidgets module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QBUTTONGROUP_P_H +#define QBUTTONGROUP_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include + +#ifndef QT_NO_BUTTONGROUP + +#include + +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class QButtonGroupPrivate: public QObjectPrivate +{ + Q_DECLARE_PUBLIC(QButtonGroup) + +public: + QButtonGroupPrivate() : exclusive(true) {} + + QList buttonList; + QPointer checkedButton; + void detectCheckedButton(); + void notifyChecked(QAbstractButton *button); + + bool exclusive; + QHash mapping; +}; + +QT_END_NAMESPACE + +#endif // QT_NO_BUTTONGROUP + +#endif // QBUTTONGROUP_P_H diff --git a/src/widgets/widgets/widgets.pri b/src/widgets/widgets/widgets.pri index 9a3fae09a2..784055ed62 100644 --- a/src/widgets/widgets/widgets.pri +++ b/src/widgets/widgets/widgets.pri @@ -2,6 +2,7 @@ HEADERS += \ widgets/qbuttongroup.h \ + widgets/qbuttongroup_p.h \ widgets/qabstractbutton.h \ widgets/qabstractbutton_p.h \ widgets/qabstractslider.h \ -- cgit v1.2.3 From a1d4e4c97efaa14d58cc2c01ceceb396ebd6d18c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 16 Mar 2016 08:39:12 +0100 Subject: QtWidgets: Change QTLWExtra::window from QWidgetWindow to QWindow. None of QWidgetWindow's API is used in the code. Task-number: QTBUG-33079 Change-Id: Iecb1e174645eff687ee0d8b29417c30a2c508311 Reviewed-by: Marc Mutz --- src/widgets/kernel/qwidget_p.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') diff --git a/src/widgets/kernel/qwidget_p.h b/src/widgets/kernel/qwidget_p.h index 7eb8d048b3..a5c7aa5815 100644 --- a/src/widgets/kernel/qwidget_p.h +++ b/src/widgets/kernel/qwidget_p.h @@ -68,7 +68,6 @@ QT_BEGIN_NAMESPACE // Extra QWidget data // - to minimize memory usage for members that are seldom used. // - top-level widgets have extra extra data to reduce cost further -class QWidgetWindow; class QPaintEngine; class QPixmap; class QWidgetBackingStore; @@ -154,7 +153,7 @@ struct QTLWExtra { QWidgetBackingStoreTracker backingStoreTracker; QBackingStore *backingStore; QPainter *sharedPainter; - QWidgetWindow *window; + QWindow *window; QOpenGLContext *shareContext; // Implicit pointers (shared_null). -- cgit v1.2.3 From 6ec89bec0a2f06365dc18bda6e95b6c253c19227 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 23 Feb 2016 01:13:47 +0100 Subject: Fix QFINDTESTDATA when using cmake ninja generator The Qt CI does not have ninja, but the autotest can be used for manual regression finding. cd qtbase/tests/auto/cmake qmake make check cd build cmake . -DHAVE_NINJA=ON ctest -R FINDTESTDATA Change-Id: Ic3f3748f6ab04e37fa5287c59486e5cd46dcabb4 Reviewed-by: Stephen Kelly --- src/testlib/Qt5TestConfigExtras.cmake.in | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/testlib/Qt5TestConfigExtras.cmake.in (limited to 'src') diff --git a/src/testlib/Qt5TestConfigExtras.cmake.in b/src/testlib/Qt5TestConfigExtras.cmake.in new file mode 100644 index 0000000000..2a575958ae --- /dev/null +++ b/src/testlib/Qt5TestConfigExtras.cmake.in @@ -0,0 +1,5 @@ + +set_property(TARGET Qt5::Test + APPEND PROPERTY + INTERFACE_COMPILE_DEFINITIONS QT_TESTCASE_BUILDDIR=\\\"\${CMAKE_BINARY_DIR}\\\" +) -- cgit v1.2.3 From 2e02de165115c9d67ac343ff0960ed80f9c09bc8 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 15 Mar 2016 11:00:20 -0700 Subject: Fix QtDBus deadlock inside kded/kiod MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Whenever a message spy was installed, we failed to actually process looped-back messages by queueing them for processing by the spy. That had as a consequence that the caller got an error reply. Worse, since the message had been queued, QtDBus would attempt to deliver it later. Since that message had isLocal==true, bad things happened inside the manager thread. The correct solution is not to queue the message for the filter. If the message is local, then simply deliver directly, as we're still in the user's thread. This used to be the behavior in Qt 5.5. Task-number: QTBUG-51676 Change-Id: I1dc112894cde7121e8ce302ae51b438ade1ff612 Reviewed-by: David Faure Reviewed-by: Dmitry Shachnev Reviewed-by: Jan Kundrát --- src/dbus/qdbusintegrator.cpp | 42 ++++++++++++++++++++++++++++++++---------- src/dbus/qdbusintegrator_p.h | 1 + 2 files changed, 33 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index cd448613d6..478a2c4a05 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -480,6 +480,11 @@ QDBusSpyCallEvent::~QDBusSpyCallEvent() } void QDBusSpyCallEvent::placeMetaCall(QObject *) +{ + invokeSpyHooks(msg, hooks, hookCount); +} + +inline void QDBusSpyCallEvent::invokeSpyHooks(const QDBusMessage &msg, const Hook *hooks, int hookCount) { // call the spy hook list for (int i = 0; i < hookCount; ++i) @@ -509,7 +514,12 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg) { if (!ref.load()) return false; - if (!dispatchEnabled && !QDBusMessagePrivate::isLocal(amsg)) { + + // local message are always delivered, regardless of filtering + // or whether the dispatcher is enabled + bool isLocal = QDBusMessagePrivate::isLocal(amsg); + + if (!dispatchEnabled && !isLocal) { // queue messages only, we'll handle them later qDBusDebug() << this << "delivery is suspended"; pendingMessages << amsg; @@ -523,13 +533,23 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg) // let them see the signal too return false; case QDBusMessage::MethodCallMessage: - // run it through the spy filters (if any) before the regular processing + // run it through the spy filters (if any) before the regular processing: + // a) if it's a local message, we're in the caller's thread, so invoke the filter directly + // b) if it's an external message, post to the main thread if (Q_UNLIKELY(qDBusSpyHookList.exists()) && qApp) { const QDBusSpyHookList &list = *qDBusSpyHookList; - qDBusDebug() << this << "invoking message spies"; - QCoreApplication::postEvent(qApp, new QDBusSpyCallEvent(this, QDBusConnection(this), - amsg, list.constData(), list.size())); - return true; + if (isLocal) { + Q_ASSERT(QThread::currentThread() != thread()); + qDBusDebug() << this << "invoking message spies directly"; + QDBusSpyCallEvent::invokeSpyHooks(amsg, list.constData(), list.size()); + } else { + qDBusDebug() << this << "invoking message spies via event"; + QCoreApplication::postEvent(qApp, new QDBusSpyCallEvent(this, QDBusConnection(this), + amsg, list.constData(), list.size())); + + // we'll be called back, so return + return true; + } } handleObjectCall(amsg); @@ -1451,9 +1471,9 @@ void QDBusConnectionPrivate::handleObjectCall(const QDBusMessage &msg) // that means the dispatchLock mutex is locked // must not call out to user code in that case // - // however, if the message is internal, handleMessage was called - // directly and no lock is in place. We can therefore call out to - // user code, if necessary + // however, if the message is internal, handleMessage was called directly + // (user's thread) and no lock is in place. We can therefore call out to + // user code, if necessary. ObjectTreeNode result; int usedLength; QThread *objThread = 0; @@ -1492,12 +1512,14 @@ void QDBusConnectionPrivate::handleObjectCall(const QDBusMessage &msg) usedLength, msg)); return; } else if (objThread != QThread::currentThread()) { - // synchronize with other thread + // looped-back message, targeting another thread: + // synchronize with it postEventToThread(HandleObjectCallPostEventAction, result.obj, new QDBusActivateObjectEvent(QDBusConnection(this), this, result, usedLength, msg, &sem)); semWait = true; } else { + // looped-back message, targeting current thread semWait = false; } } // release the lock diff --git a/src/dbus/qdbusintegrator_p.h b/src/dbus/qdbusintegrator_p.h index 2bbebdf708..c0d9c22af0 100644 --- a/src/dbus/qdbusintegrator_p.h +++ b/src/dbus/qdbusintegrator_p.h @@ -145,6 +145,7 @@ public: {} ~QDBusSpyCallEvent(); void placeMetaCall(QObject *) Q_DECL_OVERRIDE; + static inline void invokeSpyHooks(const QDBusMessage &msg, const Hook *hooks, int hookCount); QDBusConnection conn; // keeps the refcount in QDBusConnectionPrivate up QDBusMessage msg; -- cgit v1.2.3 From 96740193e1e0f0608f67660811a44b696924ad4c Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Tue, 8 Mar 2016 14:37:55 -0800 Subject: QWheelEvent: Make NoScrollPhase public This reverts d5fde514106f5479f9c929c8a165aced4a1b2c84 and makes that enum value the default for QWheelEvent::phase() with non phase-aware mice. [ChangeLog][QtGui] QWheelEvent::phase() returns NoScrollPhase with non phase-aware mice. This is most mice and input devices except, for now, Apple's trackpads and Magic Mouse. Change-Id: I929fb39889cf116e89dcd134c1b1ec6587b8f05e Reviewed-by: Shawn Rutledge --- src/corelib/global/qnamespace.h | 2 +- src/corelib/global/qnamespace.qdoc | 3 ++- src/gui/kernel/qevent.cpp | 9 +-------- src/gui/kernel/qguiapplication.cpp | 5 ----- src/gui/kernel/qguiapplication_p.h | 3 --- src/gui/kernel/qwindowsysteminterface.cpp | 7 +------ src/plugins/platforms/cocoa/qnsview.mm | 2 -- src/widgets/kernel/qapplication.cpp | 2 +- 8 files changed, 6 insertions(+), 27 deletions(-) (limited to 'src') diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 3cd3f52cff..1a3536d45b 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -1635,7 +1635,7 @@ public: }; enum ScrollPhase { - NoScrollPhase = 0, // Make public in 5.7 or asap + NoScrollPhase = 0, ScrollBegin, ScrollUpdate, ScrollEnd diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index aa3fc63833..bc0e118a6f 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -3089,7 +3089,8 @@ This enum describes the phase of scrolling. - \omitvalue NoScrollPhase The input device doesn't support scroll phase. + \value NoScrollPhase The input device doesn't support scroll phase. + This value was introduced in Qt 5.7. \value ScrollBegin Scrolling is about to begin, but the scrolling distance did not yet change. diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index d8b1367833..78a4dc4f35 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -761,8 +761,6 @@ QWheelEvent::QWheelEvent(const QPointF &pos, int delta, : QInputEvent(Wheel, modifiers), p(pos), qt4D(delta), qt4O(orient), mouseState(buttons), ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized), invertedScrolling(false) { - if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) - ph = Qt::ScrollUpdate; g = QCursor::pos(); if (orient == Qt::Vertical) angleD = QPoint(0, delta); @@ -798,8 +796,6 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, int delta : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), qt4D(delta), qt4O(orient), mouseState(buttons), ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized), invertedScrolling(false) { - if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) - ph = Qt::ScrollUpdate; if (orient == Qt::Vertical) angleD = QPoint(0, delta); else @@ -836,10 +832,7 @@ QWheelEvent::QWheelEvent(const QPointF &pos, const QPointF& globalPos, : QInputEvent(Wheel, modifiers), p(pos), g(globalPos), pixelD(pixelDelta), angleD(angleDelta), qt4D(qt4Delta), qt4O(qt4Orientation), mouseState(buttons), ph(Qt::NoScrollPhase), src(Qt::MouseEventNotSynthesized), invertedScrolling(false) -{ - if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) - ph = Qt::ScrollUpdate; -} +{} /*! Constructs a wheel event object. diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index a79a602088..31b30c6e5a 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -199,9 +199,6 @@ bool QGuiApplicationPrivate::obey_desktop_settings = true; QInputDeviceManager *QGuiApplicationPrivate::m_inputDeviceManager = 0; -// enable the fix for QTBUG-50199; TODO remove this check in 5.7 -bool QGuiApplicationPrivate::scrollNoPhaseAllowed = false; - static qreal fontSmoothingGamma = 1.7; extern void qRegisterGuiVariant(); @@ -1458,8 +1455,6 @@ void QGuiApplicationPrivate::init() if (layout_direction == Qt::LayoutDirectionAuto || force_reverse) QGuiApplication::setLayoutDirection(qt_detectRTLLanguage() ? Qt::RightToLeft : Qt::LeftToRight); - - scrollNoPhaseAllowed = qEnvironmentVariableIsSet("QT_ENABLE_MOUSE_WHEEL_TRACKING"); } extern void qt_cleanupFontDatabase(); diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index 830d716ed8..a028441a2f 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -302,9 +302,6 @@ public: static void setApplicationState(Qt::ApplicationState state, bool forcePropagate = false); - // enable the fix for QTBUG-50199; TODO remove this check in 5.7 - static bool scrollNoPhaseAllowed; - protected: virtual void notifyThemeChanged(); bool tryCloseRemainingWindows(QWindowList processedWindows); diff --git a/src/gui/kernel/qwindowsysteminterface.cpp b/src/gui/kernel/qwindowsysteminterface.cpp index 01e27d72d4..5b91f1bc7e 100644 --- a/src/gui/kernel/qwindowsysteminterface.cpp +++ b/src/gui/kernel/qwindowsysteminterface.cpp @@ -318,9 +318,6 @@ void QWindowSystemInterface::handleWheelEvent(QWindow *w, const QPointF & local, void QWindowSystemInterface::handleWheelEvent(QWindow *tlw, ulong timestamp, const QPointF & local, const QPointF & global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods, Qt::ScrollPhase phase, Qt::MouseEventSource source, bool invertedScrolling) { - if (!QGuiApplicationPrivate::scrollNoPhaseAllowed && phase == Qt::NoScrollPhase) - phase = Qt::ScrollUpdate; - // Qt 4 sends two separate wheel events for horizontal and vertical // deltas. For Qt 5 we want to send the deltas in one event, but at the // same time preserve source and behavior compatibility with Qt 4. @@ -944,9 +941,7 @@ bool QWindowSystemEventHandler::sendEvent(QWindowSystemInterfacePrivate::WindowS QWindowSystemInterfacePrivate::WheelEvent::WheelEvent(QWindow *w, ulong time, const QPointF &local, const QPointF &global, QPoint pixelD, QPoint angleD, int qt4D, Qt::Orientation qt4O, Qt::KeyboardModifiers mods, Qt::ScrollPhase phase, Qt::MouseEventSource src, bool inverted) : InputEvent(w, time, Wheel, mods), pixelDelta(pixelD), angleDelta(angleD), qt4Delta(qt4D), - qt4Orientation(qt4O), localPos(local), globalPos(global), - phase(!QGuiApplicationPrivate::scrollNoPhaseAllowed && phase == Qt::NoScrollPhase ? Qt::ScrollUpdate : phase), - source(src), inverted(inverted) + qt4Orientation(qt4O), localPos(local), globalPos(global), phase(phase), source(src), inverted(inverted) { } diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 632bda29e2..169844fcbc 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -1414,8 +1414,6 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent) m_scrolling = false; } else if (phase == NSEventPhaseNone && momentumPhase == NSEventPhaseNone) { ph = Qt::NoScrollPhase; - if (!QGuiApplicationPrivate::scrollNoPhaseAllowed) - ph = Qt::ScrollUpdate; } // "isInverted": natural OS X scrolling, inverted from the Qt/other platform/Jens perspective. bool isInverted = [theEvent isDirectionInvertedFromDevice]; diff --git a/src/widgets/kernel/qapplication.cpp b/src/widgets/kernel/qapplication.cpp index 5d934fe8ec..2e68c7888f 100644 --- a/src/widgets/kernel/qapplication.cpp +++ b/src/widgets/kernel/qapplication.cpp @@ -3370,7 +3370,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e) // A new scrolling sequence or partial sequence starts and w has accepted // the event. Therefore, we can set wheel_widget, but only if it's not // the end of a sequence. - if (spontaneous && (phase == Qt::ScrollBegin || phase == Qt::ScrollUpdate) && QGuiApplicationPrivate::scrollNoPhaseAllowed) + if (spontaneous && (phase == Qt::ScrollBegin || phase == Qt::ScrollUpdate)) QApplicationPrivate::wheel_widget = w; break; } -- cgit v1.2.3 From 686e37b1b7c40d0e864ab47165be3a0d4faa9a68 Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Tue, 27 Oct 2015 02:28:09 +0100 Subject: Remove dynamically-loaded use of DNS lookup feature for INTEGRITY. Static libnet is enough for DNS resolution. This commit specializes the removal of dynamic DNS library load, but this should probably also be done when using a static build. Change-Id: I597bdd528649849844a0ee46d0706f22d6f595d4 Reviewed-by: Oswald Buddenhagen --- src/network/kernel/kernel.pri | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/network/kernel/kernel.pri b/src/network/kernel/kernel.pri index 841a71643a..811d8b6f0d 100644 --- a/src/network/kernel/kernel.pri +++ b/src/network/kernel/kernel.pri @@ -26,7 +26,10 @@ SOURCES += kernel/qauthenticator.cpp \ kernel/qnetworkproxy.cpp \ kernel/qnetworkinterface.cpp -unix:SOURCES += kernel/qdnslookup_unix.cpp kernel/qhostinfo_unix.cpp kernel/qnetworkinterface_unix.cpp +unix { + !integrity: SOURCES += kernel/qdnslookup_unix.cpp + SOURCES += kernel/qhostinfo_unix.cpp kernel/qnetworkinterface_unix.cpp +} android { SOURCES -= kernel/qdnslookup_unix.cpp @@ -47,7 +50,6 @@ win32: { kernel/qnetworkinterface_winrt.cpp } } -integrity:SOURCES += kernel/qdnslookup_unix.cpp kernel/qhostinfo_unix.cpp kernel/qnetworkinterface_unix.cpp mac { LIBS_PRIVATE += -framework SystemConfiguration -framework CoreFoundation -- cgit v1.2.3 From 3ee01f74031d9e1d0aad0bdf699e0a4ff5e288ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Thu, 23 Apr 2015 15:00:05 +0200 Subject: Cocoa: Move window logging to qt.qpa.cocoa.window MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove QT_COCOCA_ENABLE_WINDOW_DEBUG. Replace/Add logging for window state changes and drawing. The window identifier is now the QWindow (not the platform window) everywhere since this object provides more debug output. Change-Id: I4ae56626015241279ab1b44d2b81c9d462b532a0 Reviewed-by: Morten Johan Sørvig --- src/plugins/platforms/cocoa/cocoa.pro | 2 - src/plugins/platforms/cocoa/qcocoahelpers.h | 2 + src/plugins/platforms/cocoa/qcocoahelpers.mm | 2 + src/plugins/platforms/cocoa/qcocoawindow.mm | 66 ++++++++++++++++------------ src/plugins/platforms/cocoa/qnsview.mm | 9 ++-- src/plugins/platforms/cocoa/qt_mac_p.h | 1 + 6 files changed, 48 insertions(+), 34 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/cocoa.pro b/src/plugins/platforms/cocoa/cocoa.pro index 5e3703a674..02d8b16110 100644 --- a/src/plugins/platforms/cocoa/cocoa.pro +++ b/src/plugins/platforms/cocoa/cocoa.pro @@ -105,8 +105,6 @@ OTHER_FILES += cocoa.json # DEFINES += QT_COCOA_ENABLE_ACCESSIBILITY_INSPECTOR # include ($$PWD/../../../../util/accessibilityinspector/accessibilityinspector.pri) -# Window debug support -#DEFINES += QT_COCOA_ENABLE_WINDOW_DEBUG PLUGIN_TYPE = platforms PLUGIN_CLASS_NAME = QCocoaIntegrationPlugin diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.h b/src/plugins/platforms/cocoa/qcocoahelpers.h index 766561a264..ec2f7f8cf1 100644 --- a/src/plugins/platforms/cocoa/qcocoahelpers.h +++ b/src/plugins/platforms/cocoa/qcocoahelpers.h @@ -57,6 +57,8 @@ QT_BEGIN_NAMESPACE +Q_DECLARE_LOGGING_CATEGORY(lcQpaCocoaWindow) + class QPixmap; class QString; diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm index 204f2440d9..7480d99d19 100644 --- a/src/plugins/platforms/cocoa/qcocoahelpers.mm +++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm @@ -77,6 +77,8 @@ QT_BEGIN_NAMESPACE +Q_LOGGING_CATEGORY(lcQpaCocoaWindow, "qt.qpa.cocoa.window"); + // // Conversion Functions // diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm index b501358acc..29cc4130ed 100644 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm @@ -374,9 +374,8 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw) , m_bottomContentBorderThickness(0) , m_normalGeometry(QRect(0,0,-1,-1)) { -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QCocoaWindow::QCocoaWindow" << this; -#endif + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::QCocoaWindow" << window(); + QMacAutoReleasePool pool; if (tlw->type() == Qt::ForeignWindow) { @@ -409,9 +408,7 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw) QCocoaWindow::~QCocoaWindow() { -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QCocoaWindow::~QCocoaWindow" << this; -#endif + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::~QCocoaWindow" << window(); QMacAutoReleasePool pool; [m_nsWindow makeFirstResponder:nil]; @@ -469,6 +466,8 @@ QSurfaceFormat QCocoaWindow::format() const void QCocoaWindow::setGeometry(const QRect &rectIn) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setGeometry" << window() << rectIn; + QBoolBlocker inSetGeometry(m_inSetGeometry, true); QRect rect = rectIn; @@ -481,9 +480,7 @@ void QCocoaWindow::setGeometry(const QRect &rectIn) } if (geometry() == rect) return; -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QCocoaWindow::setGeometry" << this << rect; -#endif + setCocoaGeometry(rect); } @@ -506,6 +503,7 @@ QRect QCocoaWindow::geometry() const void QCocoaWindow::setCocoaGeometry(const QRect &rect) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setCocoaGeometry" << window() << rect; QMacAutoReleasePool pool; if (m_contentViewIsEmbedded) { @@ -629,6 +627,8 @@ void QCocoaWindow::show(bool becauseOfAncestor) void QCocoaWindow::setVisible(bool visible) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setVisible" << window() << visible; + if (m_isNSWindowChild && m_hiddenByClipping) return; @@ -638,9 +638,7 @@ void QCocoaWindow::setVisible(bool visible) QCocoaWindow *parentCocoaWindow = 0; if (window()->transientParent()) parentCocoaWindow = static_cast(window()->transientParent()->handle()); -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QCocoaWindow::setVisible" << window() << visible; -#endif + if (visible) { // We need to recreate if the modality has changed as the style mask will need updating if (m_windowModality != window()->modality()) @@ -861,9 +859,6 @@ NSUInteger QCocoaWindow::windowStyleMask(Qt::WindowFlags flags) if (m_drawContentBorderGradient) styleMask |= NSTexturedBackgroundWindowMask; -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug("windowStyleMask of '%s': flags %X -> styleMask %lX", qPrintable(window()->title()), (int)flags, styleMask); -#endif return styleMask; } @@ -985,7 +980,8 @@ bool QCocoaWindow::isAlertState() const void QCocoaWindow::raise() { - //qDebug() << "raise" << this; + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::raise" << window(); + // ### handle spaces (see Qt 4 raise_sys in qwidget_mac.mm) if (!m_nsWindow) return; @@ -1026,6 +1022,7 @@ void QCocoaWindow::raise() void QCocoaWindow::lower() { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::lower" << window(); if (!m_nsWindow) return; if (m_isNSWindowChild) { @@ -1078,13 +1075,11 @@ void QCocoaWindow::propagateSizeHints() if (!m_nsWindow) return; -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QCocoaWindow::propagateSizeHints" << this; - qDebug() << " min/max" << windowMinimumSize() << windowMaximumSize(); - qDebug() << "size increment" << windowSizeIncrement(); - qDebug() << " basesize" << windowBaseSize(); - qDebug() << " geometry" << windowGeometry(); -#endif + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::propagateSizeHints" << window() << "\n" + << " min/max" << windowMinimumSize() << windowMaximumSize() + << "size increment" << windowSizeIncrement() + << " basesize" << windowBaseSize() + << " geometry" << windowGeometry(); // Set the minimum content size. const QSize minimumSize = windowMinimumSize(); @@ -1116,6 +1111,7 @@ void QCocoaWindow::propagateSizeHints() void QCocoaWindow::setOpacity(qreal level) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setOpacity" << level; if (m_nsWindow) { [m_nsWindow setAlphaValue:level]; [m_nsWindow setOpaque: isOpaque()]; @@ -1124,6 +1120,7 @@ void QCocoaWindow::setOpacity(qreal level) void QCocoaWindow::setMask(const QRegion ®ion) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setMask" << window() << region; if (m_nsWindow) [m_nsWindow setBackgroundColor:[NSColor clearColor]]; @@ -1133,6 +1130,7 @@ void QCocoaWindow::setMask(const QRegion ®ion) bool QCocoaWindow::setKeyboardGrabEnabled(bool grab) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setKeyboardGrabEnabled" << window() << grab; if (!m_nsWindow) return false; @@ -1145,6 +1143,7 @@ bool QCocoaWindow::setKeyboardGrabEnabled(bool grab) bool QCocoaWindow::setMouseGrabEnabled(bool grab) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setMouseGrabEnabled" << window() << grab; if (!m_nsWindow) return false; @@ -1162,6 +1161,8 @@ WId QCocoaWindow::winId() const void QCocoaWindow::setParent(const QPlatformWindow *parentWindow) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::setParent" << window() << (parentWindow ? parentWindow->window() : 0); + // recreate the window for compatibility bool unhideAfterRecreate = parentWindow && !m_contentViewIsToBeEmbedded && ![m_contentView isHidden]; recreateWindow(parentWindow); @@ -1245,6 +1246,7 @@ void QCocoaWindow::windowDidEndLiveResize() bool QCocoaWindow::windowShouldClose() { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::windowShouldClose" << window(); // This callback should technically only determine if the window // should (be allowed to) close, but since our QPA API to determine // that also involves actually closing the window we do both at the @@ -1285,6 +1287,9 @@ QCocoaGLContext *QCocoaWindow::currentContext() const void QCocoaWindow::recreateWindow(const QPlatformWindow *parentWindow) { + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::recreateWindow" << window() + << "parent" << (parentWindow ? parentWindow->window() : 0); + bool wasNSWindowChild = m_isNSWindowChild; BOOL requestNSWindowChild = qt_mac_resolveOption(NO, window(), "_q_platform_MacUseNSWindow", "QT_MAC_USE_NSWINDOW"); @@ -1621,10 +1626,6 @@ void QCocoaWindow::syncWindowState(Qt::WindowState newState) } } -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QCocoaWindow::syncWindowState" << newState << "actual" << predictedState << "was" << m_synchedWindowState << "effectively maximized" << m_effectivelyMaximized; -#endif - // New state is now the current synched state m_synchedWindowState = predictedState; } @@ -1817,7 +1818,9 @@ void QCocoaWindow::exposeWindow() m_isExposed = true; m_exposedGeometry = geometry(); m_exposedDevicePixelRatio = devicePixelRatio(); - QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), m_exposedGeometry.size())); + QRect geometry(QPoint(0, 0), m_exposedGeometry.size()); + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow: exposeWindow" << window() << geometry; + QWindowSystemInterface::handleExposeEvent(window(), geometry); } } @@ -1827,6 +1830,8 @@ void QCocoaWindow::obscureWindow() if (m_isExposed) { m_geometryUpdateExposeAllowed = false; m_isExposed = false; + + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::obscureWindow" << window(); QWindowSystemInterface::handleExposeEvent(window(), QRegion()); } } @@ -1853,7 +1858,10 @@ void QCocoaWindow::updateExposedGeometry() m_isExposed = true; m_exposedGeometry = geometry(); m_exposedDevicePixelRatio = devicePixelRatio(); - QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), m_exposedGeometry.size())); + + QRect geometry(QPoint(0, 0), m_exposedGeometry.size()); + qCDebug(lcQpaCocoaWindow) << "QCocoaWindow::updateExposedGeometry" << window() << geometry; + QWindowSystemInterface::handleExposeEvent(window(), geometry); } QWindow *QCocoaWindow::childWindowAt(QPoint windowPoint) diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 169844fcbc..0733ac3092 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -369,9 +369,8 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil; if (m_platformWindow->m_inSetStyleMask && !self.window) return; -#ifdef QT_COCOA_ENABLE_WINDOW_DEBUG - qDebug() << "QNSView::udpateGeometry" << m_platformWindow << geometry; -#endif + qCDebug(lcQpaCocoaWindow) << "[QNSView udpateGeometry:]" << m_window + << "current" << m_platformWindow->geometry() << "new" << geometry; // Call setGeometry on QPlatformWindow. (not on QCocoaWindow, // doing that will initiate a geometry change it and possibly create @@ -514,6 +513,8 @@ QT_WARNING_POP - (void) flushBackingStore:(QCocoaBackingStore *)backingStore region:(const QRegion &)region offset:(QPoint)offset { + qCDebug(lcQpaCocoaWindow) << "[QNSView flushBackingStore:]" << m_window << region.rectCount() << region.boundingRect() << offset; + m_backingStore = backingStore; m_backingStoreOffset = offset * m_backingStore->getBackingStoreDevicePixelRatio(); foreach (QRect rect, region.rects()) @@ -576,6 +577,8 @@ QT_WARNING_POP - (void) drawRect:(NSRect)dirtyRect { + qCDebug(lcQpaCocoaWindow) << "[QNSView drawRect:]" << m_window << qt_mac_toQRect(dirtyRect); + #ifndef QT_NO_OPENGL if (m_glContext && m_shouldSetGLContextinDrawRect) { [m_glContext->nsOpenGLContext() setView:self]; diff --git a/src/plugins/platforms/cocoa/qt_mac_p.h b/src/plugins/platforms/cocoa/qt_mac_p.h index 18a3d1b3e5..03eae1b2e7 100644 --- a/src/plugins/platforms/cocoa/qt_mac_p.h +++ b/src/plugins/platforms/cocoa/qt_mac_p.h @@ -64,6 +64,7 @@ #include "QtCore/qvariant.h" #include "QtCore/qmimedata.h" #include "QtCore/qpointer.h" +#include "QtCore/qloggingcategory.h" #include "private/qcore_mac_p.h" -- cgit v1.2.3 From 820e69d6c214f95e6db101c6e7caf28b0a248c69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Tue, 10 Nov 2015 12:43:59 +0100 Subject: Cocoa: Unify mouse handling logic Reduce the code duplication for the various button type handlers. Fan in: (example) rightMouseDown handleMouseDownEvent handleMouseEvent The primary mouseDown function is still separate with some duplicated logic. Remove the "invalid button tracking" warning. qWarnings are for application developers in case of improper use of API etc, not internal Qt errors. Change-Id: Idb1a311e37446399668c2a207831fccc84716ca1 Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qnsview.h | 3 + src/plugins/platforms/cocoa/qnsview.mm | 169 ++++++++++++++++++++------------- 2 files changed, 106 insertions(+), 66 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qnsview.h b/src/plugins/platforms/cocoa/qnsview.h index cbd92df9cf..59df75b980 100644 --- a/src/plugins/platforms/cocoa/qnsview.h +++ b/src/plugins/platforms/cocoa/qnsview.h @@ -118,6 +118,9 @@ Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(QNSViewMouseMoveHelper)); - (void)resetMouseButtons; - (void)handleMouseEvent:(NSEvent *)theEvent; +- (bool)handleMouseDownEvent:(NSEvent *)theEvent; +- (bool)handleMouseDraggedEvent:(NSEvent *)theEvent; +- (bool)handleMouseUpEvent:(NSEvent *)theEvent; - (void)mouseDown:(NSEvent *)theEvent; - (void)mouseDragged:(NSEvent *)theEvent; - (void)mouseUp:(NSEvent *)theEvent; diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index 0733ac3092..ecc9f2db11 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -818,6 +818,61 @@ QT_WARNING_POP QWindowSystemInterface::handleFrameStrutMouseEvent(m_window, timestamp, qtWindowPoint, qtScreenPoint, m_frameStrutButtons); } +- (bool)handleMouseDownEvent:(NSEvent *)theEvent +{ + if (m_window && (m_window->flags() & Qt::WindowTransparentForInput)) + return false; + + Qt::MouseButton button = cocoaButton2QtButton([theEvent buttonNumber]); + + if (button == Qt::RightButton) + m_sendUpAsRightButton = true; + + m_buttons |= button; + + [self handleMouseEvent:theEvent]; + return true; +} + +- (bool)handleMouseDraggedEvent:(NSEvent *)theEvent +{ + if (m_window && (m_window->flags() & Qt::WindowTransparentForInput)) + return false; + + Qt::MouseButton button = cocoaButton2QtButton([theEvent buttonNumber]); + + // Forward the event to the next responder if Qt did not accept the + // corresponding mouse down for this button + if (!m_acceptedMouseDowns.contains(button)) + return false; + + if (!(m_buttons & (m_sendUpAsRightButton ? Qt::RightButton : Qt::LeftButton))) { + qCWarning(lcQpaCocoaWindow) << "QNSView mouseDragged: Internal mouse button tracking" + << "invalid (missing Qt::LeftButton)"; + } + + [self handleMouseEvent:theEvent]; + return true; +} + +- (bool)handleMouseUpEvent:(NSEvent *)theEvent +{ + if (m_window && (m_window->flags() & Qt::WindowTransparentForInput)) + return false; + + Qt::MouseButton button = cocoaButton2QtButton([theEvent buttonNumber]); + + if (m_sendUpAsRightButton && button == Qt::LeftButton) + button = Qt::RightButton; + if (button == Qt::RightButton) + m_sendUpAsRightButton = false; + + m_buttons &= ~button; + + [self handleMouseEvent:theEvent]; + return true; +} + - (void)mouseDown:(NSEvent *)theEvent { if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) @@ -871,24 +926,58 @@ QT_WARNING_POP - (void)mouseDragged:(NSEvent *)theEvent { - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super mouseDragged:theEvent]; - if (!(m_buttons & (m_sendUpAsRightButton ? Qt::RightButton : Qt::LeftButton))) - qWarning("QNSView mouseDragged: Internal mouse button tracking invalid (missing Qt::LeftButton)"); - [self handleMouseEvent:theEvent]; + const bool accepted = [self handleMouseDraggedEvent:theEvent]; + if (!accepted) + [super mouseDragged:theEvent]; } - (void)mouseUp:(NSEvent *)theEvent { - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super mouseUp:theEvent]; - if (m_sendUpAsRightButton) { - m_buttons &= ~Qt::RightButton; - m_sendUpAsRightButton = false; - } else { - m_buttons &= ~Qt::LeftButton; - } - [self handleMouseEvent:theEvent]; + const bool accepted = [self handleMouseUpEvent:theEvent]; + if (!accepted) + [super mouseUp:theEvent]; +} + +- (void)rightMouseDown:(NSEvent *)theEvent +{ + const bool accepted = [self handleMouseDownEvent:theEvent]; + if (!accepted) + [super rightMouseDown:theEvent]; +} + +- (void)rightMouseDragged:(NSEvent *)theEvent +{ + const bool accepted = [self handleMouseDraggedEvent:theEvent]; + if (!accepted) + [super rightMouseDragged:theEvent]; +} + +- (void)rightMouseUp:(NSEvent *)theEvent +{ + const bool accepted = [self handleMouseUpEvent:theEvent]; + if (!accepted) + [super rightMouseUp:theEvent]; +} + +- (void)otherMouseDown:(NSEvent *)theEvent +{ + const bool accepted = [self handleMouseDownEvent:theEvent]; + if (!accepted) + [super otherMouseDown:theEvent]; +} + +- (void)otherMouseDragged:(NSEvent *)theEvent +{ + const bool accepted = [self handleMouseDraggedEvent:theEvent]; + if (!accepted) + [super otherMouseDragged:theEvent]; +} + +- (void)otherMouseUp:(NSEvent *)theEvent +{ + const bool accepted = [self handleMouseUpEvent:theEvent]; + if (!accepted) + [super otherMouseUp:theEvent]; } - (void)updateTrackingAreas @@ -999,58 +1088,6 @@ QT_WARNING_POP m_platformWindow->m_enterLeaveTargetWindow = 0; } -- (void)rightMouseDown:(NSEvent *)theEvent -{ - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super rightMouseDown:theEvent]; - m_buttons |= Qt::RightButton; - m_sendUpAsRightButton = true; - [self handleMouseEvent:theEvent]; -} - -- (void)rightMouseDragged:(NSEvent *)theEvent -{ - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super rightMouseDragged:theEvent]; - if (!(m_buttons & Qt::RightButton)) - qWarning("QNSView rightMouseDragged: Internal mouse button tracking invalid (missing Qt::RightButton)"); - [self handleMouseEvent:theEvent]; -} - -- (void)rightMouseUp:(NSEvent *)theEvent -{ - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super rightMouseUp:theEvent]; - m_buttons &= ~Qt::RightButton; - m_sendUpAsRightButton = false; - [self handleMouseEvent:theEvent]; -} - -- (void)otherMouseDown:(NSEvent *)theEvent -{ - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super otherMouseDown:theEvent]; - m_buttons |= cocoaButton2QtButton([theEvent buttonNumber]); - [self handleMouseEvent:theEvent]; -} - -- (void)otherMouseDragged:(NSEvent *)theEvent -{ - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super otherMouseDragged:theEvent]; - if (!(m_buttons & ~(Qt::LeftButton | Qt::RightButton))) - qWarning("QNSView otherMouseDragged: Internal mouse button tracking invalid (missing Qt::MiddleButton or Qt::ExtraButton*)"); - [self handleMouseEvent:theEvent]; -} - -- (void)otherMouseUp:(NSEvent *)theEvent -{ - if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) - return [super otherMouseUp:theEvent]; - m_buttons &= ~cocoaButton2QtButton([theEvent buttonNumber]); - [self handleMouseEvent:theEvent]; -} - struct QCocoaTabletDeviceData { QTabletEvent::TabletDevice device; -- cgit v1.2.3 From 68987d5454a347807c227ba3e2e2db3e050911df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Tue, 10 Nov 2015 16:01:01 +0100 Subject: Cocoa: Forward rejected key events. Forward rejected key events to the next responder by checking the return value from QWindowSystemInterface and calling the superclass event handler. This is useful when Qt is running as a plugin in a host application; the host can now react to key events even if Qt has focus. Qt will often not accept keyUp events, even if the corresponding keyDown was accepted, for example in the case of text controls. We don't want to forward 'bare' keyUps, so keep track of which keyDowns have been seen. Change-Id: I976448a5d305a657a0e91aeb271b158f8b598286 Task-number: QTBUG-45768 Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qnsview.h | 4 ++- src/plugins/platforms/cocoa/qnsview.mm | 49 ++++++++++++++++++++++++++++++---- 2 files changed, 47 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qnsview.h b/src/plugins/platforms/cocoa/qnsview.h index 59df75b980..e5f136d0cd 100644 --- a/src/plugins/platforms/cocoa/qnsview.h +++ b/src/plugins/platforms/cocoa/qnsview.h @@ -43,6 +43,7 @@ #include #include +#include #include #include @@ -85,6 +86,7 @@ Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(QNSViewMouseMoveHelper)); bool m_exposedOnMoveToWindow; NSEvent *m_currentlyInterpretedKeyEvent; bool m_isMenuView; + QSet m_acceptedKeyDowns; } - (id)init; @@ -142,7 +144,7 @@ Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(QNSViewMouseMoveHelper)); - (int) convertKeyCode : (QChar)keyCode; + (Qt::KeyboardModifiers) convertKeyModifiers : (ulong)modifierFlags; -- (void)handleKeyEvent:(NSEvent *)theEvent eventType:(int)eventType; +- (bool)handleKeyEvent:(NSEvent *)theEvent eventType:(int)eventType; - (void)keyDown:(NSEvent *)theEvent; - (void)keyUp:(NSEvent *)theEvent; diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index ecc9f2db11..fb83f3211a 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -911,6 +911,25 @@ QT_WARNING_POP } } + QPointF qtWindowPoint; + QPointF qtScreenPoint; + [self convertFromScreen:[self screenMousePoint:theEvent] toWindowPoint:&qtWindowPoint andScreenPoint:&qtScreenPoint]; + Q_UNUSED(qtScreenPoint); + + bool masked = m_maskRegion.contains(qtWindowPoint.toPoint()); + + // Maintain masked state for the button for use by MouseDragged and Up. + if (masked) + m_acceptedMouseDowns.remove(Qt::LeftButton); + else + m_acceptedMouseDowns.insert(Qt::LeftButton); + + // Forward masked out events to the next responder + if (masked) { + [super mouseDown:theEvent]; + return; + } + if ([self hasMarkedText]) { [[NSTextInputContext currentInputContext] handleEvent:theEvent]; } else { @@ -1483,7 +1502,7 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent) return qtMods; } -- (void)handleKeyEvent:(NSEvent *)nsevent eventType:(int)eventType +- (bool)handleKeyEvent:(NSEvent *)nsevent eventType:(int)eventType { ulong timestamp = [nsevent timestamp] * 1000; ulong nativeModifiers = [nsevent modifierFlags]; @@ -1553,26 +1572,46 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent) m_sendKeyEvent = true; } - if (m_sendKeyEvent && m_composingText.isEmpty()) + bool accepted = true; + if (m_sendKeyEvent && m_composingText.isEmpty()) { QWindowSystemInterface::handleExtendedKeyEvent(window, timestamp, QEvent::Type(eventType), keyCode, modifiers, nativeScanCode, nativeVirtualKey, nativeModifiers, text, [nsevent isARepeat], 1, false); - + accepted = QWindowSystemInterface::flushWindowSystemEvents(); + } m_sendKeyEvent = false; m_resendKeyEvent = false; + return accepted; } - (void)keyDown:(NSEvent *)nsevent { if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) return [super keyDown:nsevent]; - [self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)]; + + const bool accepted = [self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)]; + + // Track keyDown acceptance state for later acceptance of the keyUp. + if (accepted) + m_acceptedKeyDowns.insert([nsevent keyCode]); + + // Propagate the keyDown to the next responder if Qt did not accept it. + if (!accepted) + [super keyDown:nsevent]; } - (void)keyUp:(NSEvent *)nsevent { if (m_window && (m_window->flags() & Qt::WindowTransparentForInput) ) return [super keyUp:nsevent]; - [self handleKeyEvent:nsevent eventType:int(QEvent::KeyRelease)]; + + const bool keyUpAccepted = [self handleKeyEvent:nsevent eventType:int(QEvent::KeyRelease)]; + + // Propagate the keyUp if neither Qt accepted it nor the corresponding KeyDown was + // accepted. Qt text controls wil often not use and ignore keyUp events, but we + // want to avoid propagating unmatched keyUps. + const bool keyDownAccepted = m_acceptedKeyDowns.remove([nsevent keyCode]); + if (!keyUpAccepted && !keyDownAccepted) + [super keyUp:nsevent]; } - (void)cancelOperation:(id)sender -- cgit v1.2.3 From 0694751c3323beebca167100c203f533755622c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20Johan=20S=C3=B8rvig?= Date: Wed, 11 Nov 2015 22:19:16 +0100 Subject: Cocoa: Forward masked out mouse events. Forward mouse events hitting the a masked out window area to the next responder by calling the superclass event handler. Implement "inverse mouse grabbing": Qt will not take dragged and up events if the mouseDown was in a masked out area. Change-Id: Ie86281245513cad515b77a468ac63f31ae41bfe0 Task-number: QTBUG-41839 Reviewed-by: Timur Pocheptsov --- src/plugins/platforms/cocoa/qnsview.h | 2 ++ src/plugins/platforms/cocoa/qnsview.mm | 31 +++++++++++++++++++++++++++---- 2 files changed, 29 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/cocoa/qnsview.h b/src/plugins/platforms/cocoa/qnsview.h index e5f136d0cd..b5738abf4c 100644 --- a/src/plugins/platforms/cocoa/qnsview.h +++ b/src/plugins/platforms/cocoa/qnsview.h @@ -60,6 +60,7 @@ Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(QNSViewMouseMoveHelper)); @interface QT_MANGLE_NAMESPACE(QNSView) : NSView { QCocoaBackingStore* m_backingStore; QPoint m_backingStoreOffset; + QRegion m_maskRegion; CGImageRef m_maskImage; uchar *m_maskData; bool m_shouldInvalidateWindowShadow; @@ -67,6 +68,7 @@ Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(QNSViewMouseMoveHelper)); QCocoaWindow *m_platformWindow; NSTrackingArea *m_trackingArea; Qt::MouseButtons m_buttons; + Qt::MouseButtons m_acceptedMouseDowns; Qt::MouseButtons m_frameStrutButtons; QString m_composingText; bool m_sendKeyEvent; diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm index fb83f3211a..9905c85d77 100644 --- a/src/plugins/platforms/cocoa/qnsview.mm +++ b/src/plugins/platforms/cocoa/qnsview.mm @@ -145,6 +145,7 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil; m_shouldInvalidateWindowShadow = false; m_window = 0; m_buttons = Qt::NoButton; + m_acceptedMouseDowns = Qt::NoButton; m_frameStrutButtons = Qt::NoButton; m_sendKeyEvent = false; m_subscribesForGlobalFrameNotifications = false; @@ -529,7 +530,7 @@ QT_WARNING_POP - (BOOL) hasMask { - return m_maskImage != 0; + return !m_maskRegion.isEmpty(); } - (BOOL) isOpaque @@ -542,6 +543,7 @@ QT_WARNING_POP - (void) setMaskRegion:(const QRegion *)region { m_shouldInvalidateWindowShadow = true; + m_maskRegion = *region; if (m_maskImage) CGImageRelease(m_maskImage); if (region->isEmpty()) { @@ -825,6 +827,22 @@ QT_WARNING_POP Qt::MouseButton button = cocoaButton2QtButton([theEvent buttonNumber]); + QPointF qtWindowPoint; + QPointF qtScreenPoint; + [self convertFromScreen:[self screenMousePoint:theEvent] toWindowPoint:&qtWindowPoint andScreenPoint:&qtScreenPoint]; + Q_UNUSED(qtScreenPoint); + + // Maintain masked state for the button for use by MouseDragged and MouseUp. + const bool masked = m_maskRegion.contains(qtWindowPoint.toPoint()); + if (masked) + m_acceptedMouseDowns &= ~button; + else + m_acceptedMouseDowns |= button; + + // Forward masked out events to the next responder + if (masked) + return false; + if (button == Qt::RightButton) m_sendUpAsRightButton = true; @@ -843,7 +861,7 @@ QT_WARNING_POP // Forward the event to the next responder if Qt did not accept the // corresponding mouse down for this button - if (!m_acceptedMouseDowns.contains(button)) + if (!(m_acceptedMouseDowns & button) == button) return false; if (!(m_buttons & (m_sendUpAsRightButton ? Qt::RightButton : Qt::LeftButton))) { @@ -862,6 +880,11 @@ QT_WARNING_POP Qt::MouseButton button = cocoaButton2QtButton([theEvent buttonNumber]); + // Forward the event to the next responder if Qt did not accept the + // corresponding mouse down for this button + if (!(m_acceptedMouseDowns & button) == button) + return false; + if (m_sendUpAsRightButton && button == Qt::LeftButton) button = Qt::RightButton; if (button == Qt::RightButton) @@ -920,9 +943,9 @@ QT_WARNING_POP // Maintain masked state for the button for use by MouseDragged and Up. if (masked) - m_acceptedMouseDowns.remove(Qt::LeftButton); + m_acceptedMouseDowns &= ~Qt::LeftButton; else - m_acceptedMouseDowns.insert(Qt::LeftButton); + m_acceptedMouseDowns |= Qt::LeftButton; // Forward masked out events to the next responder if (masked) { -- cgit v1.2.3 From d804ea01f06fcde5af9a85db77ef87934b709ce7 Mon Sep 17 00:00:00 2001 From: Anton Kudryavtsev Date: Mon, 21 Mar 2016 14:22:32 +0300 Subject: Fix build QtService.java: replace int with Integer ... and boolean with Boolean. Task-number: QTBUG-51897 Change-Id: I498ed0cce48e2566c6800344677111dee225d7d9 Reviewed-by: BogDan Vatra --- .../java/src/org/qtproject/qt5/android/bindings/QtService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java index c84bdd63c3..71acf9683e 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java @@ -102,7 +102,7 @@ public class QtService extends Service { QtApplication.InvokeResult res = QtApplication.invokeDelegate(intent, flags, startId); if (res.invoked) - return (int) res.methodReturns; + return (Integer) res.methodReturns; else return super.onStartCommand(intent, flags, startId); } @@ -141,7 +141,7 @@ public class QtService extends Service { QtApplication.InvokeResult res = QtApplication.invokeDelegate(intent); if (res.invoked) - return (boolean) res.methodReturns; + return (Boolean) res.methodReturns; else return super.onUnbind(intent); } -- cgit v1.2.3 From e4d79e1fdeb6b26ba0b12b578daacf7cd672b960 Mon Sep 17 00:00:00 2001 From: Dmitry Shachnev Date: Sat, 27 Feb 2016 20:55:41 +0300 Subject: Add createMenu() method to QPlatformMenuBar The D-Bus platform menus are only useful inside menu bars and system tray icons, and should not be created for other cases (like the context menus). This adds a new virtual createMenu() method to QPlatformMenuBar class, analogous to the already existing QPlatformSystemTrayIcon::createMenu() method, and adds support for it to QMenuBar. The D-Bus platform menus are now created from QDBusMenuBar class. As an additional benefit, we no longer have to check whether the AppMenu Registrar service is present for every created menu, and check it only once (this should speed things a bit up). Change-Id: Ic7d94e58a501ab9d2954aeb342ebd46ef8e62d49 Reviewed-by: J-P Nurmi Reviewed-by: Friedemann Kleint Reviewed-by: Shawn Rutledge --- src/gui/kernel/qplatformmenu.h | 1 + src/platformsupport/dbusmenu/qdbusmenubar.cpp | 5 +++++ src/platformsupport/dbusmenu/qdbusmenubar_p.h | 1 + .../themes/genericunix/qgenericunixthemes.cpp | 21 --------------------- .../themes/genericunix/qgenericunixthemes_p.h | 3 --- src/widgets/widgets/qmenubar.cpp | 21 ++++++++++++++------- src/widgets/widgets/qmenubar_p.h | 1 + 7 files changed, 22 insertions(+), 31 deletions(-) (limited to 'src') diff --git a/src/gui/kernel/qplatformmenu.h b/src/gui/kernel/qplatformmenu.h index 22848fcff6..bd4f4d9beb 100644 --- a/src/gui/kernel/qplatformmenu.h +++ b/src/gui/kernel/qplatformmenu.h @@ -148,6 +148,7 @@ public: virtual void handleReparent(QWindow *newParentWindow) = 0; virtual QPlatformMenu *menuForTag(quintptr tag) const = 0; + virtual QPlatformMenu *createMenu() const { return nullptr; } }; QT_END_NAMESPACE diff --git a/src/platformsupport/dbusmenu/qdbusmenubar.cpp b/src/platformsupport/dbusmenu/qdbusmenubar.cpp index 7d53de6db4..76d658f51a 100644 --- a/src/platformsupport/dbusmenu/qdbusmenubar.cpp +++ b/src/platformsupport/dbusmenu/qdbusmenubar.cpp @@ -133,6 +133,11 @@ QPlatformMenu *QDBusMenuBar::menuForTag(quintptr tag) const return nullptr; } +QPlatformMenu *QDBusMenuBar::createMenu() const +{ + return new QDBusPlatformMenu; +} + void QDBusMenuBar::registerMenuBar() { static uint menuBarId = 0; diff --git a/src/platformsupport/dbusmenu/qdbusmenubar_p.h b/src/platformsupport/dbusmenu/qdbusmenubar_p.h index 157befe9e3..8266a395f5 100644 --- a/src/platformsupport/dbusmenu/qdbusmenubar_p.h +++ b/src/platformsupport/dbusmenu/qdbusmenubar_p.h @@ -72,6 +72,7 @@ public: void syncMenu(QPlatformMenu *menu) Q_DECL_OVERRIDE; void handleReparent(QWindow *newParentWindow) Q_DECL_OVERRIDE; QPlatformMenu *menuForTag(quintptr tag) const Q_DECL_OVERRIDE; + QPlatformMenu *createMenu() const Q_DECL_OVERRIDE; private: QDBusPlatformMenu *m_menu; diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp index aee12eed76..720b032ea5 100644 --- a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp +++ b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp @@ -191,13 +191,6 @@ QStringList QGenericUnixTheme::xdgIconThemePaths() } #ifndef QT_NO_DBUS -QPlatformMenu *QGenericUnixTheme::createPlatformMenu() const -{ - if (isDBusGlobalMenuAvailable()) - return new QDBusPlatformMenu(); - return nullptr; -} - QPlatformMenuBar *QGenericUnixTheme::createPlatformMenuBar() const { if (isDBusGlobalMenuAvailable()) @@ -594,13 +587,6 @@ QPlatformTheme *QKdeTheme::createKdeTheme() } #ifndef QT_NO_DBUS -QPlatformMenu *QKdeTheme::createPlatformMenu() const -{ - if (isDBusGlobalMenuAvailable()) - return new QDBusPlatformMenu(); - return nullptr; -} - QPlatformMenuBar *QKdeTheme::createPlatformMenuBar() const { if (isDBusGlobalMenuAvailable()) @@ -706,13 +692,6 @@ QString QGnomeTheme::gtkFontName() const } #ifndef QT_NO_DBUS -QPlatformMenu *QGnomeTheme::createPlatformMenu() const -{ - if (isDBusGlobalMenuAvailable()) - return new QDBusPlatformMenu(); - return nullptr; -} - QPlatformMenuBar *QGnomeTheme::createPlatformMenuBar() const { if (isDBusGlobalMenuAvailable()) diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h b/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h index b7e0d53d6f..952658e130 100644 --- a/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h +++ b/src/platformsupport/themes/genericunix/qgenericunixthemes_p.h @@ -86,7 +86,6 @@ public: static QStringList xdgIconThemePaths(); #ifndef QT_NO_DBUS - QPlatformMenu *createPlatformMenu() const Q_DECL_OVERRIDE; QPlatformMenuBar *createPlatformMenuBar() const Q_DECL_OVERRIDE; #endif #if !defined(QT_NO_DBUS) && !defined(QT_NO_SYSTEMTRAYICON) @@ -112,7 +111,6 @@ public: const QFont *font(Font type) const Q_DECL_OVERRIDE; #ifndef QT_NO_DBUS - QPlatformMenu *createPlatformMenu() const Q_DECL_OVERRIDE; QPlatformMenuBar *createPlatformMenuBar() const Q_DECL_OVERRIDE; #endif #if !defined(QT_NO_DBUS) && !defined(QT_NO_SYSTEMTRAYICON) @@ -136,7 +134,6 @@ public: virtual QString gtkFontName() const; #ifndef QT_NO_DBUS - QPlatformMenu *createPlatformMenu() const Q_DECL_OVERRIDE; QPlatformMenuBar *createPlatformMenuBar() const Q_DECL_OVERRIDE; #endif #if !defined(QT_NO_DBUS) && !defined(QT_NO_SYSTEMTRAYICON) diff --git a/src/widgets/widgets/qmenubar.cpp b/src/widgets/widgets/qmenubar.cpp index 8fb02aaa72..85d0c54357 100644 --- a/src/widgets/widgets/qmenubar.cpp +++ b/src/widgets/widgets/qmenubar.cpp @@ -1210,12 +1210,19 @@ void QMenuBar::leaveEvent(QEvent *) d->setCurrentAction(0); } -QPlatformMenu *getPlatformMenu(QAction *action) +QPlatformMenu *QMenuBarPrivate::getPlatformMenu(QAction *action) { if (!action || !action->menu()) return 0; - return action->menu()->platformMenu(); + QPlatformMenu *platformMenu = action->menu()->platformMenu(); + if (!platformMenu && platformMenuBar) { + platformMenu = platformMenuBar->createMenu(); + if (platformMenu) + action->menu()->setPlatformMenu(platformMenu); + } + + return platformMenu; } /*! @@ -1236,14 +1243,14 @@ void QMenuBar::actionEvent(QActionEvent *e) return; if (e->type() == QEvent::ActionAdded) { - QPlatformMenu *menu = getPlatformMenu(e->action()); + QPlatformMenu *menu = d->getPlatformMenu(e->action()); if (menu) { QPlatformMenu* beforeMenu = NULL; for (int beforeIndex = d->indexOf(e->action()) + 1; !beforeMenu && (beforeIndex < actions().size()); ++beforeIndex) { - beforeMenu = getPlatformMenu(actions().at(beforeIndex)); + beforeMenu = d->getPlatformMenu(actions().at(beforeIndex)); } menu->setTag(reinterpret_cast(e->action())); @@ -1251,12 +1258,12 @@ void QMenuBar::actionEvent(QActionEvent *e) d->platformMenuBar->insertMenu(menu, beforeMenu); } } else if (e->type() == QEvent::ActionRemoved) { - QPlatformMenu *menu = getPlatformMenu(e->action()); + QPlatformMenu *menu = d->getPlatformMenu(e->action()); if (menu) d->platformMenuBar->removeMenu(menu); } else if (e->type() == QEvent::ActionChanged) { QPlatformMenu* cur = d->platformMenuBar->menuForTag(reinterpret_cast(e->action())); - QPlatformMenu *menu = getPlatformMenu(e->action()); + QPlatformMenu *menu = d->getPlatformMenu(e->action()); // the menu associated with the action can change, need to // remove and/or insert the new platform menu @@ -1271,7 +1278,7 @@ void QMenuBar::actionEvent(QActionEvent *e) !beforeMenu && (beforeIndex < actions().size()); ++beforeIndex) { - beforeMenu = getPlatformMenu(actions().at(beforeIndex)); + beforeMenu = d->getPlatformMenu(actions().at(beforeIndex)); } d->platformMenuBar->insertMenu(menu, beforeMenu); } diff --git a/src/widgets/widgets/qmenubar_p.h b/src/widgets/widgets/qmenubar_p.h index 04f608d22f..05b1878c20 100644 --- a/src/widgets/widgets/qmenubar_p.h +++ b/src/widgets/widgets/qmenubar_p.h @@ -143,6 +143,7 @@ public: QBasicTimer autoReleaseTimer; QPlatformMenuBar *platformMenuBar; + QPlatformMenu *getPlatformMenu(QAction *action); inline int indexOf(QAction *act) const { return q_func()->actions().indexOf(act); } -- cgit v1.2.3