diff options
Diffstat (limited to 'gui')
80 files changed, 7103 insertions, 3961 deletions
diff --git a/gui/.gitignore b/gui/.gitignore index a0052ede..cd437b3f 100644 --- a/gui/.gitignore +++ b/gui/.gitignore @@ -1,3 +1,6 @@ +moc_*.cpp qapitrace.qrc.depends +qapitrace_automoc.cpp +qrc_qapitrace.cpp qrc_qapitrace.cxx ui_*.h diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index ad13475e..b74e3ece 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -1,7 +1,31 @@ -# Include the cmake file needed to use qt4 -include( ${QT_USE_FILE} ) +# CMake will throw a cryptic message if an user unwittingly invokes it from +# this directory. +if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + message (FATAL_ERROR + "qapitrace must be built from the top source directory.\n" + "Read docs/INSTALL.markdown for detailed build instructions." + ) +endif () + +add_definitions (-DQT_FORCE_ASSERTS) + +if (APPLE) + # Recent builds of Qt no longer support i386 architecture + set (CMAKE_OSX_ARCHITECTURES "x86_64") +endif() + +add_library (qubjson STATIC + qubjson.cpp +) + +add_gtest (qubjson_test qubjson_test.cpp) +target_link_libraries (qubjson_test qubjson) set(qapitrace_SRCS + androiddevicedialog.cpp + androidfiledialog.cpp + androidretracer.cpp + androidutils.cpp apisurface.cpp apitrace.cpp apicalldelegate.cpp @@ -27,6 +51,7 @@ set(qapitrace_SRCS traceprocess.cpp trimprocess.cpp vertexdatainterpreter.cpp + leaktracethread.cpp graphing/frameaxiswidget.cpp graphing/graphwidget.cpp graphing/graphaxiswidget.cpp @@ -37,11 +62,11 @@ set(qapitrace_SRCS graphing/timeaxiswidget.cpp ) -qt4_automoc(${qapitrace_SRCS}) - -qt4_add_resources(qapitrace_SRCS qapitrace.qrc) +qt5_add_resources(qapitrace_SRCS qapitrace.qrc) set(qapitrace_UIS + ui/androidfiledialog.ui + ui/androiddevicedialog.ui ui/argumentseditor.ui ui/imageviewer.ui ui/jumpwidget.ui @@ -55,47 +80,56 @@ set(qapitrace_UIS ui/shaderssourcewidget.ui ) -QT4_WRAP_UI(qapitrace_UIS_H ${qapitrace_UIS}) +set (CMAKE_AUTOMOC ON) +# Silence `Note: No relevant classes found. No output generated.` +set (CMAKE_AUTOMOC_MOC_OPTIONS "-nn") + +QT5_WRAP_UI(qapitrace_UIS_H ${qapitrace_UIS}) +set(CMAKE_INCLUDE_CURRENT_DIR ON) #add_app_icon(qapitrace_SRCS ../icons/hi*-qapitrace.png) -link_directories(${LINK_DIRECTORIES} ${QJSON_LIBRARY_DIRS}) include_directories( - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR} - ${QJSON_INCLUDE_DIR} - ${QT_INCLUDES} + ${CMAKE_SOURCE_DIR} # for image/* ) -if (WIN32) - # Use Windows subsystem (i.e., no console). - set (qapitrace_SUBSYSTEM "WIN32") -endif () +add_executable (qapitrace ${qapitrace_SRCS} ${qapitrace_UIS_H}) -add_executable(qapitrace ${qapitrace_SUBSYSTEM} ${qapitrace_SRCS} ${qapitrace_UIS_H}) +# Avoid qt5_use_modules. See also: +# - https://bugreports.qt.io/browse/QTBUG-39457 +# - http://doc.qt.io/qt-5/cmake-manual.html +# - http://www.kdab.com/using-cmake-with-qt-5/ +if (Qt5Core_VERSION_STRING VERSION_LESS 5.2.0) + qt5_use_modules (qubjson Widgets) + qt5_use_modules (qubjson_test Widgets) + qt5_use_modules (qapitrace Widgets WebKitWidgets) +else () + target_link_libraries (qubjson Qt5::Widgets) + target_link_libraries (qubjson_test Qt5::Widgets) + target_link_libraries (qapitrace Qt5::Widgets Qt5::WebKitWidgets) +endif () target_link_libraries (qapitrace + qubjson image common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} - ${QJSON_LIBRARIES} - ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ) -if (APPLE) - # Recent builds of Qt no longer support i386 architecture - set_target_properties (qapitrace PROPERTIES OSX_ARCHITECTURES x86_64) -endif () -if (MSVC) - # When the Windows subsystem is chosen by default MSVC expects WinMain() - # entry point, but we rather use plain old main() everywhere. - set_target_properties (qapitrace PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup") +if (WIN32 AND NOT (CMAKE_BUILD_TYPE STREQUAL "Debug")) + # Use Windows subsystem (i.e., no console). + set_target_properties (qapitrace PROPERTIES CMAKE_WIN32_EXECUTABLE TRUE) + if (MSVC) + # When the Windows subsystem is chosen by default MSVC expects WinMain() + # entry point, but we rather use plain old main() everywhere. + set_target_properties (qapitrace PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup") + endif () endif () ########### install files ############### install (TARGETS qapitrace RUNTIME DESTINATION bin) +install_pdb (qapitrace RUNTIME DESTINATION bin) #install (FILES qapitrace.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) diff --git a/gui/androiddevicedialog.cpp b/gui/androiddevicedialog.cpp new file mode 100644 index 00000000..8c524fc2 --- /dev/null +++ b/gui/androiddevicedialog.cpp @@ -0,0 +1,556 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** 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 Digia. For licensing terms and +** conditions see http://www.qt.io/licensing. 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. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#include "androiddevicedialog.h" +#include "ui_androiddevicedialog.h" + +#include <QMessageBox> +#include <QPainter> +#include <QProcess> +#include <QSettings> +#include <QStyledItemDelegate> +#include <QToolTip> + +// yeah, writing tree models is fun! +class AndroidDeviceModelNode +{ +public: + AndroidDeviceModelNode(AndroidDeviceModelNode *parent, const AndroidDeviceInfo &info, const QString &incompatibleReason = QString()) + : m_parent(parent), m_info(info), m_incompatibleReason(incompatibleReason) + { + if (m_parent) + m_parent->m_children.append(this); + } + + AndroidDeviceModelNode(AndroidDeviceModelNode *parent, const QString &displayName) + : m_parent(parent), m_displayName(displayName) + { + if (m_parent) + m_parent->m_children.append(this); + } + + ~AndroidDeviceModelNode() + { + if (m_parent) + m_parent->m_children.removeOne(this); + QList<AndroidDeviceModelNode *> children = m_children; + qDeleteAll(children); + } + + AndroidDeviceModelNode *parent() const + { + return m_parent; + } + + QList<AndroidDeviceModelNode *> children() const + { + return m_children; + } + + AndroidDeviceInfo deviceInfo() const + { + return m_info; + } + + QString displayName() const + { + return m_displayName; + } + + QString incompatibleReason() const + { + return m_incompatibleReason; + } + +private: + AndroidDeviceModelNode *m_parent; + AndroidDeviceInfo m_info; + QString m_incompatibleReason; + QString m_displayName; + QList<AndroidDeviceModelNode *> m_children; +}; + +class AndroidDeviceModelDelegate : public QStyledItemDelegate +{ +public: + AndroidDeviceModelDelegate(QObject * parent = 0) + : QStyledItemDelegate(parent) + { + + } + + ~AndroidDeviceModelDelegate() + { + } + + QString getProductModel(const QString &device) const + { + if (m_serialNumberToDeviceName.contains(device)) + return m_serialNumberToDeviceName.value(device); + // workaround for '????????????' serial numbers + QStringList arguments = AndroidDeviceInfo::adbSelector(device); + arguments << QLatin1String("shell") << QLatin1String("getprop") + << QLatin1String("ro.product.model"); + + QProcess adbProc; + adbProc.start(AndroidDeviceInfo::adbPath(), arguments); + if (!adbProc.waitForFinished(10000)) { + adbProc.kill(); + return device; + } + QString model = QString::fromLocal8Bit(adbProc.readAll().trimmed()); + if (model.isEmpty()) + return device; + if (!device.startsWith(QLatin1String("????"))) + m_serialNumberToDeviceName.insert(device, model); + return model; + } + + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const + { + QStyleOptionViewItemV4 opt = option; + initStyleOption(&opt, index); + painter->save(); + + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(index.internalPointer()); + AndroidDeviceInfo device = node->deviceInfo(); + + painter->setPen(Qt::NoPen); + + // Paint Background + QPalette palette = opt.palette; // we always draw enabled + palette.setCurrentColorGroup(QPalette::Active); + bool selected = opt.state & QStyle::State_Selected; + QColor backgroundColor = selected ? palette.highlight().color() + : palette.background().color(); + painter->setBrush(backgroundColor); + + painter->drawRect(0, opt.rect.top(), opt.rect.width() + opt.rect.left(), opt.rect.height()); + + QColor textColor; + // Set Text Color + if (opt.state & QStyle::State_Selected) + textColor = palette.highlightedText().color(); + else + textColor = palette.text().color(); + painter->setPen(textColor); + + if (!node->displayName().isEmpty()) { // Title + // We have a top level node + QFont font = opt.font; + font.setPointSizeF(font.pointSizeF() * 1.2); + font.setBold(true); + + QFontMetrics fm(font); + painter->setFont(font); + int top = (opt.rect.bottom() + opt.rect.top() - fm.height()) / 2 + fm.ascent(); + painter->drawText(6, top, node->displayName()); + } else { + QIcon icon(QLatin1String(":/resources/android.png")); + int size = opt.rect.bottom() - opt.rect.top() - 12; + QPixmap pixmap = icon.pixmap(size, size); + painter->drawPixmap(6 + (size - pixmap.width()) / 2, opt.rect.top() + 6 + (size - pixmap.width()) / 2, pixmap); + + QFontMetrics fm(opt.font); + // TopLeft + QString topLeft = device.serialNumber; + if (device.type == AndroidDeviceInfo::Hardware) + topLeft = getProductModel(device.serialNumber); + painter->drawText(size + 12, 2 + opt.rect.top() + fm.ascent(), topLeft); + + QString topRight = device.serialNumber; + // topRight + if (device.type == AndroidDeviceInfo::Hardware) // otherwise it's not very informative + painter->drawText(opt.rect.right() - fm.width(topRight) - 6 , 2 + opt.rect.top() + fm.ascent(), topRight); + + // Directory + QColor mix; + mix.setRgbF(0.7 * textColor.redF() + 0.3 * backgroundColor.redF(), + 0.7 * textColor.greenF() + 0.3 * backgroundColor.greenF(), + 0.7 * textColor.blueF() + 0.3 * backgroundColor.blueF()); + painter->setPen(mix); + + QString lineText; + if (node->incompatibleReason().isEmpty()) + lineText = device.serialNumber; + else + lineText = node->incompatibleReason(); + painter->drawText(size + 12, opt.rect.top() + fm.ascent() + fm.height() + 6, lineText); + } + + // Separator lines + painter->setPen(QColor::fromRgb(150,150,150)); + painter->drawLine(0, opt.rect.bottom(), opt.rect.right(), opt.rect.bottom()); + painter->restore(); + } + + QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const + { + QStyleOptionViewItemV4 opt = option; + initStyleOption(&opt, index); + + QFontMetrics fm(option.font); + QSize s; + s.setWidth(option.rect.width()); + s.setHeight(fm.height() * 2 + 10); + return s; + } +private: + mutable QHash<QString, QString> m_serialNumberToDeviceName; + +}; + +class AndroidDeviceModel : public QAbstractItemModel +{ +public: + AndroidDeviceModel(); + QModelIndex index(int row, int column, + const QModelIndex &parent = QModelIndex()) const; + QModelIndex parent(const QModelIndex &child) const; + int rowCount(const QModelIndex &parent = QModelIndex()) const; + int columnCount(const QModelIndex &parent = QModelIndex()) const; + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + Qt::ItemFlags flags(const QModelIndex &index) const; + + AndroidDeviceInfo device(QModelIndex index); + void setDevices(const QVector<AndroidDeviceInfo> &devices); + + QModelIndex indexFor(const QString &serial); +private: + AndroidDeviceModelNode *m_root; +}; + +bool androidDevicesLessThan(const AndroidDeviceInfo &dev1, const AndroidDeviceInfo &dev2) +{ + // shamelessly stolen from qtcreator :) + if (dev1.serialNumber.contains(QLatin1String("????")) != dev2.serialNumber.contains(QLatin1String("????"))) + return !dev1.serialNumber.contains(QLatin1String("????")); + if (dev1.type != dev2.type) + return dev1.type == AndroidDeviceInfo::Hardware; + + return dev1.serialNumber < dev2.serialNumber; +} + +///////////////// +// AndroidDeviceModel +///////////////// +AndroidDeviceModel::AndroidDeviceModel() + : m_root(0) +{ +} + +QModelIndex AndroidDeviceModel::index(int row, int column, const QModelIndex &parent) const +{ + if (column != 0) + return QModelIndex(); + + if (!m_root) + return QModelIndex(); + + if (!parent.isValid()) { + if (row < 0 || row >= m_root->children().count()) + return QModelIndex(); + return createIndex(row, column, m_root->children().at(row)); + } + + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(parent.internalPointer()); + if (row < node->children().count()) + return createIndex(row, column, node->children().at(row)); + + return QModelIndex(); +} + +QModelIndex AndroidDeviceModel::parent(const QModelIndex &child) const +{ + if (!child.isValid()) + return QModelIndex(); + if (!m_root) + return QModelIndex(); + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(child.internalPointer()); + if (node == m_root) + return QModelIndex(); + AndroidDeviceModelNode *parent = node->parent(); + + if (parent == m_root) + return QModelIndex(); + + AndroidDeviceModelNode *grandParent = parent->parent(); + return createIndex(grandParent->children().indexOf(parent), 0, parent); +} + +int AndroidDeviceModel::rowCount(const QModelIndex &parent) const +{ + if (!m_root) + return 0; + if (!parent.isValid()) + return m_root->children().count(); + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(parent.internalPointer()); + return node->children().count(); +} + +int AndroidDeviceModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent); + return 1; +} + +QVariant AndroidDeviceModel::data(const QModelIndex &index, int role) const +{ + if (role != Qt::DisplayRole) + return QVariant(); + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(index.internalPointer()); + if (!node) + return QVariant(); + return node->deviceInfo().serialNumber; +} + +Qt::ItemFlags AndroidDeviceModel::flags(const QModelIndex &index) const +{ + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(index.internalPointer()); + if (node) + if (node->displayName().isEmpty() && node->incompatibleReason().isEmpty()) + return Qt::ItemIsSelectable | Qt::ItemIsEnabled; + + return Qt::NoItemFlags; +} + +AndroidDeviceInfo AndroidDeviceModel::device(QModelIndex index) +{ + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(index.internalPointer()); + if (!node) + return AndroidDeviceInfo(); + return node->deviceInfo(); +} + +void AndroidDeviceModel::setDevices(const QVector<AndroidDeviceInfo> &devices) +{ + beginResetModel(); + delete m_root; + m_root = new AndroidDeviceModelNode(0, QString()); + + AndroidDeviceModelNode *compatibleDevices = new AndroidDeviceModelNode(m_root, AndroidDeviceDialog::tr("Compatible devices")); + AndroidDeviceModelNode *incompatibleDevices = 0; // created on demand + foreach (const AndroidDeviceInfo &device, devices) { + QString error; + if (device.state == AndroidDeviceInfo::UnAuthorizedState) { + error = AndroidDeviceDialog::tr("Unauthorized. Please check the confirmation dialog on your device %1.") + .arg(device.serialNumber); + }else if (device.state == AndroidDeviceInfo::OfflineState) { + error = AndroidDeviceDialog::tr("Offline. Please check the state of your device %1.") + .arg(device.serialNumber); + } else { + new AndroidDeviceModelNode(compatibleDevices, device); + continue; + } + if (!incompatibleDevices) + incompatibleDevices = new AndroidDeviceModelNode(m_root, AndroidDeviceDialog::tr("Incompatible devices")); + new AndroidDeviceModelNode(incompatibleDevices, device, error); + } + endResetModel(); +} + +QModelIndex AndroidDeviceModel::indexFor(const QString &serial) +{ + foreach (AndroidDeviceModelNode *topLevelNode, m_root->children()) { + QList<AndroidDeviceModelNode *> deviceNodes = topLevelNode->children(); + for (int i = 0; i < deviceNodes.size(); ++i) { + if (deviceNodes.at(i)->deviceInfo().serialNumber == serial) + return createIndex(i, 0, deviceNodes.at(i)); + } + } + return QModelIndex(); +} + +///////////////// +// AndroidDeviceDialog +///////////////// + +static inline QString msgConnect() +{ + return AndroidDeviceDialog::tr("<p>Connect an Android device via USB and activate developer mode on it. " + "Some devices require the installation of a USB driver.</p>"); + +} + +static inline QString msgAdbListDevices() +{ + return AndroidDeviceDialog::tr("<p>The adb tool in the Android SDK lists all connected devices if run via "adb devices".</p>"); +} + +AndroidDeviceDialog::AndroidDeviceDialog(QWidget *parent) : + QDialog(parent), + m_model(new AndroidDeviceModel()), + m_ui(new Ui::AndroidDeviceDialog) +{ + m_ui->setupUi(this); + m_ui->deviceView->setModel(m_model); + m_ui->deviceView->setItemDelegate(new AndroidDeviceModelDelegate(m_ui->deviceView)); + m_ui->deviceView->setHeaderHidden(true); + m_ui->deviceView->setRootIsDecorated(false); + m_ui->deviceView->setUniformRowHeights(true); + m_ui->deviceView->setExpandsOnDoubleClick(false); + + m_ui->defaultDeviceCheckBox->setText(tr("Always use this device for this session")); + + m_ui->noDeviceFoundLabel->setText(QLatin1String("<p align=\"center\"><span style=\" font-size:16pt;\">") + + tr("No Device Found") + QLatin1String("</span></p><br/>") + + msgConnect() + QLatin1String("<br/>") + + msgAdbListDevices()); + connect(m_ui->missingLabel, SIGNAL(linkActivated(QString)), + this, SLOT(showHelp())); + + connect(m_ui->refreshDevicesButton, SIGNAL(clicked()), + this, SLOT(refreshDeviceList())); + + connect(m_ui->deviceView, SIGNAL(doubleClicked(QModelIndex)), + this, SLOT(accept())); + + refreshDeviceList(); +} + +AndroidDeviceDialog::~AndroidDeviceDialog() +{ + delete m_ui; +} + +AndroidDeviceInfo AndroidDeviceDialog::device() +{ + if (result() == QDialog::Accepted) + return m_model->device(m_ui->deviceView->currentIndex()); + return AndroidDeviceInfo(); +} + +void AndroidDeviceDialog::accept() +{ + QDialog::accept(); +} + +bool AndroidDeviceDialog::saveDeviceSelection() +{ + return m_ui->defaultDeviceCheckBox->isChecked(); +} + +void AndroidDeviceDialog::refreshDeviceList() +{ + QString serialNumber; + QModelIndex currentIndex = m_ui->deviceView->currentIndex(); + if (currentIndex.isValid()) + serialNumber = m_model->device(currentIndex).serialNumber; + + QVector<AndroidDeviceInfo> devices; + foreach (const AndroidDeviceInfo &info, connectedDevices()) + if (info.type == AndroidDeviceInfo::Hardware) + devices << info; + + m_model->setDevices(devices); + + m_ui->deviceView->expand(m_model->index(0, 0)); + if (m_model->rowCount() > 1) // we have a incompatible device node + m_ui->deviceView->expand(m_model->index(1, 0)); + + // Smartly select a index + QModelIndex newIndex; + if (!serialNumber.isEmpty()) + newIndex = m_model->indexFor(serialNumber); + + if (!newIndex.isValid() && !devices.isEmpty()) + newIndex = m_model->indexFor(devices.first().serialNumber); + + m_ui->deviceView->setCurrentIndex(newIndex); + + m_ui->stackedWidget->setCurrentIndex(devices.isEmpty() ? 1 : 0); +} + + +// Does not work. +void AndroidDeviceDialog::clickedOnView(const QModelIndex &idx) +{ + if (idx.isValid()) { + AndroidDeviceModelNode *node = static_cast<AndroidDeviceModelNode *>(idx.internalPointer()); + if (!node->displayName().isEmpty()) { + if (m_ui->deviceView->isExpanded(idx)) + m_ui->deviceView->collapse(idx); + else + m_ui->deviceView->expand(idx); + } + } +} + +void AndroidDeviceDialog::showHelp() +{ + QPoint pos = m_ui->missingLabel->pos(); + pos = m_ui->missingLabel->parentWidget()->mapToGlobal(pos); + QToolTip::showText(pos, msgConnect() + msgAdbListDevices(), this); +} + +QVector<AndroidDeviceInfo> AndroidDeviceDialog::connectedDevices(QString *error) +{ + // shamelessly stolen from qtcreator :) + // Well, not exactly shamelessly, because is more or leass my work though :) + QVector<AndroidDeviceInfo> devices; + QProcess adbProc; + QString adbPath = AndroidDeviceInfo::adbPath(); + adbProc.start(adbPath, QStringList() << QLatin1String("devices")); + if (!adbProc.waitForFinished(10000)) { + adbProc.kill(); + if (error) + *error = tr("Could not run: %1").arg(adbPath + QLatin1String(" devices")); + return devices; + } + QList<QByteArray> adbDevs = adbProc.readAll().trimmed().split('\n'); + if (adbDevs.empty()) + return devices; + + while (adbDevs.first().startsWith("* daemon")) + adbDevs.removeFirst(); // remove the daemon logs + adbDevs.removeFirst(); // remove "List of devices attached" header line + + // workaround for '????????????' serial numbers: + // can use "adb -d" when only one usb device attached + foreach (const QByteArray &device, adbDevs) { + const QString serialNo = QString::fromLatin1(device.left(device.indexOf('\t')).trimmed()); + const QString deviceType = QString::fromLatin1(device.mid(device.indexOf('\t'))).trimmed(); + AndroidDeviceInfo dev; + dev.serialNumber = serialNo; + dev.type = serialNo.startsWith(QLatin1String("emulator")) ? AndroidDeviceInfo::Emulator : AndroidDeviceInfo::Hardware; + if (deviceType == QLatin1String("unauthorized")) + dev.state = AndroidDeviceInfo::UnAuthorizedState; + else if (deviceType == QLatin1String("offline")) + dev.state = AndroidDeviceInfo::OfflineState; + else + dev.state = AndroidDeviceInfo::OkState; + devices.push_back(dev); + } + + std::sort(devices.begin(), devices.end(), androidDevicesLessThan); + if (devices.isEmpty() && error) + *error = tr("No devices found in output of: %1").arg(adbPath + QLatin1String(" devices")); + return devices; +} diff --git a/gui/androiddevicedialog.h b/gui/androiddevicedialog.h new file mode 100644 index 00000000..0b994c6a --- /dev/null +++ b/gui/androiddevicedialog.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** 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 Digia. For licensing terms and +** conditions see http://www.qt.io/licensing. 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. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#pragma once + +#include "androidutils.h" + +#include <QVector> +#include <QDialog> + +class AndroidDeviceModel; +namespace Ui { class AndroidDeviceDialog; } + +class AndroidDeviceDialog : public QDialog +{ + Q_OBJECT + +public: + explicit AndroidDeviceDialog(QWidget *parent = 0); + ~AndroidDeviceDialog(); + + AndroidDeviceInfo device(); + void accept(); + bool saveDeviceSelection(); + +private slots: + void refreshDeviceList(); + void clickedOnView(const QModelIndex &idx); + void showHelp(); + +private: + QVector<AndroidDeviceInfo> connectedDevices(QString *error = 0); + +private: + AndroidDeviceModel *m_model; + Ui::AndroidDeviceDialog *m_ui; +}; + diff --git a/gui/androidfiledialog.cpp b/gui/androidfiledialog.cpp new file mode 100644 index 00000000..e3c1479a --- /dev/null +++ b/gui/androidfiledialog.cpp @@ -0,0 +1,279 @@ +#include "androidfiledialog.h" +#include "androidutils.h" + +#include "ui_androidfiledialog.h" + +#include <QAbstractTableModel> +#include <QApplication> +#include <QFileInfo> + +typedef QLatin1String _; + +static bool androidFileLessThan(const AndroidUtils::FileInfo &file1, const AndroidUtils::FileInfo &file2) +{ + if (file1.type != file2.type) + return file1.type == AndroidUtils::FileInfo::Directory; + return file1.name < file2.name; +} + +const int FileInfoRole = Qt::UserRole + 1; + +static QString humanSize(double size) +{ + QStringList list; + list << " KB" << " MB" << " GB"; + + QStringListIterator i(list); + QString unit("bytes"); + + while(size >= 1024.0 && i.hasNext()) + { + unit = i.next(); + size /= 1024.0; + } + + return QString::number(size, 'f', 2) + unit; +} + +class AndroidFileDialogModel : public QAbstractTableModel +{ +public: + AndroidFileDialogModel(QObject * parent = 0) + : QAbstractTableModel(parent) + {} + + void setDir(const QString &dir) + { + m_fileList = m_androidUtils.ls(dir + _("/")); + setFilterSuffix(m_suffix); + } + + void setFilterSuffix(const QString &suffix) + { + m_suffix = suffix; + beginResetModel(); + if (!m_suffix.isEmpty()) { + AndroidUtils::FileInfoList::iterator it = m_fileList.begin(); + while(it != m_fileList.end()) { + if (it->type == AndroidUtils::FileInfo::File && + !it->name.endsWith(m_suffix)) { + it = m_fileList.erase(it); + } else { + ++it; + } + } + } + std::sort(m_fileList.begin(), m_fileList.end(), androidFileLessThan); + endResetModel(); + } + + virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const + { + if (!index.isValid() || index.row() >= m_fileList.size()) + return QVariant(); + + QVariant ret; + switch (role) { + case Qt::DisplayRole: + switch (index.column()) { + case 0: + ret = m_fileList.at(index.row()).name; + break; + case 1: + { + const AndroidUtils::FileInfo &file = m_fileList.at(index.row()); + if (file.type == AndroidUtils::FileInfo::File) + ret = humanSize(file.size); + } + break; + default: + break; + } + break; + + case Qt::DecorationRole: + if (index.column() == 0) { + if (m_fileList.at(index.row()).type == AndroidUtils::FileInfo::File) + ret = qApp->style()->standardIcon(QStyle::SP_FileIcon); + else + ret = qApp->style()->standardIcon(QStyle::SP_DirIcon); + } + break; + + case Qt::TextAlignmentRole: + ret = int(index.column() == 1 ? Qt::AlignRight : Qt::AlignLeft) | Qt::AlignVCenter; + break; + + case FileInfoRole: + ret = QVariant::fromValue(m_fileList.at(index.row())); + break; + default: + break; + } + return ret; + } + virtual QVariant headerData(int section, Qt::Orientation orientation, + int role = Qt::DisplayRole) const { + if (orientation != Qt::Horizontal || role != Qt::DisplayRole) + return QVariant(); + + QVariant ret; + switch (section) { + case 0: + ret = tr("Name"); + break; + case 1: + ret = tr("Size"); + break; + } + return ret; + } + + virtual int columnCount(const QModelIndex &parent = QModelIndex()) const + { + return 2; + } + + virtual int rowCount(const QModelIndex &parent = QModelIndex()) const + { + if (parent.isValid()) + return 0; + return m_fileList.size(); + } + +private: + AndroidUtils m_androidUtils; + QString m_suffix; + AndroidUtils::FileInfoList m_fileList; +}; + +AndroidFileDialog::AndroidFileDialog(Mode mode, QWidget *parent) + : QDialog(parent), + m_ui(new Ui::AndroidFileDialog), + m_model(new AndroidFileDialogModel(this)), + m_mode(mode) +{ + m_ui->setupUi(this); + m_ui->pathComboBox->setModel(&m_pathModel); + m_ui->filesView->setModel(m_model); + m_ui->upButton->setIcon(qApp->style()->standardIcon(QStyle::SP_ArrowUp)); + m_ui->buttonBox->setStandardButtons(QDialogButtonBox::StandardButton(m_mode) | QDialogButtonBox::Cancel); + connect(m_ui->buttonBox, SIGNAL(accepted()), SLOT(accept())); + connect(m_ui->upButton, SIGNAL(clicked()), SLOT(upFolder())); + connect(m_ui->pathComboBox, SIGNAL(activated(QString)), SLOT(setDir(QString))); + QHeaderView *hv = m_ui->filesView->horizontalHeader(); + hv->setSectionResizeMode(0, QHeaderView::Stretch); + hv->setSectionResizeMode(1, QHeaderView::ResizeToContents); + connect(m_ui->filesView, SIGNAL(activated(QModelIndex)), SLOT(itemActivated(QModelIndex))); +} + +AndroidFileDialog::~AndroidFileDialog() +{ + delete m_model; +} + +void AndroidFileDialog::setInitialPath(const QString &path) +{ + AndroidUtils::FileInfoList files = AndroidUtils().ls(path); + if (files.size() == 1 && files.at(0).type == AndroidUtils::FileInfo::File) { + QFileInfo fi(path); + m_ui->fileLineEdit->setText(fi.fileName()); + setDir(fi.absolutePath()); + } else { + if (files.isEmpty() && m_mode == SaveFile) { + QFileInfo fi(path); + m_ui->fileLineEdit->setText(fi.fileName()); + setDir(fi.absolutePath()); + } else { + m_ui->fileLineEdit->setText(QString()); + setDir(path); + } + } +} + +void AndroidFileDialog::setSuffix(const QString &suffix) +{ + m_model->setFilterSuffix(suffix); +} + +QString AndroidFileDialog::filePath() const +{ + return m_dir + _("/") + m_ui->fileLineEdit->text(); +} + +QString AndroidFileDialog::getOpenFileName(QWidget *parent, const QString &caption, const QString &path, const QString &filter) +{ + AndroidFileDialog d(OpenFile, parent); + d.setWindowTitle(caption); + d.setSuffix(filter); + d.setInitialPath(path); + if (d.exec() == QDialog::Accepted) + return d.filePath(); + return QString(); +} + +QString AndroidFileDialog::getSaveFileName(QWidget *parent, const QString &caption, const QString &path, const QString &filter) +{ + AndroidFileDialog d(SaveFile, parent); + d.setWindowTitle(caption); + d.setSuffix(filter); + d.setInitialPath(path); + if (d.exec() == QDialog::Accepted) + return d.filePath(); + return QString(); +} + +void AndroidFileDialog::accept() +{ + if (m_mode == SaveFile) { + QDialog::accept(); + return; + } + AndroidUtils::FileInfoList files = AndroidUtils().ls(filePath()); + if (files.size() == 1 && files.at(0).type == AndroidUtils::FileInfo::File) + QDialog::accept(); +} + +void AndroidFileDialog::upFolder() +{ + setDir(QFileInfo(m_dir).absolutePath()); +} + +void AndroidFileDialog::itemActivated(QModelIndex index) +{ + QVariant file = index.data(FileInfoRole); + if (file.isNull()) + return; + AndroidUtils::FileInfo f = file.value<AndroidUtils::FileInfo>(); + if (f.type == AndroidUtils::FileInfo::Directory) { + setDir(m_dir + _("/") + f.name); + } else { + m_ui->fileLineEdit->setText(f.name); + accept(); + } +} + +void AndroidFileDialog::setDir(const QString &dir) +{ + m_dir = dir; + while (m_dir.endsWith(QLatin1Char('/'))) + m_dir.chop(1); + + if (m_dir.isEmpty()) + m_dir = _("/"); + + QStringList paths; + QString dirname = m_dir; + paths << dirname; + while (dirname != _("/")) { + dirname = QFileInfo(dirname).absolutePath(); + paths << dirname; + } + + m_pathModel.setStringList(paths); + m_ui->pathComboBox->setCurrentIndex(0); + m_ui->upButton->setEnabled(paths.size() > 1); + m_model->setDir(dir); +} + +Q_DECLARE_METATYPE(AndroidUtils::FileInfo); diff --git a/gui/androidfiledialog.h b/gui/androidfiledialog.h new file mode 100644 index 00000000..ac626ef0 --- /dev/null +++ b/gui/androidfiledialog.h @@ -0,0 +1,45 @@ +#pragma once + +#include <QDialog> +#include <QDialogButtonBox> +#include <QStringListModel> +#include <QModelIndex> + +class AndroidFileDialogModel; + +namespace Ui { class AndroidFileDialog; } + +class AndroidFileDialog : public QDialog +{ + Q_OBJECT + enum Mode { + OpenFile = QDialogButtonBox::Open, + SaveFile = QDialogButtonBox::Save + }; + +public: + explicit AndroidFileDialog(Mode mode, QWidget *parent = 0); + ~AndroidFileDialog(); + + void setInitialPath(const QString &path); + void setSuffix(const QString &suffix); + QString filePath() const; + void setMode(Mode mode); + + static QString getOpenFileName(QWidget *parent = 0, const QString &caption = QString(), const QString &path = QString(), const QString &suffix = QString()); + static QString getSaveFileName(QWidget *parent = 0, const QString &caption = QString(), const QString &path = QString(), const QString &filter = QString()); + +private slots: + virtual void accept(); + void upFolder(); + void itemActivated(QModelIndex index); + void setDir(const QString &dir); + +private: + QString m_dir; + QStringListModel m_pathModel; + Ui::AndroidFileDialog *m_ui; + AndroidFileDialogModel *m_model; + Mode m_mode; +}; + diff --git a/gui/androidretracer.cpp b/gui/androidretracer.cpp new file mode 100644 index 00000000..de70606d --- /dev/null +++ b/gui/androidretracer.cpp @@ -0,0 +1,326 @@ +#include "androidretracer.h" + +#include "androiddevicedialog.h" + +#include "thumbnail.h" + +#include "image/image.hpp" +#include "trace_profiler.hpp" + +#include <QHostAddress> +#include <QSettings> +#include <QTime> +#include <QBuffer> + +#include "qubjson.h" + +typedef QLatin1String _; + +static QLatin1String packageName("apitrace.github.io.eglretrace"); +static QLatin1String activityName("/.RetraceActivity"); + +AndroidRetracer::AndroidRetracer(QObject *parent) + : Retracer(parent), + m_stdoutPort(52341), + m_stderrPort(52342) +{ + connect(&m_androidUtils, SIGNAL(statusMessage(QString)), + SIGNAL(statusMessage(QString))); +} + +void AndroidRetracer::setAndroidFileName(const QString &fileName) +{ + m_androdiFileName = fileName; +} + +static int extractPidFromChunk(const QByteArray &chunk, int from) +{ + int pos1 = chunk.indexOf(' ', from); + if (pos1 == -1) + return -1; + while (chunk[pos1] == ' ') + ++pos1; + int pos3 = chunk.indexOf(' ', pos1); + int pid = chunk.mid(pos1, pos3 - pos1).toInt(); + return pid; +} + +static int extractPid(const QByteArray &psOutput) +{ + static const QByteArray needle("apitrace.github.io.eglretrace\r"); + const int to = psOutput.indexOf(needle); + if (to == -1) + return -1; + const int from = psOutput.lastIndexOf('\n', to); + if (from == -1) + return -1; + return extractPidFromChunk(psOutput, from); +} + +static QByteArray readLine(QTcpSocket &sock) +{ + while (!sock.canReadLine() && sock.waitForReadyRead()); + if (sock.state() != QAbstractSocket::ConnectedState) + return QByteArray(); + return sock.readLine(); +} + +static bool read(QTcpSocket &sock, char *ptr, qint64 sz) +{ + do { + qint64 readBytes = sock.read(ptr, sz); + ptr += readBytes; + sz -= readBytes; + } while(sz && sock.waitForReadyRead()); + return sz == 0; +} + +void AndroidRetracer::run() +{ + m_androidUtils.reloadAdb(); + QString errorStr; + bool setupRet; + QMetaObject::invokeMethod(this, "setup", Qt::BlockingQueuedConnection, + Q_RETURN_ARG(bool, setupRet), + Q_ARG(QString *, &errorStr)); + + if (!setupRet) { + emit finished(errorStr); + return; + } + + if (!m_androidUtils.runAdb(QStringList() << _("shell") << _("am") << _("start") << _("-n") << packageName + activityName)) { + emit finished(tr("Can't start apitrace application")); + return; + } + QByteArray which; + if (!m_androidUtils.runAdb(QStringList() << _("shell") << _("readlink") << _("$(which ps)") , &which)) { + emit finished(tr("Can't start adb")); + return; + } + + bool isBusyBox = which.startsWith("busybox"); + QStringList psArgs; + psArgs << _("shell") << _("ps"); + if (isBusyBox) + psArgs << _("-w"); + + qint64 processPID; + bool wasStarted = false; + QTime startTime; + startTime.start(); + + QTcpSocket stdoutSocket; + QTcpSocket stderrSocket; + + ImageHash thumbnails; + + QVariantMap parsedJson; + trace::Profile* profile = isProfiling() ? new trace::Profile() : NULL; + + QList<ApiTraceError> errors; + QRegExp regexp("(^\\d+): +(\\b\\w+\\b): ([^\\r\\n]+)[\\r\\n]*$"); + + QString msg = QLatin1String("Replay finished!"); + QByteArray ubjsonBuffer; + QByteArray outputBuffer; + bool keepGoing = true; + while(keepGoing) { + if (!wasStarted || startTime.elapsed() > 1000) { + QByteArray psOut; + m_androidUtils.runAdb(psArgs, &psOut); + processPID = extractPid(psOut); + if (wasStarted) + startTime.restart(); + } + + if (processPID == -1) { + if (wasStarted) { + break; + } else { + if (startTime.elapsed() > 3000) { // wait 3 seconds to start + emit finished(tr("Unable to start retrace on device.")); + return; + } + } + msleep(100); + continue; + } + + // we have a valid pid, it means the application started + if (!wasStarted) { + // connect the sockets + int tries = 0; + do { + stdoutSocket.connectToHost(QHostAddress::LocalHost, m_stdoutPort); + } while (!stdoutSocket.waitForConnected(100) && ++tries < 10); + if (stdoutSocket.state() != QAbstractSocket::ConnectedState) { + emit finished(tr("Can't connect to stdout socket.")); + return; + } + + // Android doesn't suport GPU and PPD profiling (at leats not on my devices) + //setProfiling(false, isProfilingCpu(), false); + + QString args = (retraceArguments() << m_androdiFileName).join(" ") + _("\n"); + stdoutSocket.write(args.toUtf8()); + if (!stdoutSocket.waitForBytesWritten()) { + emit finished(tr("Can't send params.")); + return; + } + + + stderrSocket.connectToHost(QHostAddress::LocalHost, m_stderrPort); + stderrSocket.waitForConnected(100); + if (stderrSocket.state() != QAbstractSocket::ConnectedState) { + emit finished(tr("Can't connect to stderr socket.")); + return; + } + wasStarted = true; + } + + // We are going to read both channels at the same time + + // read stdout channel + if (stdoutSocket.waitForReadyRead(100)) { + if (captureState()) + ubjsonBuffer.append(stdoutSocket.readAll()); + else if (captureThumbnails()) { + // read one image + image::PNMInfo info; + QByteArray header; + int headerLines = 3; // assume no optional comment line + for (int headerLine = 0; headerLine < headerLines; ++headerLine) { + QByteArray line = readLine(stdoutSocket); + if (line.isEmpty()) { + keepGoing = false; + break; + } + header += line; + // if header actually contains optional comment line, ... + if (headerLine == 1 && line[0] == '#') { + ++headerLines; + } + } + + const char *headerEnd = image::readPNMHeader(header.constData(), header.size(), info); + + // if invalid PNM header was encountered, ... + if (headerEnd == NULL || + info.channelType != image::TYPE_UNORM8) { + qDebug() << "error: invalid snapshot stream encountered"; + keepGoing = false; + break; + } + + unsigned channels = info.channels; + unsigned width = info.width; + unsigned height = info.height; + + // qDebug() << "channels: " << channels << ", width: " << width << ", height: " << height"; + + QImage snapshot = QImage(width, height, channels == 1 ? QImage::Format_Mono : QImage::Format_RGB888); + + int rowBytes = channels * width; + for (int y = 0; y < height; ++y) { + unsigned char *scanLine = snapshot.scanLine(y); + if (!read(stdoutSocket, (char *) scanLine, rowBytes)) { + keepGoing = false; + break; + } + } + + QImage thumb = thumbnail(snapshot); + thumbnails.insert(info.commentNumber, thumb); + } else if (isProfiling()) { + QByteArray line = readLine(stdoutSocket); + if (line.isEmpty()) { + keepGoing = false; + break; + } + line.append('\0'); + trace::Profiler::parseLine(line.constData(), profile); + } else { + outputBuffer.append(stdoutSocket.readAll()); + } + } + + // read stderr channel + if (stderrSocket.waitForReadyRead(5) && stderrSocket.canReadLine()) { + QString line = stderrSocket.readLine(); + if (regexp.indexIn(line) != -1) { + ApiTraceError error; + error.callIndex = regexp.cap(1).toInt(); + error.type = regexp.cap(2); + error.message = regexp.cap(3); + errors.append(error); + } else if (!errors.isEmpty()) { + // Probably a multiligne message + ApiTraceError &previous = errors.last(); + if (line.endsWith("\n")) { + line.chop(1); + } + previous.message.append('\n'); + previous.message.append(line); + } + } + } + + if (outputBuffer.size() < 80) + msg = outputBuffer; + + if (captureState()) { + QBuffer io(&ubjsonBuffer); + io.open(QIODevice::ReadOnly); + + parsedJson = decodeUBJSONObject(&io).toMap(); + ApiTraceState *state = new ApiTraceState(parsedJson); + emit foundState(state); + } + + if (captureThumbnails() && !thumbnails.isEmpty()) { + emit foundThumbnails(thumbnails); + } + + if (isProfiling() && profile) { + emit foundProfile(profile); + } + + if (!errors.isEmpty()) { + emit retraceErrors(errors); + } + + emit finished(msg); +} + +bool AndroidRetracer::setup(QString *error) +{ + m_androidUtils.reloadAdb(); + if (m_androidUtils.serialNumber().isEmpty()) { + *error = tr("No device selected"); + return false; + } + + // forward adbPorts + QSettings s; + s.beginGroup(_("android")); + m_stdoutPort = s.value(_("stdoutPort"), m_stdoutPort).toInt(); + m_stderrPort = s.value(_("stderrPort"), m_stderrPort).toInt(); + s.endGroup(); + + if (!m_androidUtils.runAdb(QStringList(_("forward")) + << QString::fromLatin1("tcp:%1").arg(m_stdoutPort) + << _("localabstract:apitrace.github.io.eglretrace.stdout"))) { + *error = tr("Can't forward ports"); + return false; + } + + if (!m_androidUtils.runAdb(QStringList(_("forward")) + << QString::fromLatin1("tcp:%1").arg(m_stderrPort) + << _("localabstract:apitrace.github.io.eglretrace.stderr"))) { + *error = tr("Can't forward ports"); + return false; + } + + return true; +} diff --git a/gui/androidretracer.h b/gui/androidretracer.h new file mode 100644 index 00000000..f2c758e5 --- /dev/null +++ b/gui/androidretracer.h @@ -0,0 +1,33 @@ +#pragma once + +#include <QAtomicInt> +#include <QTcpSocket> + +#include "androidutils.h" +#include "retracer.h" + +class AndroidRetracer : public Retracer +{ + Q_OBJECT +public: + AndroidRetracer(QObject *parent); + + void setAndroidFileName(const QString &fileName); + +signals: + void statusMessage(const QString &message); + +protected: + void run(); + +private slots: + bool setup(QString *error); + +private: + QString m_androdiFileName; + QString m_serialNumber; + AndroidUtils m_androidUtils; + int m_stdoutPort; + int m_stderrPort; +}; + diff --git a/gui/androidutils.cpp b/gui/androidutils.cpp new file mode 100644 index 00000000..ac0ca263 --- /dev/null +++ b/gui/androidutils.cpp @@ -0,0 +1,185 @@ +#include "androidutils.h" +#include "androiddevicedialog.h" + +#include <QCoreApplication> +#include <QByteArray> +#include <QFileInfo> +#include <QProcess> +#include <QSettings> +#include <QStringList> + +typedef QLatin1String _; + +static QString s_androidSerialNumber; + +QStringList AndroidDeviceInfo::adbSelector(const QString &serialNumber) +{ + if (serialNumber.startsWith(_("????"))) + return QStringList() << _("-d"); + return QStringList() << _("-s") << serialNumber; +} + +QString AndroidDeviceInfo::adbPath() +{ + QSettings s; + s.beginGroup(_("android")); + return s.value(_("adbPath"), _("adb")).toString(); +} + +AndroidUtils::FileInfo::FileInfo() +{ + type = File; + size = 0; +} + +AndroidUtils::AndroidUtils() +{ + m_wait = 30000; + reloadAdb(); +} + +void AndroidUtils::reloadAdb() +{ + m_adbPath = AndroidDeviceInfo::adbPath(); +} + +QString AndroidUtils::serialNumber() const +{ + if (m_serialNumber.isEmpty()) + m_serialNumber = s_androidSerialNumber; + + if (m_serialNumber.isEmpty()) { + AndroidDeviceDialog ad; + if (ad.exec() != QDialog::Accepted) + return QString(); + + m_serialNumber = ad.device().serialNumber; + if (ad.saveDeviceSelection()) + s_androidSerialNumber = m_serialNumber; + } + return m_serialNumber; +} + +bool AndroidUtils::runAdb(const QStringList ¶ms, QByteArray *output) const +{ + QProcess adbProcess; + adbProcess.start(m_adbPath, AndroidDeviceInfo::adbSelector(serialNumber()) << params); + if (!output) + connect(&adbProcess, SIGNAL(readyReadStandardError()), SLOT(processReadyRead())); + + if (!adbProcess.waitForStarted()) + return false; + + if (!adbProcess.waitForFinished(m_wait > INT_MAX ? -1 : m_wait)) + return false; + + if (output) + *output = adbProcess.readAll(); + return true; +} + +AndroidUtils::FileInfoList AndroidUtils::ls(const QString &path) const +{ + m_wait = 10000; + FileInfoList ret; + QByteArray lsOutput; + runAdb(QStringList(_("shell")) << _("ls") << _("-l") << path, &lsOutput); + foreach (const QByteArray &line, lsOutput.split('\n')) { + if (line.isEmpty() || line[10] != ' ') + continue; + + int pos = line.indexOf(':'); + if (pos == -1) + continue; + pos += 3; + if (pos >= line.size()) + continue; + + FileInfo f; + // Assume all links are directories + f.type = (line[0] == 'd' || line[0] == 'l') ? FileInfo::Directory : FileInfo::File; + f.name = line.mid(pos).trimmed(); + if (f.type == FileInfo::File) { + pos = line.lastIndexOf('-', pos); + if (pos < 4) + continue; + pos = line.lastIndexOf('-', pos -1); + if (pos < 3) + continue; + pos = line.lastIndexOf(' ', pos -1); + if (pos < 2) + continue; + int startPos = line.lastIndexOf(' ', pos -1); + if (startPos == -1) + continue; + f.size = line.mid(startPos, pos - startPos).trimmed().toLongLong(); + } else if (line[0] == 'l') { + // Fix links + pos = f.name.indexOf(_("->")); + if (pos < 2) + continue; + f.name = f.name.left(pos - 1).trimmed(); + } + ret << f; + } + return ret; +} + +bool AndroidUtils::sameFile(const QString &localPath, const QString &devicePath) +{ + QFileInfo fi(localPath); + QList<FileInfo> deviceFiles = ls(devicePath); + return fi.exists() && (deviceFiles.size() == 1) && (deviceFiles.first().size == fi.size()); +} + +bool AndroidUtils::updateFile(const QString &localPath, const QString &devicePath, UpdateType updateType) +{ + if (sameFile(localPath, devicePath)) + return true; + + QFileInfo fi(localPath); + QList<FileInfo> deviceFiles = ls(devicePath); + + switch (updateType) { + case PushLocalToDevice: + if (!fi.exists()) + return false; + + m_wait = std::min(fi.size() / 1024, qint64(30000)); + if (!runAdb(QStringList()<< _("push") << _("-p") << localPath << devicePath)) + return false; + + deviceFiles = ls(devicePath); + + if (deviceFiles.size() != 1 || deviceFiles.first().size != fi.size()) + return false; // pushing to device failed + break; + + case PullFromDeviceToLocal: + if (deviceFiles.size() != 1) + return false; + + m_wait = std::min(deviceFiles.at(0).size / 1024, qint64(30000)); + if (!runAdb(QStringList()<< _("pull") << _("-p") << devicePath << localPath)) + return false; + + fi = QFileInfo(localPath); + if (!fi.exists() || deviceFiles.first().size != fi.size()) + return false; // pulling from device failed + break; + } + return true; +} + +void AndroidUtils::processReadyRead() +{ + QProcess *proc = qobject_cast<QProcess *>(QObject::sender()); + if (proc) { + QByteArray stdOutErr = proc->readAllStandardError(); + foreach (const QByteArray &line, stdOutErr.split('\r')) { + QString msg(line.trimmed()); + if (!msg.isEmpty()) + emit statusMessage(msg); + } + } +} diff --git a/gui/androidutils.h b/gui/androidutils.h new file mode 100644 index 00000000..60c8abea --- /dev/null +++ b/gui/androidutils.h @@ -0,0 +1,71 @@ +#pragma once + +#include <QList> +#include <QObject> +#include <QString> + +class QByteArray; +class QStringList; + + +struct AndroidDeviceInfo +{ + QString serialNumber; + enum State { OkState, UnAuthorizedState, OfflineState }; + State state; + bool unauthorized; + enum AndroidDeviceType { Hardware, Emulator }; + AndroidDeviceType type; + + static QStringList adbSelector(const QString &serialNumber); + static QString adbPath(); +}; + +class AndroidUtils : public QObject +{ + Q_OBJECT +public: + struct FileInfo + { + FileInfo(); + + enum Type { + File, + Directory + }; + Type type; + QString name; + qint64 size; + }; + + typedef QList<FileInfo> FileInfoList; + + enum UpdateType { + PushLocalToDevice, + PullFromDeviceToLocal + }; + +public: + AndroidUtils(); + + void reloadAdb(); + + QString serialNumber() const; + + bool runAdb(const QStringList ¶ms, QByteArray *output = 0) const; + FileInfoList ls(const QString &path) const; + + bool sameFile(const QString &localPath, const QString &devicePath); + bool updateFile(const QString &localPath, const QString &devicePath, UpdateType updateType); + +signals: + void statusMessage(const QString &message); + +private slots: + void processReadyRead(); + +private: + QString m_adbPath; + mutable qint64 m_wait; + mutable QString m_serialNumber; +}; diff --git a/gui/apicalldelegate.cpp b/gui/apicalldelegate.cpp index 9ad9f24a..d52e2d10 100644 --- a/gui/apicalldelegate.cpp +++ b/gui/apicalldelegate.cpp @@ -43,6 +43,8 @@ void ApiCallDelegate::paint(QPainter *painter, if (!thumbnail.isNull()) { painter->drawImage(offset, thumbnail); offset += QPoint(textSize.height() + thumbnail.width(), option.rect.height()/2 - textSize.height()/2); + } else { + frame->missingThumbnail(); } } @@ -54,6 +56,13 @@ void ApiCallDelegate::paint(QPainter *painter, } if (event->type() == ApiTraceEvent::Call) { ApiTraceCall *call = static_cast<ApiTraceCall*>(event); + const QImage & thumbnail = call->thumbnail(); + if (!thumbnail.isNull()) { + painter->drawImage(offset, thumbnail); + offset += QPoint(textSize.height() + thumbnail.width(), option.rect.height()/2 - textSize.height()/2); + } else if (call->flags() & trace::CALL_FLAG_RENDER) { + call->missingThumbnail(); + } if (call->hasError()) { QPixmap px = m_errorEmblem.pixmap(textSize.height(), textSize.height()); @@ -101,6 +110,15 @@ QSize ApiCallDelegate::sizeHint(const QStyleOptionViewItem &option, size.setHeight(thumbnail.height()); } } + } else if (event->type() == ApiTraceEvent::Call) { + ApiTraceCall *call = static_cast<ApiTraceCall*>(event); + const QImage & thumbnail = call->thumbnail(); + if (!thumbnail.isNull()) { + size.rwidth() += thumbnail.width(); + if (size.height() < thumbnail.height()) { + size.setHeight(thumbnail.height()); + } + } } return size; diff --git a/gui/apicalldelegate.h b/gui/apicalldelegate.h index 18c8b33a..c4379586 100644 --- a/gui/apicalldelegate.h +++ b/gui/apicalldelegate.h @@ -1,5 +1,4 @@ -#ifndef APICALLDELEGATE_H -#define APICALLDELEGATE_H +#pragma once #include <QStyledItemDelegate> @@ -20,5 +19,3 @@ private: QIcon m_editEmblem; QIcon m_errorEmblem; }; - -#endif diff --git a/gui/apisurface.cpp b/gui/apisurface.cpp index 22de5f0b..4f0a9173 100644 --- a/gui/apisurface.cpp +++ b/gui/apisurface.cpp @@ -25,29 +25,29 @@ void ApiSurface::setSize(const QSize &size) struct ByteArrayBuf : public std::streambuf { - ByteArrayBuf(QByteArray & a) + ByteArrayBuf(const QByteArray & a) { - setg(a.data(), a.data(), a.data() + a.size()); + setg((char *)a.data(), (char *)a.data(), (char *)a.data() + a.size()); } }; -void ApiSurface::contentsFromBase64(const QByteArray &base64) +void ApiSurface::setData(const QByteArray &data) { - m_base64Data = base64; + m_data = data; /* * We need to do the conversion to create the thumbnail */ - image::Image *image = imageFromBase64(base64); + image::Image *image = imageFromData(data); Q_ASSERT(image); QImage img = qimageFromRawImage(image); m_thumb = thumbnail(img); delete image; } -QByteArray ApiSurface::base64Data() const +QByteArray ApiSurface::data() const { - return m_base64Data; + return m_data; } QImage ApiSurface::thumb() const @@ -107,9 +107,8 @@ void ApiFramebuffer::setType(const QString &str) } image::Image * -ApiSurface::imageFromBase64(const QByteArray &base64) +ApiSurface::imageFromData(const QByteArray &dataArray) { - QByteArray dataArray = QByteArray::fromBase64(base64); image::Image *image; /* diff --git a/gui/apisurface.h b/gui/apisurface.h index 19fbce31..de5f531d 100644 --- a/gui/apisurface.h +++ b/gui/apisurface.h @@ -1,5 +1,4 @@ -#ifndef APISURFACE_H -#define APISURFACE_H +#pragma once #include <QImage> #include <QSize> @@ -23,12 +22,12 @@ public: QString formatName() const; void setFormatName(const QString &str); - void contentsFromBase64(const QByteArray &base64); + void setData(const QByteArray &data); - QByteArray base64Data() const; + QByteArray data() const; QImage thumb() const; - static image::Image *imageFromBase64(const QByteArray &data); + static image::Image *imageFromData(const QByteArray &data); static QImage qimageFromRawImage(const image::Image *img, float lowerValue = 0.0f, float upperValue = 1.0f, @@ -37,7 +36,7 @@ public: private: QSize m_size; - QByteArray m_base64Data; + QByteArray m_data; QImage m_thumb; int m_depth; QString m_formatName; @@ -68,5 +67,3 @@ private: QString m_type; }; - -#endif diff --git a/gui/apitrace.cpp b/gui/apitrace.cpp index 3f840eee..18556173 100644 --- a/gui/apitrace.cpp +++ b/gui/apitrace.cpp @@ -4,6 +4,7 @@ #include "saverthread.h" #include <QDebug> +#include <QFileInfo> #include <QDir> #include <QThread> @@ -44,6 +45,8 @@ ApiTrace::ApiTrace() this, SIGNAL(foundCallIndex(ApiTraceCall*))); + connect(m_loader, SIGNAL(parseProblem(const QString&)), + this, SIGNAL(problemLoadingTrace(const QString&))); connect(m_loader, SIGNAL(startedParsing()), this, SIGNAL(startedLoadingTrace())); connect(m_loader, SIGNAL(parsed(int)), @@ -173,11 +176,13 @@ ApiTraceState ApiTrace::defaultState() const void ApiTrace::callEdited(ApiTraceCall *call) { if (!m_editedCalls.contains(call)) { - //lets generate a temp filename + // Lets generate a temp filename + QFileInfo fileInfo(m_fileName); QString tempPath = QDir::tempPath(); - m_tempFileName = QString::fromLatin1("%1/%2.edited") - .arg(tempPath) - .arg(m_fileName); + m_tempFileName = QDir::tempPath(); + m_tempFileName += QDir::separator(); + m_tempFileName += fileInfo.fileName(); + m_tempFileName += QString::fromLatin1(".edited"); } m_editedCalls.insert(call); m_needsSaving = true; @@ -276,18 +281,19 @@ void ApiTrace::loaderFrameLoaded(ApiTraceFrame *frame, if (!m_queuedErrors.isEmpty()) { QList< QPair<ApiTraceFrame*, ApiTraceError> >::iterator itr; - for (itr = m_queuedErrors.begin(); itr != m_queuedErrors.end(); - ++itr) { + itr = m_queuedErrors.begin(); + while (itr != m_queuedErrors.end()) { const ApiTraceError &error = (*itr).second; if ((*itr).first == frame) { ApiTraceCall *call = frame->callWithIndex(error.callIndex); if (!call) { + ++itr; continue; } call->setError(error.message); - m_queuedErrors.erase(itr); + itr = m_queuedErrors.erase(itr); if (call->hasError()) { m_errors.insert(call); @@ -295,6 +301,8 @@ void ApiTrace::loaderFrameLoaded(ApiTraceFrame *frame, m_errors.remove(call); } emit changed(call); + } else { + ++itr; } } } @@ -459,22 +467,24 @@ int ApiTrace::callInFrame(int callIdx) const void ApiTrace::setCallError(const ApiTraceError &error) { int frameIdx = callInFrame(error.callIndex); - ApiTraceFrame *frame = 0; - if (frameIdx < 0) { return; } - frame = m_frames[frameIdx]; + ApiTraceFrame *frame = 0; + frame = m_frames[frameIdx]; if (frame->isLoaded()) { ApiTraceCall *call = frame->callWithIndex(error.callIndex); - call->setError(error.message); - if (call->hasError()) { - m_errors.insert(call); - } else { - m_errors.remove(call); + // call might be null if the error is in a filtered call + if (call) { + call->setError(error.message); + if (call->hasError()) { + m_errors.insert(call); + } else { + m_errors.remove(call); + } + emit changed(call); } - emit changed(call); } else { loadFrame(frame); m_queuedErrors.append(qMakePair(frame, error)); @@ -486,21 +496,80 @@ bool ApiTrace::isFrameLoading(ApiTraceFrame *frame) const return m_loadingFrames.contains(frame); } -void ApiTrace::bindThumbnailsToFrames(const QList<QImage> &thumbnails) +void ApiTrace::bindThumbnails(const ImageHash &thumbnails) { - QList<ApiTraceFrame *> frames = m_frames; + QHashIterator<int, QImage> i(thumbnails); - QList<QImage>::const_iterator thumbnail = thumbnails.begin(); + while (i.hasNext()) { + i.next(); - foreach (ApiTraceFrame *frame, frames) { - if (thumbnail != thumbnails.end()) { - frame->setThumbnail(*thumbnail); + if (!m_thumbnails.contains(i.key())) { + int callIndex = i.key(); + const QImage &thumbnail = i.value(); - ++thumbnail; + m_thumbnails.insert(callIndex, thumbnail); - emit changed(frame); + // find the frame associated with the call index + int frameIndex = 0; + while (frameAt(frameIndex)->lastCallIndex() < callIndex) { + ++frameIndex; + } + + ApiTraceFrame *frame = frameAt(frameIndex); + + // if the call was actually for a frame, ... + if (callIndex == frame->lastCallIndex()) { + frame->setThumbnail(thumbnail); + + emit changed(frame); + } else { + ApiTraceCall *call = frame->callWithIndex(callIndex); + if (call) { + call->setThumbnail(thumbnail); + + emit changed(call); + } + } } } } +void ApiTrace::missingThumbnail(ApiTraceFrame *frame) +{ + missingThumbnail(frame->lastCallIndex()); +} + +void ApiTrace::missingThumbnail(ApiTraceCall *call) +{ + missingThumbnail(call->index()); +} + +void ApiTrace::missingThumbnail(int callIdx) +{ + // technically, the contain() test is redundant, since this is a set; + // however, it enables debugging techniques to confirm correct behavior + if (!m_missingThumbnails.contains(callIdx)) { + //qDebug() << QLatin1String("debug: new missing thumbnail: ") << callIdx; + m_missingThumbnails.insert(callIdx); + } +} + +bool ApiTrace::isMissingThumbnails() const +{ + return !m_missingThumbnails.isEmpty(); +} +void ApiTrace::resetMissingThumbnails() +{ + m_missingThumbnails.clear(); +} + +void ApiTrace::iterateMissingThumbnails(void *object, ThumbnailCallback cb) +{ + //qDebug() << QLatin1String("debug: count of missing thumbnail list") << m_missingThumbnails.count(); + foreach (int thumbnailIndex, m_missingThumbnails) { + //qDebug() << QLatin1String("debug: iterate missing thumbnail list") << thumbnailIndex; + (*cb)(object, thumbnailIndex); + } +} + #include "apitrace.moc" diff --git a/gui/apitrace.h b/gui/apitrace.h index 22bedec2..d7259924 100644 --- a/gui/apitrace.h +++ b/gui/apitrace.h @@ -1,5 +1,4 @@ -#ifndef APITRACE_H -#define APITRACE_H +#pragma once #include "apitracecall.h" @@ -12,6 +11,9 @@ class TraceLoader; class SaverThread; class QThread; +typedef void (*ThumbnailCallback)(void *object, int thumbnailIdx); +typedef QHash<int, QImage> ImageHash; + class ApiTrace : public QObject { Q_OBJECT @@ -77,6 +79,14 @@ public: trace::API api() const; + void missingThumbnail(ApiTraceFrame* frame); + void missingThumbnail(ApiTraceCall* call); + + bool isMissingThumbnails() const; + void resetMissingThumbnails(); + + void iterateMissingThumbnails(void *object, ThumbnailCallback cb); + public slots: void setFileName(const QString &name); void save(); @@ -95,11 +105,12 @@ public slots: void findCallIndex(int index); void setCallError(const ApiTraceError &error); - void bindThumbnailsToFrames(const QList<QImage> &thumbnails); + void bindThumbnails(const ImageHash &thumbnails); signals: void loadTrace(const QString &name); void requestFrame(ApiTraceFrame *frame); + void problemLoadingTrace(const QString &message); void startedLoadingTrace(); void loaded(int percent); void finishedLoadingTrace(); @@ -141,6 +152,8 @@ private slots: private: int callInFrame(int callIdx) const; bool isFrameLoading(ApiTraceFrame *frame) const; + + void missingThumbnail(int callIdx); private: QString m_fileName; QString m_tempFileName; @@ -159,6 +172,8 @@ private: QSet<ApiTraceCall*> m_errors; QList< QPair<ApiTraceFrame*, ApiTraceError> > m_queuedErrors; QSet<ApiTraceFrame*> m_loadingFrames; -}; -#endif + QSet<int> m_missingThumbnails; + + ImageHash m_thumbnails; +}; diff --git a/gui/apitracecall.cpp b/gui/apitracecall.cpp index a746cdd2..8ae03d0e 100644 --- a/gui/apitracecall.cpp +++ b/gui/apitracecall.cpp @@ -185,24 +185,17 @@ void VariantVisitor::visit(trace::Double *node) void VariantVisitor::visit(trace::String *node) { - m_variant = QVariant(QString::fromStdString(node->value)); + m_variant = QVariant(QString::fromLatin1(node->value)); } -void VariantVisitor::visit(trace::Enum *e) +void VariantVisitor::visit(trace::WString *node) { - ApiTraceEnumSignature *sig = 0; - - if (m_loader) { - sig = m_loader->enumSignature(e->sig->id); - } - if (!sig) { - sig = new ApiTraceEnumSignature(e->sig); - if (m_loader) { - m_loader->addEnumSignature(e->sig->id, sig); - } - } + m_variant = QVariant(QString::fromWCharArray(node->value)); +} - m_variant = QVariant::fromValue(ApiEnum(sig, e->value)); +void VariantVisitor::visit(trace::Enum *e) +{ + m_variant = QVariant::fromValue(ApiEnum(e->sig, e->value)); } void VariantVisitor::visit(trace::Bitmask *bitmask) @@ -237,42 +230,24 @@ void VariantVisitor::visit(trace::Repr *repr) repr->humanValue->visit(*this); } -ApiTraceEnumSignature::ApiTraceEnumSignature(const trace::EnumSig *sig) -{ - for (const trace::EnumValue *it = sig->values; - it != sig->values + sig->num_values; ++it) { - QPair<QString, signed long long> pair; - - pair.first = QString::fromStdString(it->name); - pair.second = it->value; - - m_names.append(pair); - } -} - -QString ApiTraceEnumSignature::name(signed long long value) const -{ - for (ValueList::const_iterator it = m_names.begin(); - it != m_names.end(); ++it) { - if (value == it->second) { - return it->first; - } - } - return QString::fromLatin1("%1").arg(value); -} - -ApiEnum::ApiEnum(ApiTraceEnumSignature *sig, signed long long value) +ApiEnum::ApiEnum(const trace::EnumSig *sig, signed long long value) : m_sig(sig), m_value(value) { + Q_ASSERT(m_sig); } QString ApiEnum::toString() const { - if (m_sig) { - return m_sig->name(m_value); + Q_ASSERT(m_sig); + + for (const trace::EnumValue *it = m_sig->values; + it != m_sig->values + m_sig->num_values; ++it) { + if (m_value == it->value) { + return QString::fromLatin1(it->name); + } } - Q_ASSERT(!"should never happen"); - return QString(); + + return QString::fromLatin1("%1").arg(m_value); } QVariant ApiEnum::value() const @@ -284,15 +259,6 @@ QVariant ApiEnum::value() const return QVariant(); } -QString ApiEnum::name() const -{ - if (m_sig) { - return m_sig->name(m_value); - } - Q_ASSERT(!"should never happen"); - return QString(); -} - unsigned long long ApiBitmask::value() const { return m_value; @@ -348,7 +314,7 @@ void ApiBitmask::init(const trace::Bitmask *bitmask) it != bitmask->sig->flags + bitmask->sig->num_flags; ++it) { QPair<QString, unsigned long long> pair; - pair.first = QString::fromStdString(it->name); + pair.first = QString::fromLatin1(it->name); pair.second = it->value; m_sig.append(pair); @@ -411,11 +377,11 @@ void ApiStruct::init(const trace::Struct *s) if (!s) return; - m_sig.name = QString::fromStdString(s->sig->name); + m_sig.name = QString::fromLatin1(s->sig->name); for (unsigned i = 0; i < s->sig->num_members; ++i) { - VariantVisitor vis(0); + VariantVisitor vis; m_sig.memberNames.append( - QString::fromStdString(s->sig->member_names[i])); + QString::fromLatin1(s->sig->member_names[i])); s->members[i]->visit(vis); m_members.append(vis.variant()); } @@ -458,7 +424,7 @@ void ApiArray::init(const trace::Array *arr) m_array.reserve(arr->values.size()); for (int i = 0; i < arr->values.size(); ++i) { - VariantVisitor vis(0); + VariantVisitor vis; arr->values[i]->visit(vis); m_array.append(vis.variant()); @@ -470,6 +436,34 @@ ApiTraceState::ApiTraceState() { } +static ApiTexture getTextureFrom(QVariantMap const &image, QString label) +{ + QSize size(image[QLatin1String("__width__")].toInt(), + image[QLatin1String("__height__")].toInt()); + QString cls = image[QLatin1String("__class__")].toString(); + int depth = + image[QLatin1String("__depth__")].toInt(); + QString formatName = + image[QLatin1String("__format__")].toString(); + + QByteArray dataArray = + image[QLatin1String("__data__")].toByteArray(); + + QString userLabel = + image[QLatin1String("__label__")].toString(); + if (!userLabel.isEmpty()) { + label += QString(", \"%1\"").arg(userLabel); + } + + ApiTexture tex; + tex.setSize(size); + tex.setDepth(depth); + tex.setFormatName(formatName); + tex.setLabel(label); + tex.setData(dataArray); + return tex; +} + ApiTraceState::ApiTraceState(const QVariantMap &parsedJson) { m_parameters = parsedJson[QLatin1String("parameters")].toMap(); @@ -487,29 +481,14 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson) m_uniforms = parsedJson[QLatin1String("uniforms")].toMap(); - QVariantMap textures = - parsedJson[QLatin1String("textures")].toMap(); - for (itr = textures.constBegin(); itr != textures.constEnd(); ++itr) { - QVariantMap image = itr.value().toMap(); - QSize size(image[QLatin1String("__width__")].toInt(), - image[QLatin1String("__height__")].toInt()); - QString cls = image[QLatin1String("__class__")].toString(); - int depth = - image[QLatin1String("__depth__")].toInt(); - QString formatName = - image[QLatin1String("__format__")].toString(); + m_buffers = parsedJson[QLatin1String("buffers")].toMap(); - QByteArray dataArray = - image[QLatin1String("__data__")].toByteArray(); - - ApiTexture tex; - tex.setSize(size); - tex.setDepth(depth); - tex.setFormatName(formatName); - tex.setLabel(itr.key()); - tex.contentsFromBase64(dataArray); - - m_textures.append(tex); + { + QVariantMap textures = + parsedJson[QLatin1String("textures")].toMap(); + for (itr = textures.constBegin(); itr != textures.constEnd(); ++itr) { + m_textures.append(getTextureFrom(itr.value().toMap(), itr.key())); + } } QVariantMap fbos = @@ -525,12 +504,19 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson) QByteArray dataArray = buffer[QLatin1String("__data__")].toByteArray(); + QString label = itr.key(); + QString userLabel = + buffer[QLatin1String("__label__")].toString(); + if (!userLabel.isEmpty()) { + label += QString(", \"%1\"").arg(userLabel); + } + ApiFramebuffer fbo; fbo.setSize(size); fbo.setDepth(depth); fbo.setFormatName(formatName); - fbo.setType(itr.key()); - fbo.contentsFromBase64(dataArray); + fbo.setType(label); + fbo.setData(dataArray); m_framebuffers.append(fbo); } } @@ -550,6 +536,11 @@ const QVariantMap & ApiTraceState::uniforms() const return m_uniforms; } +const QVariantMap & ApiTraceState::buffers() const +{ + return m_buffers; +} + bool ApiTraceState::isEmpty() const { return m_parameters.isEmpty() && @@ -607,8 +598,7 @@ void ApiTraceCallSignature::setHelpUrl(const QUrl &url) ApiTraceEvent::ApiTraceEvent() : m_type(ApiTraceEvent::None), - m_hasBinaryData(false), - m_binaryDataIndex(0), + m_binaryDataIndex(-1), m_state(0), m_staticText(0) { @@ -616,11 +606,11 @@ ApiTraceEvent::ApiTraceEvent() ApiTraceEvent::ApiTraceEvent(Type t) : m_type(t), - m_hasBinaryData(false), - m_binaryDataIndex(0), + m_binaryDataIndex(-1), m_state(0), m_staticText(0) { + Q_ASSERT(m_type == t); } ApiTraceEvent::~ApiTraceEvent() @@ -629,15 +619,6 @@ ApiTraceEvent::~ApiTraceEvent() delete m_staticText; } -QVariantMap ApiTraceEvent::stateParameters() const -{ - if (m_state) { - return m_state->parameters(); - } else { - return QVariantMap(); - } -} - ApiTraceState *ApiTraceEvent::state() const { return m_state; @@ -648,6 +629,16 @@ void ApiTraceEvent::setState(ApiTraceState *state) m_state = state; } +void ApiTraceEvent::setThumbnail(const QImage & thumbnail) +{ + m_thumbnail = thumbnail; +} + +const QImage & ApiTraceEvent::thumbnail() const +{ + return m_thumbnail; +} + ApiTraceCall::ApiTraceCall(ApiTraceFrame *parentFrame, TraceLoader *loader, const trace::Call *call) @@ -683,28 +674,27 @@ ApiTraceCall::loadData(TraceLoader *loader, m_signature = loader->signature(call->sig->id); if (!m_signature) { - QString name = QString::fromStdString(call->sig->name); + QString name = QString::fromLatin1(call->sig->name); QStringList argNames; argNames.reserve(call->sig->num_args); for (int i = 0; i < call->sig->num_args; ++i) { - argNames += QString::fromStdString(call->sig->arg_names[i]); + argNames += QString::fromLatin1(call->sig->arg_names[i]); } m_signature = new ApiTraceCallSignature(name, argNames); loader->addSignature(call->sig->id, m_signature); } if (call->ret) { - VariantVisitor retVisitor(loader); + VariantVisitor retVisitor; call->ret->visit(retVisitor); m_returnValue = retVisitor.variant(); } m_argValues.reserve(call->args.size()); for (int i = 0; i < call->args.size(); ++i) { if (call->args[i].value) { - VariantVisitor argVisitor(loader); + VariantVisitor argVisitor; call->args[i].value->visit(argVisitor); m_argValues.append(argVisitor.variant()); if (m_argValues[i].type() == QVariant::ByteArray) { - m_hasBinaryData = true; m_binaryDataIndex = i; } } else { @@ -910,11 +900,12 @@ QUrl ApiTraceCall::helpUrl() const bool ApiTraceCall::hasBinaryData() const { - return m_hasBinaryData; + return m_binaryDataIndex >= 0; } int ApiTraceCall::binaryDataIndex() const { + Q_ASSERT(hasBinaryData()); return m_binaryDataIndex; } @@ -1117,6 +1108,11 @@ bool ApiTraceCall::contains(const QString &str, return txt.contains(str, sensitivity); } +void ApiTraceCall::missingThumbnail() +{ + m_parentFrame->parentTrace()->missingThumbnail(this); +} + ApiTraceFrame::ApiTraceFrame(ApiTrace *parentTrace) : ApiTraceEvent(ApiTraceEvent::Frame), @@ -1317,12 +1313,7 @@ unsigned ApiTraceFrame::lastCallIndex() const } } -void ApiTraceFrame::setThumbnail(const QImage & thumbnail) -{ - m_thumbnail = thumbnail; -} - -const QImage & ApiTraceFrame::thumbnail() const +void ApiTraceFrame::missingThumbnail() { - return m_thumbnail; + m_parentTrace->missingThumbnail(this); } diff --git a/gui/apitracecall.h b/gui/apitracecall.h index 46ead63e..7ff03400 100644 --- a/gui/apitracecall.h +++ b/gui/apitracecall.h @@ -1,5 +1,4 @@ -#ifndef APITRACECALL_H -#define APITRACECALL_H +#pragma once #include "apisurface.h" @@ -17,9 +16,6 @@ class TraceLoader; class VariantVisitor : public trace::Visitor { public: - VariantVisitor(TraceLoader *loader) - : m_loader(loader) - {} virtual void visit(trace::Null *); virtual void visit(trace::Bool *node); virtual void visit(trace::SInt *node); @@ -27,6 +23,7 @@ public: virtual void visit(trace::Float *node); virtual void visit(trace::Double *node); virtual void visit(trace::String *node); + virtual void visit(trace::WString *node); virtual void visit(trace::Enum *e); virtual void visit(trace::Bitmask *bitmask); virtual void visit(trace::Struct *str); @@ -40,7 +37,6 @@ public: return m_variant; } private: - TraceLoader *m_loader; QVariant m_variant; }; @@ -52,29 +48,16 @@ struct ApiTraceError QString message; }; -class ApiTraceEnumSignature -{ -public: - ApiTraceEnumSignature(const trace::EnumSig *sig); - - QString name(signed long long value) const; - -private: - typedef QList<QPair<QString, signed long long> > ValueList; - ValueList m_names; -}; - class ApiEnum { public: - ApiEnum(ApiTraceEnumSignature *sig=0, signed long long value = 0); + ApiEnum(const trace::EnumSig *sig=0, signed long long value = 0); QString toString() const; QVariant value() const; - QString name() const; private: - ApiTraceEnumSignature *m_sig; + const trace::EnumSig *m_sig; signed long long m_value; }; Q_DECLARE_METATYPE(ApiEnum); @@ -165,6 +148,7 @@ public: const QVariantMap & parameters() const; const QMap<QString, QString> & shaderSources() const; const QVariantMap & uniforms() const; + const QVariantMap & buffers() const; const QList<ApiTexture> & textures() const; const QList<ApiFramebuffer> & framebuffers() const; @@ -173,6 +157,7 @@ private: QVariantMap m_parameters; QMap<QString, QString> m_shaderSources; QVariantMap m_uniforms; + QVariantMap m_buffers; QList<ApiTexture> m_textures; QList<ApiFramebuffer> m_framebuffers; }; @@ -225,7 +210,6 @@ public: virtual int callIndex(ApiTraceCall *call) const = 0; virtual ApiTraceEvent *eventAtRow(int row) const = 0; - QVariantMap stateParameters() const; ApiTraceState *state() const; void setState(ApiTraceState *state); bool hasState() const @@ -233,13 +217,19 @@ public: return m_state && !m_state->isEmpty(); } + void setThumbnail(const QImage & thumbnail); + const QImage & thumbnail() const; + + virtual void missingThumbnail() = 0; + protected: int m_type : 4; - mutable bool m_hasBinaryData; mutable int m_binaryDataIndex:8; ApiTraceState *m_state; mutable QStaticText *m_staticText; + + QImage m_thumbnail; }; Q_DECLARE_METATYPE(ApiTraceEvent*); @@ -297,6 +287,9 @@ public: QString backtrace() const; void setBacktrace(QString backtrace); + + void missingThumbnail(); + private: void loadData(TraceLoader *loader, const trace::Call *tcall); @@ -363,8 +356,7 @@ public: void setLastCallIndex(unsigned index); unsigned lastCallIndex() const; - void setThumbnail(const QImage & thumbnail); - const QImage & thumbnail() const; + void missingThumbnail(); private: ApiTrace *m_parentTrace; @@ -374,9 +366,5 @@ private: bool m_loaded; unsigned m_callsToLoad; unsigned m_lastCallIndex; - QImage m_thumbnail; }; Q_DECLARE_METATYPE(ApiTraceFrame*); - - -#endif diff --git a/gui/apitracefilter.h b/gui/apitracefilter.h index 35f627df..b9cd75d5 100644 --- a/gui/apitracefilter.h +++ b/gui/apitracefilter.h @@ -1,5 +1,4 @@ -#ifndef APITRACEFILTER_H -#define APITRACEFILTER_H +#pragma once #include <QRegExp> #include <QSortFilterProxyModel> @@ -40,5 +39,3 @@ private: FilterOptions m_filters; QRegExp m_customRegexp; }; - -#endif diff --git a/gui/apitracemodel.cpp b/gui/apitracemodel.cpp index fb339677..51908dea 100644 --- a/gui/apitracemodel.cpp +++ b/gui/apitracemodel.cpp @@ -384,7 +384,6 @@ void ApiTraceModel::fetchMore(const QModelIndex &parent) ApiTraceEvent *event = item(parent); if (event && event->type() == ApiTraceEvent::Frame) { ApiTraceFrame *frame = static_cast<ApiTraceFrame*>(event); - QModelIndex index = createIndex(frame->number, 0, frame); Q_ASSERT(!frame->isLoaded()); m_loadingFrames.insert(frame); diff --git a/gui/apitracemodel.h b/gui/apitracemodel.h index e7354aa6..76876c20 100644 --- a/gui/apitracemodel.h +++ b/gui/apitracemodel.h @@ -1,5 +1,4 @@ -#ifndef APITRACEMODEL_H -#define APITRACEMODEL_H +#pragma once #include <QAbstractItemModel> @@ -67,5 +66,3 @@ private: ApiTrace *m_trace; QSet<ApiTraceFrame*> m_loadingFrames; }; - -#endif diff --git a/gui/argumentseditor.h b/gui/argumentseditor.h index 73cd4580..148b3ff6 100644 --- a/gui/argumentseditor.h +++ b/gui/argumentseditor.h @@ -1,5 +1,4 @@ -#ifndef ARGUMENTSEDITOR_H -#define ARGUMENTSEDITOR_H +#pragma once #include "apitracecall.h" #include "ui_argumentseditor.h" @@ -182,5 +181,3 @@ private: ApiTraceCall *m_call; }; - -#endif diff --git a/gui/calldurationgraph.h b/gui/calldurationgraph.h index 0c7e8c91..be6fe45e 100644 --- a/gui/calldurationgraph.h +++ b/gui/calldurationgraph.h @@ -1,5 +1,4 @@ -#ifndef CALLDURATIONGRAPH_H -#define CALLDURATIONGRAPH_H +#pragma once #include "graphing/graphwidget.h" #include "trace_profiler.hpp" @@ -170,4 +169,3 @@ private: SelectionState* m_selectionState; }; -#endif diff --git a/gui/glsledit.cpp b/gui/glsledit.cpp index b73f0980..8cd7f022 100644 --- a/gui/glsledit.cpp +++ b/gui/glsledit.cpp @@ -29,7 +29,7 @@ #include "glsledit.h" -#include <QtGui> +#include <QtWidgets> class GLSLBlockData: public QTextBlockUserData { diff --git a/gui/graphing/frameaxiswidget.h b/gui/graphing/frameaxiswidget.h index 59fdc162..4b2c4cbb 100644 --- a/gui/graphing/frameaxiswidget.h +++ b/gui/graphing/frameaxiswidget.h @@ -1,5 +1,4 @@ -#ifndef FRAMEAXISWIDGET_H -#define FRAMEAXISWIDGET_H +#pragma once #include "graphaxiswidget.h" @@ -30,5 +29,3 @@ public: protected: FrameDataProvider* m_data; }; - -#endif diff --git a/gui/graphing/graphaxiswidget.h b/gui/graphing/graphaxiswidget.h index 6ae00800..a8d1c01a 100644 --- a/gui/graphing/graphaxiswidget.h +++ b/gui/graphing/graphaxiswidget.h @@ -1,5 +1,4 @@ -#ifndef GRAPHAXISWIDGET_H -#define GRAPHAXISWIDGET_H +#pragma once #include "graphing.h" @@ -69,5 +68,3 @@ protected: QPoint m_mousePressPosition; qint64 m_mousePressValue; }; - -#endif diff --git a/gui/graphing/graphing.h b/gui/graphing/graphing.h index 35b4a913..f97df8b3 100644 --- a/gui/graphing/graphing.h +++ b/gui/graphing/graphing.h @@ -1,5 +1,4 @@ -#ifndef GRAPHING_H -#define GRAPHING_H +#pragma once #include <QString> @@ -44,5 +43,3 @@ public: /* Set pointer to selection state */ virtual void setSelectionState(SelectionState* state) = 0; }; - -#endif diff --git a/gui/graphing/graphlabelwidget.h b/gui/graphing/graphlabelwidget.h index 49c0cd49..050dc40d 100644 --- a/gui/graphing/graphlabelwidget.h +++ b/gui/graphing/graphlabelwidget.h @@ -1,5 +1,4 @@ -#ifndef GRAPHLABELWIDGET_H -#define GRAPHLABELWIDGET_H +#pragma once #include <QWidget> #include <QPainter> @@ -38,5 +37,3 @@ protected: int m_flags; QString m_text; }; - -#endif diff --git a/gui/graphing/graphview.h b/gui/graphing/graphview.h index 6b881d4e..94328b69 100644 --- a/gui/graphing/graphview.h +++ b/gui/graphing/graphview.h @@ -1,5 +1,4 @@ -#ifndef GRAPHVIEW_H -#define GRAPHVIEW_H +#pragma once #include "graphing.h" @@ -89,5 +88,3 @@ protected: qint64 m_graphTop; } m_previous; }; - -#endif diff --git a/gui/graphing/graphwidget.h b/gui/graphing/graphwidget.h index 16b77868..17cb4651 100644 --- a/gui/graphing/graphwidget.h +++ b/gui/graphing/graphwidget.h @@ -1,5 +1,4 @@ -#ifndef GRAPHWIDGET_H -#define GRAPHWIDGET_H +#pragma once #include "graphview.h" #include "graphaxiswidget.h" @@ -108,5 +107,3 @@ protected: qint64 m_verticalEnd; Qt::ScrollBarPolicy m_verticalScrollbarPolicy; }; - -#endif diff --git a/gui/graphing/heatmapverticalaxiswidget.h b/gui/graphing/heatmapverticalaxiswidget.h index ca64adb4..9a21c25b 100644 --- a/gui/graphing/heatmapverticalaxiswidget.h +++ b/gui/graphing/heatmapverticalaxiswidget.h @@ -1,5 +1,4 @@ -#ifndef HEATMAPVERTICALAXISWIDGET_H -#define HEATMAPVERTICALAXISWIDGET_H +#pragma once #include "heatmapview.h" #include "graphaxiswidget.h" @@ -20,5 +19,3 @@ protected: int m_rowHeight; HeatmapDataProvider* m_data; }; - -#endif diff --git a/gui/graphing/heatmapview.h b/gui/graphing/heatmapview.h index 781c9a7a..86d8848d 100644 --- a/gui/graphing/heatmapview.h +++ b/gui/graphing/heatmapview.h @@ -1,5 +1,4 @@ -#ifndef HEATMAPVIEW_H -#define HEATMAPVIEW_H +#pragma once #include "graphview.h" @@ -120,5 +119,3 @@ protected: int m_rowHeight; HeatmapDataProvider* m_data; }; - -#endif diff --git a/gui/graphing/histogramview.h b/gui/graphing/histogramview.h index 563d664b..ae89f7b1 100644 --- a/gui/graphing/histogramview.h +++ b/gui/graphing/histogramview.h @@ -1,5 +1,4 @@ -#ifndef HISTOGRAMVIEW_H -#define HISTOGRAMVIEW_H +#pragma once #include "graphview.h" @@ -37,5 +36,3 @@ protected: GraphDataProvider* m_data; }; - -#endif diff --git a/gui/graphing/timeaxiswidget.h b/gui/graphing/timeaxiswidget.h index 836651cb..7f79a399 100644 --- a/gui/graphing/timeaxiswidget.h +++ b/gui/graphing/timeaxiswidget.h @@ -1,5 +1,4 @@ -#ifndef TIMEAXISWIDGET_H -#define TIMEAXISWIDGET_H +#pragma once #include "graphaxiswidget.h" @@ -12,5 +11,3 @@ public: virtual void paintEvent(QPaintEvent *e); }; - -#endif diff --git a/gui/imageviewer.cpp b/gui/imageviewer.cpp index 4c3f2bdc..6953c009 100644 --- a/gui/imageviewer.cpp +++ b/gui/imageviewer.cpp @@ -61,10 +61,10 @@ ImageViewer::~ImageViewer() delete m_image; } -void ImageViewer::setBase64Data(const QByteArray &base64) +void ImageViewer::setData(const QByteArray &data) { delete m_image; - m_image = ApiSurface::imageFromBase64(base64); + m_image = ApiSurface::imageFromData(data); m_convertedImage = ApiSurface::qimageFromRawImage(m_image); m_pixelWidget->setSurface(m_convertedImage); updateGeometry(); @@ -126,6 +126,10 @@ QString createPixelLabel(image::Image *img, int x, int y) unsigned char *pixelLocation = 0; T *pixel; + if (x < 0 || y < 0 || x >= img->width || y >= img->height) { + return QString::fromLatin1("(Out of bounds)"); + } + pixelLocation = img->pixels + img->stride() * y; pixelLocation += x * img->bytesPerPixel; pixel = ((T*)pixelLocation); diff --git a/gui/imageviewer.h b/gui/imageviewer.h index ce5d9bdd..7cb2eb52 100644 --- a/gui/imageviewer.h +++ b/gui/imageviewer.h @@ -1,5 +1,4 @@ -#ifndef IMAGEVIEWER_H -#define IMAGEVIEWER_H +#pragma once #include "ui_imageviewer.h" #include <QDialog> @@ -18,7 +17,7 @@ public: ImageViewer(QWidget *parent = 0); ~ImageViewer(); - void setBase64Data(const QByteArray &base64); + void setData(const QByteArray &data); QSize sizeHint() const; @@ -35,6 +34,3 @@ private: QImage m_convertedImage; PixelWidget *m_pixelWidget; }; - - -#endif diff --git a/gui/jumpwidget.h b/gui/jumpwidget.h index 5f71c002..8fec83f4 100644 --- a/gui/jumpwidget.h +++ b/gui/jumpwidget.h @@ -1,5 +1,4 @@ -#ifndef JUMPWIDGET_H -#define JUMPWIDGET_H +#pragma once #include "ui_jumpwidget.h" #include <QWidget> @@ -27,5 +26,3 @@ protected: private: Ui_JumpWidget m_ui; }; - -#endif diff --git a/gui/leaktracethread.cpp b/gui/leaktracethread.cpp new file mode 100644 index 00000000..a5b1e346 --- /dev/null +++ b/gui/leaktracethread.cpp @@ -0,0 +1,82 @@ +#include "leaktracethread.h" + +#include "apitracecall.h" + +#include <QDebug> +#include <QProcess> + +void LeakTraceThread::run() +{ + QString msg = QLatin1String("Replay finished!"); + + /* + * Construct command line + */ + + QString prog = "apitrace"; + QStringList arguments; + arguments << "leaks"; + arguments << filename; + + /* + * Start the process. + */ + + { + QDebug debug(QtDebugMsg); + debug << "Running:"; + debug << prog; + foreach (const QString &argument, arguments) { + debug << argument; + } + } + + QProcess process; + + process.start(prog, arguments, QIODevice::ReadOnly); + if (!process.waitForStarted(-1)) { + return; + } + + /* + * Wait for process termination + */ + + process.waitForFinished(-1); + + if (process.exitStatus() != QProcess::NormalExit) { + msg = QLatin1String("Process crashed"); + } else if (process.exitCode() != 0) { + msg = QLatin1String("Process exited with non zero exit code"); + } + + /* + * Parse errors. + */ + + QList<ApiTraceError> errors; + process.setReadChannel(QProcess::StandardError); + QRegExp regexp("(^\\d+): +(\\b\\w+\\b): ([^\\r\\n]+)[\\r\\n]*$"); + while (!process.atEnd()) { + QString line = process.readLine(); + qDebug() << line; + if (regexp.indexIn(line) != -1) { + qDebug() << "error"; + ApiTraceError error; + error.callIndex = regexp.cap(1).toInt(); + error.type = regexp.cap(2); + error.message = regexp.cap(3); + errors.append(error); + } else { + qDebug() << line; + } + } + + /* + * Emit signals + */ + + error = !errors.empty(); + emit leakTraceErrors(errors); +} + diff --git a/gui/leaktracethread.h b/gui/leaktracethread.h new file mode 100644 index 00000000..cbc16ea0 --- /dev/null +++ b/gui/leaktracethread.h @@ -0,0 +1,35 @@ + +#pragma once + +#include <QThread> +#include <QString> +#include <QList> + +struct ApiTraceError; + +class LeakTraceThread: public QThread{ + + Q_OBJECT + + public: + + LeakTraceThread(QString _filename):filename(_filename){} + + + bool hasError()const {return error;} + signals: + + void leakTraceErrors(const QList<ApiTraceError> &errors); + + protected: + + virtual void run(); + + private: + + QString filename; + + bool error=false; +}; + + diff --git a/gui/main.cpp b/gui/main.cpp index b98bce60..d8f40656 100644 --- a/gui/main.cpp +++ b/gui/main.cpp @@ -18,7 +18,7 @@ Q_DECLARE_METATYPE(QVector<ApiTraceCall*>); Q_DECLARE_METATYPE(Qt::CaseSensitivity); Q_DECLARE_METATYPE(ApiTrace::SearchResult); Q_DECLARE_METATYPE(ApiTrace::SearchRequest); -Q_DECLARE_METATYPE(QList<QImage>); +Q_DECLARE_METATYPE(ImageHash); static void usage(void) { @@ -30,7 +30,6 @@ static void usage(void) int main(int argc, char **argv) { - QApplication::setGraphicsSystem("raster"); QApplication app(argc, argv); qRegisterMetaType<QList<ApiTraceFrame*> >(); @@ -39,7 +38,7 @@ int main(int argc, char **argv) qRegisterMetaType<Qt::CaseSensitivity>(); qRegisterMetaType<ApiTrace::SearchResult>(); qRegisterMetaType<ApiTrace::SearchRequest>(); - qRegisterMetaType<QList<QImage> >(); + qRegisterMetaType<ImageHash>(); #ifndef Q_OS_WIN os::String currentProcess = os::getProcessName(); diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index f10434d1..129e634d 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -17,10 +17,14 @@ #include "traceprocess.h" #include "trimprocess.h" #include "thumbnail.h" +#include "androidretracer.h" +#include "androidfiledialog.h" #include "ui_retracerdialog.h" #include "ui_profilereplaydialog.h" #include "vertexdatainterpreter.h" #include "trace_profiler.hpp" +#include "image/image.hpp" +#include "leaktracethread.h" #include <QAction> #include <QApplication> @@ -32,16 +36,18 @@ #include <QLineEdit> #include <QMessageBox> #include <QProgressBar> +#include <QSettings> #include <QToolBar> #include <QUrl> #include <QVBoxLayout> #include <QWebPage> #include <QWebView> +typedef QLatin1String _; MainWindow::MainWindow() : QMainWindow(), - m_api(trace::API_GL), + m_api(trace::API_UNKNOWN), m_initalCallNum(-1), m_selectedEvent(0), m_stateEvent(0), @@ -97,6 +103,94 @@ void MainWindow::openTrace() } } +void MainWindow::saveTrace() +{ + QString localFile = m_trace->fileName(); + + QString fileName = + QFileDialog::getSaveFileName( + this, + tr("Save Trace As"), + QFileInfo(localFile).fileName(), + tr("Trace Files (*.trace);;All Files (*)")); + + if (!fileName.isEmpty()) { + QFile::copy(localFile, fileName); + } +} + +void MainWindow::pullTrace() +{ + QString androidFile = AndroidFileDialog::getOpenFileName(this, tr("Open trace file"), _("/sdcard"), _(".trace")); + if (androidFile.isEmpty()) + return; + + QString localFile = + QFileDialog::getSaveFileName( + this, + tr("Open Trace"), + QDir::homePath() + _("/") + QFileInfo(androidFile).fileName(), + tr("Trace Files (*.trace)")); + + if (localFile.isEmpty()) + return; + + AndroidUtils au; + connect(&au, SIGNAL(statusMessage(QString)), statusBar(), SLOT(showMessage(QString))); + if (au.updateFile(localFile, androidFile, AndroidUtils::PullFromDeviceToLocal)) { + m_androidFilePath = androidFile; + linkLocalAndroidTrace(localFile, androidFile); + newTraceFile(localFile); + m_ui.actionRetraceOnAndroid->setChecked(true); + } else { + QMessageBox::warning(this, tr("Error"), + tr("Pulling '%1' for Android device failed.").arg(androidFile)); + } +} + +void MainWindow::pushTrace() +{ + QString localFile = m_trace->fileName(); + QString androidFile = AndroidFileDialog::getSaveFileName(this, tr("Save trace file"), _("/sdcard/") + QFileInfo(localFile).fileName(), _(".trace")); + if (androidFile.isEmpty()) + return; + AndroidUtils au; + connect(&au, SIGNAL(statusMessage(QString)), statusBar(), SLOT(showMessage(QString))); + if (au.updateFile(localFile, androidFile, AndroidUtils::PushLocalToDevice)) { + m_androidFilePath = androidFile; + linkLocalAndroidTrace(localFile, androidFile); + } else { + QMessageBox::warning(this, tr("Error"), + tr("Pushing '%1' to Android device failed.\n" + "Make usre you have enough space on device.").arg(localFile)); + } + statusBar()->showMessage(QString()); +} + +void MainWindow::linkTrace() +{ + QString localFile = m_trace->fileName(); + QString androidFile = AndroidFileDialog::getOpenFileName(this, tr("Link trace file %1").arg(localFile), + _("/sdcard/") + QFileInfo(localFile).fileName(), + _(".trace")); + if (androidFile.isEmpty()) + return; + m_androidFilePath = androidFile; + linkLocalAndroidTrace(localFile, androidFile); +} + +void MainWindow::retraceOnAndroid(bool android) +{ + delete m_retracer; + if (android) { + m_retracer = new AndroidRetracer(this); + m_androidFilePath = linkedAndroidTrace(m_trace->fileName()); + } else { + m_retracer = new Retracer(this); + } + initRetraceConnections(); +} + void MainWindow::loadTrace(const QString &fileName, int callNum) { if (!QFile::exists(fileName)) { @@ -216,7 +310,7 @@ void MainWindow::replayStart() m_retracer->setCoreProfile( dlgUi.coreProfileCB->isChecked()); - m_retracer->setProfiling(false, false, false); + m_retracer->setProfiling(false, false, false, false); replayTrace(false, false); } @@ -236,12 +330,17 @@ void MainWindow::replayProfile() QDialog dlg; Ui_ProfileReplayDialog dlgUi; dlgUi.setupUi(&dlg); + if (m_ui.actionRetraceOnAndroid->isChecked()) { + dlgUi.gpuTimesCB->setChecked(false); + dlgUi.pixelsDrawnCB->setChecked(false); + } if (dlg.exec() == QDialog::Accepted) { m_retracer->setProfiling( dlgUi.gpuTimesCB->isChecked(), dlgUi.cpuTimesCB->isChecked(), - dlgUi.pixelsDrawnCB->isChecked()); + dlgUi.pixelsDrawnCB->isChecked(), + dlgUi.memoryUsageCB->isChecked()); replayTrace(false, false); } @@ -255,7 +354,10 @@ void MainWindow::replayStop() void MainWindow::newTraceFile(const QString &fileName) { - qDebug()<< "Loading : " <<fileName; + if (m_ui.actionRetraceOnAndroid->isChecked()) + m_androidFilePath = linkedAndroidTrace(fileName); + + qDebug()<< "Loading:" << fileName; m_progressBar->setValue(0); m_trace->setFileName(fileName); @@ -297,6 +399,15 @@ void MainWindow::replayError(const QString &message) this, tr("Replay Failed"), message); } +void MainWindow::loadError(const QString &message) +{ + m_progressBar->hide(); + statusBar()->showMessage( + tr("Load unsuccessful."), 2000); + QMessageBox::warning( + this, tr("Load Failed"), message); +} + void MainWindow::startedLoadingTrace() { Q_ASSERT(m_trace); @@ -322,6 +433,9 @@ void MainWindow::finishedLoadingTrace() } else { m_trace->finishedParsing(); } + m_ui.actionPushTrace->setEnabled(m_api == trace::API_EGL); + m_ui.actionLinkTrace->setEnabled(m_api == trace::API_EGL); + m_ui.actionRetraceOnAndroid->setEnabled(m_api == trace::API_EGL); } void MainWindow::replayTrace(bool dumpState, bool dumpThumbnails) @@ -330,6 +444,48 @@ void MainWindow::replayTrace(bool dumpState, bool dumpThumbnails) return; } + if (m_ui.actionRetraceOnAndroid->isChecked()) { + if (m_androidFilePath.isEmpty()) { + QMessageBox::information(this, tr("Info"), tr("Current opened file is not linked with any file on the Android device.")); + linkTrace(); + if (m_androidFilePath.isEmpty()) + return; + } + // make sure both trace files (local & android) are the same + AndroidUtils au; + if (!au.sameFile(m_trace->fileName(), m_androidFilePath)) { + QMessageBox msgBox; + msgBox.setText("Local file is different from the Android file.\nWhat do you want to do?"); + msgBox.setDetailedText(tr("Chossing:\n" + " - \"Update Android\" will push the local file to the device (replacing it).\n" + " - \"Update local\" will pull the device file to local (replacing it).")); + QAbstractButton *updateAndroid = + msgBox.addButton(tr("Update Android"), QMessageBox::ActionRole); + QAbstractButton *updateLocal = + msgBox.addButton(tr("Update local"), QMessageBox::ActionRole); + msgBox.addButton(QMessageBox::Cancel); + msgBox.exec(); + if (msgBox.clickedButton() == updateAndroid) { + statusBar()->showMessage(tr("Please wait, pushing the file to device might take long time ...")); + if (!au.updateFile(m_trace->fileName(), m_androidFilePath, AndroidUtils::PushLocalToDevice)) { + QMessageBox::warning(this, tr("Error"), + tr("Pushing '%1' to Android device failed.\n" + "Make usre you have enough space on device.").arg(m_trace->fileName())); + } + } else if (msgBox.clickedButton() == updateLocal) { + statusBar()->showMessage(tr("Please wait, pulling the file from device might take long time ...")); + if (!au.updateFile(m_trace->fileName(), m_androidFilePath, AndroidUtils::PullFromDeviceToLocal)) { + QMessageBox::warning(this, tr("Error"), + tr("Pulling '%1' for Android device failed.").arg(m_androidFilePath)); + } + } else { + return; + } + statusBar()->showMessage(QString()); + } + static_cast<AndroidRetracer *>(m_retracer)->setAndroidFileName(m_androidFilePath); + } + m_retracer->setFileName(m_trace->fileName()); m_retracer->setAPI(m_api); m_retracer->setCaptureState(dumpState); @@ -353,6 +509,11 @@ void MainWindow::replayTrace(bool dumpState, bool dumpThumbnails) } m_retracer->setCaptureAtCallNumber(index); } + if (m_trace->isMissingThumbnails()) { + m_retracer->resetThumbnailsToCapture(); + m_trace->iterateMissingThumbnails(this, this->thumbnailCallback); + m_trace->resetMissingThumbnails(); + } m_retracer->start(); m_ui.actionStop->setEnabled(true); @@ -484,8 +645,9 @@ variantListToItems(const QVector<QVariant> &lst, const QVector<QVariant> &defaultLst, QList<QTreeWidgetItem *> &items) { + int width = QString::number(lst.count()).length(); for (int i = 0; i < lst.count(); ++i) { - QString key = QString::number(i); + QString key = QString::number(i).rightJustified(width, ' '); QVariant var = lst[i]; QVariant defaultVar; @@ -500,23 +662,42 @@ variantListToItems(const QVector<QVariant> &lst, } } -static bool -isVariantDeep(const QVariant &var) +// Get the depth (dimensionality) of the variant: +// +// It will return: +// 0: scalar +// 1: vector (up to 4 elems) +// 2: matrix (up to 4x4 elements) +// 3: array +// 4: map, etc. +static unsigned +getVariantDepth(const QVariant &var) { if (var.type() == QVariant::List) { QVector<QVariant> lst = var.toList().toVector(); + unsigned maxDepth = 0; for (int i = 0; i < lst.count(); ++i) { - if (isVariantDeep(lst[i])) { - return true; + unsigned elemDepth = getVariantDepth(lst[i]); + if (elemDepth > maxDepth) { + if (elemDepth >= 4) { + return elemDepth; + } + maxDepth = elemDepth; + } + } + if (lst.count() > 1) { + if (lst.count() > 4) { + return 3; } + maxDepth += 1; } - return false; + return maxDepth; } else if (var.type() == QVariant::Map) { - return true; + return 4; } else if (var.type() == QVariant::Hash) { - return true; + return 4; } else { - return false; + return 0; } } @@ -530,7 +711,7 @@ variantToItem(const QString &key, const QVariant &var, QString val; - bool deep = isVariantDeep(var); + bool deep = getVariantDepth(var) >= 3; if (!deep) { variantToString(var, val); } @@ -579,12 +760,42 @@ static void addSurfaceItem(const ApiSurface &surface, .arg(width) .arg(height); + QString toolTip; + toolTip += QString::fromLatin1("label = %1\n").arg(label); + toolTip += QString::fromLatin1("format = %1\n").arg(surface.formatName()); + toolTip += QString::fromLatin1("width = %1\n").arg(width); + toolTip += QString::fromLatin1("height = %1\n").arg(height); + item->setToolTip(0, toolTip); + item->setToolTip(1, toolTip); + //item->setText(1, descr); QLabel *l = new QLabel(descr, tree); l->setWordWrap(true); tree->setItemWidget(item, 1, l); - item->setData(0, Qt::UserRole, surface.base64Data()); + item->setData(0, Qt::UserRole, surface.data()); +} + +void MainWindow::addSurface(const ApiTexture &image, QTreeWidgetItem *parent) { + addSurfaceItem(image, image.label(), parent, m_ui.surfacesTreeWidget); +} + +void MainWindow::addSurface(const ApiFramebuffer &fbo, QTreeWidgetItem *parent) { + addSurfaceItem(fbo, fbo.type(), parent, m_ui.surfacesTreeWidget); +} + +template <typename Surface> +void MainWindow::addSurfaces(const QList<Surface> &surfaces, const char *label) { + if (!surfaces.isEmpty()) { + QTreeWidgetItem *imageItem = new QTreeWidgetItem(m_ui.surfacesTreeWidget); + imageItem->setText(0, tr(label)); + if (surfaces.count() <= 6) { + imageItem->setExpanded(true); + } + for (int i = 0; i < surfaces.count(); ++i) { + addSurface(surfaces[i], imageItem); + } + } } void MainWindow::fillStateForFrame() @@ -624,6 +835,11 @@ void MainWindow::fillStateForFrame() variantMapToItems(state.uniforms(), QVariantMap(), uniformsItems); m_ui.uniformsTreeWidget->insertTopLevelItems(0, uniformsItems); + m_ui.buffersTreeWidget->clear(); + QList<QTreeWidgetItem *> buffersItems; + variantMapToItems(state.buffers(), QVariantMap(), buffersItems); + m_ui.buffersTreeWidget->insertTopLevelItems(0, buffersItems); + const QList<ApiTexture> &textures = state.textures(); const QList<ApiFramebuffer> &fbos = @@ -634,38 +850,8 @@ void MainWindow::fillStateForFrame() m_ui.surfacesTab->setDisabled(false); } else { m_ui.surfacesTreeWidget->setIconSize(QSize(THUMBNAIL_SIZE, THUMBNAIL_SIZE)); - if (!textures.isEmpty()) { - QTreeWidgetItem *textureItem = - new QTreeWidgetItem(m_ui.surfacesTreeWidget); - textureItem->setText(0, tr("Textures")); - if (textures.count() <= 6) { - textureItem->setExpanded(true); - } - - for (int i = 0; i < textures.count(); ++i) { - const ApiTexture &texture = - textures[i]; - addSurfaceItem(texture, texture.label(), - textureItem, - m_ui.surfacesTreeWidget); - } - } - if (!fbos.isEmpty()) { - QTreeWidgetItem *fboItem = - new QTreeWidgetItem(m_ui.surfacesTreeWidget); - fboItem->setText(0, tr("Framebuffers")); - if (fbos.count() <= 6) { - fboItem->setExpanded(true); - } - - for (int i = 0; i < fbos.count(); ++i) { - const ApiFramebuffer &fbo = - fbos[i]; - addSurfaceItem(fbo, fbo.type(), - fboItem, - m_ui.surfacesTreeWidget); - } - } + addSurfaces(textures, "Textures"); + addSurfaces(fbos, "Framebuffers"); m_ui.surfacesTab->setEnabled(true); } m_ui.stateDock->show(); @@ -679,6 +865,27 @@ void MainWindow::showSettings() dialog.exec(); } +void MainWindow::leakTrace() +{ + LeakTraceThread *t=new LeakTraceThread(m_trace->fileName()); + + connect (t,SIGNAL(finished()),this,SLOT(leakTraceFinished())); + + connect (t,SIGNAL(leakTraceErrors(const QList<ApiTraceError> &)), + this,SLOT(slotRetraceErrors(const QList<ApiTraceError>&))); + + t->start(); +} + +void MainWindow::leakTraceFinished(){ + + LeakTraceThread *t = qobject_cast<LeakTraceThread*>(sender()); + + m_ui.errorsDock->setVisible(t->hasError()); + + delete t; +} + void MainWindow::openHelp(const QUrl &url) { QDesktopServices::openUrl(url); @@ -734,8 +941,8 @@ void MainWindow::showSelectedSurface() viewer->setAttribute(Qt::WA_DeleteOnClose, true); - QByteArray base64Data = var.value<QByteArray>(); - viewer->setBase64Data(base64Data); + QByteArray data = var.value<QByteArray>(); + viewer->setData(data); viewer->show(); viewer->raise(); @@ -817,6 +1024,8 @@ void MainWindow::initObjects() void MainWindow::initConnections() { + connect(m_trace, SIGNAL(problemLoadingTrace(const QString&)), + this, SLOT(loadError(const QString&))); connect(m_trace, SIGNAL(startedLoadingTrace()), this, SLOT(startedLoadingTrace())); connect(m_trace, SIGNAL(loaded(int)), @@ -838,21 +1047,13 @@ void MainWindow::initConnections() connect(m_trace, SIGNAL(foundCallIndex(ApiTraceCall*)), this, SLOT(slotJumpToResult(ApiTraceCall*))); - connect(m_retracer, SIGNAL(finished(const QString&)), - this, SLOT(replayFinished(const QString&))); - connect(m_retracer, SIGNAL(error(const QString&)), - this, SLOT(replayError(const QString&))); - connect(m_retracer, SIGNAL(foundState(ApiTraceState*)), - this, SLOT(replayStateFound(ApiTraceState*))); - connect(m_retracer, SIGNAL(foundProfile(trace::Profile*)), - this, SLOT(replayProfileFound(trace::Profile*))); - connect(m_retracer, SIGNAL(foundThumbnails(const QList<QImage>&)), - this, SLOT(replayThumbnailsFound(const QList<QImage>&))); - connect(m_retracer, SIGNAL(retraceErrors(const QList<ApiTraceError>&)), - this, SLOT(slotRetraceErrors(const QList<ApiTraceError>&))); + initRetraceConnections(); + connect(m_ui.vertexInterpretButton, SIGNAL(clicked()), m_vdataInterpreter, SLOT(interpretData())); + connect(m_ui.bufferExportButton, SIGNAL(clicked()), + this, SLOT(exportBufferData())); connect(m_ui.vertexTypeCB, SIGNAL(currentIndexChanged(const QString&)), m_vdataInterpreter, SLOT(setTypeFromString(const QString&))); connect(m_ui.vertexStrideSB, SIGNAL(valueChanged(int)), @@ -867,6 +1068,16 @@ void MainWindow::initConnections() this, SLOT(createTrace())); connect(m_ui.actionOpen, SIGNAL(triggered()), this, SLOT(openTrace())); + connect(m_ui.actionSave, SIGNAL(triggered()), + this, SLOT(saveTrace())); + connect(m_ui.actionPullTrace, SIGNAL(triggered()), + this, SLOT(pullTrace())); + connect(m_ui.actionPushTrace, SIGNAL(triggered()), + this, SLOT(pushTrace())); + connect(m_ui.actionLinkTrace, SIGNAL(triggered()), + this, SLOT(linkTrace())); + connect(m_ui.actionRetraceOnAndroid, SIGNAL(toggled(bool)), + this, SLOT(retraceOnAndroid(bool))); connect(m_ui.actionQuit, SIGNAL(triggered()), this, SLOT(close())); @@ -893,6 +1104,8 @@ void MainWindow::initConnections() this, SLOT(showThumbnails())); connect(m_ui.actionOptions, SIGNAL(triggered()), this, SLOT(showSettings())); + connect(m_ui.actionLeakTrace,SIGNAL(triggered()), + this, SLOT(leakTrace())); connect(m_ui.callView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(callItemSelected(const QModelIndex &))); @@ -948,9 +1161,31 @@ void MainWindow::initConnections() this, SLOT(slotJumpTo(int))); } +void MainWindow::initRetraceConnections() +{ + connect(m_retracer, SIGNAL(finished(const QString&)), + this, SLOT(replayFinished(const QString&))); + connect(m_retracer, SIGNAL(error(const QString&)), + this, SLOT(replayError(const QString&))); + connect(m_retracer, SIGNAL(foundState(ApiTraceState*)), + this, SLOT(replayStateFound(ApiTraceState*))); + connect(m_retracer, SIGNAL(foundProfile(trace::Profile*)), + this, SLOT(replayProfileFound(trace::Profile*))); + connect(m_retracer, SIGNAL(foundThumbnails(const ImageHash&)), + this, SLOT(replayThumbnailsFound(const ImageHash&))); + connect(m_retracer, SIGNAL(retraceErrors(const QList<ApiTraceError>&)), + this, SLOT(slotRetraceErrors(const QList<ApiTraceError>&))); +} + void MainWindow::updateActionsState(bool traceLoaded, bool stopped) { + m_ui.actionPushTrace->setEnabled(false); + m_ui.actionLinkTrace->setEnabled(false); + m_ui.actionRetraceOnAndroid->setEnabled(false); if (traceLoaded) { + /* File */ + m_ui.actionSave ->setEnabled(true); + /* Edit */ m_ui.actionFind ->setEnabled(true); m_ui.actionGo ->setEnabled(true); @@ -973,6 +1208,9 @@ void MainWindow::updateActionsState(bool traceLoaded, bool stopped) m_ui.actionTrim ->setEnabled(true); } else { + /* File */ + m_ui.actionSave ->setEnabled(false); + /* Edit */ m_ui.actionFind ->setEnabled(false); m_ui.actionGo ->setEnabled(false); @@ -1017,10 +1255,10 @@ void MainWindow::replayStateFound(ApiTraceState *state) m_nonDefaultsLookupEvent = 0; } -void MainWindow::replayThumbnailsFound(const QList<QImage> &thumbnails) +void MainWindow::replayThumbnailsFound(const ImageHash &thumbnails) { m_ui.callView->setUniformRowHeights(false); - m_trace->bindThumbnailsToFrames(thumbnails); + m_trace->bindThumbnails(thumbnails); } void MainWindow::slotGoTo() @@ -1075,8 +1313,11 @@ void MainWindow::slotSearchNext(const QString &str, ApiTraceCall *call = currentCall(); ApiTraceFrame *frame = currentFrame(); - Q_ASSERT(call || frame); if (!frame) { + // Trace is still loading. + if (!call) { + return; + } frame = call->parentFrame(); } Q_ASSERT(frame); @@ -1090,8 +1331,11 @@ void MainWindow::slotSearchPrev(const QString &str, ApiTraceCall *call = currentCall(); ApiTraceFrame *frame = currentFrame(); - Q_ASSERT(call || frame); if (!frame) { + // Trace is still loading. + if (!call) { + return; + } frame = call->parentFrame(); } Q_ASSERT(frame); @@ -1270,22 +1514,31 @@ void MainWindow::saveSelectedSurface() } QVariant var = item->data(0, Qt::UserRole); + if (!var.isValid()) { + return; + } + QImage img = var.value<QImage>(); + if (img.isNull()) { + image::Image *traceImage = ApiSurface::imageFromData(var.value<QByteArray>()); + img = ApiSurface::qimageFromRawImage(traceImage); + delete traceImage; + } + if (img.isNull()) { + statusBar()->showMessage( "Failed to save image", 5000); + return; + } QString imageIndex; - if (selectedCall()) { + ApiTraceCall *call = selectedCall(); + if (call) { imageIndex = tr("_call_%1") - .arg(selectedCall()->index()); - } else if (selectedFrame()) { - ApiTraceCall *firstCall = - static_cast<ApiTraceCall *>(selectedFrame()->eventAtRow(0)); - if (firstCall) { - imageIndex = tr("_frame_%1") - .arg(firstCall->index()); - } else { - qDebug()<<"unknown frame number"; + .arg(call->index()); + } else { + ApiTraceFrame *frame = selectedFrame(); + if (frame) { imageIndex = tr("_frame_%1") - .arg(firstCall->index()); + .arg(frame->number); } } @@ -1311,8 +1564,50 @@ void MainWindow::saveSelectedSurface() .arg(parentIndex) .arg(childIndex); //qDebug()<<"save "<<fileName; - img.save(fileName, "PNG"); - statusBar()->showMessage( tr("Saved '%1'").arg(fileName), 5000); + if (img.save(fileName, "PNG")) { + statusBar()->showMessage( tr("Saved '%1'").arg(fileName), 5000); + } else { + statusBar()->showMessage( tr("Failed to save '%1'").arg(fileName), 5000); + } +} + +void MainWindow::exportBufferData() +{ + QByteArray data = m_vdataInterpreter->data(); + if (data.isEmpty()) + return; + + QString bufferIndex; + ApiTraceCall *call = selectedCall(); + if (call) { + bufferIndex = tr("_call_%1").arg(call->index()); + } else { + ApiTraceFrame *frame = selectedFrame(); + if (frame) { + bufferIndex = tr("_frame_%1") + .arg(frame->number); + } + } + + QString filename = + tr("%1%2_buffer.raw") + .arg(m_trace->fileName()) + .arg(bufferIndex); + + QFile file(filename); + if (!file.open(QIODevice::WriteOnly)) { + statusBar()->showMessage("Failed to save buffer data", 5000); + return; + } + + if (file.write(data) == -1) { + statusBar()->showMessage("Failed to save buffer data", 5000); + return; + } + + file.close(); + + statusBar()->showMessage( tr("Saved buffer to '%1'").arg(filename), 5000); } void MainWindow::loadProgess(int percent) @@ -1411,7 +1706,25 @@ ApiTraceCall * MainWindow::currentCall() const } return call; +} + +void MainWindow::linkLocalAndroidTrace(const QString &localFile, const QString &deviceFile) +{ + QSettings s; + s.beginGroup(_("android")); + QVariantMap map = s.value(_("links")).toMap(); + map[localFile] = deviceFile; + s.setValue(_("links"), map); + s.endGroup(); +} + +QString MainWindow::linkedAndroidTrace(const QString &localFile) +{ + QSettings s; + s.beginGroup(_("android")); + QVariantMap map = s.value(_("links")).toMap(); + return map[localFile].toString(); } void MainWindow::slotFoundFrameStart(ApiTraceFrame *frame) @@ -1472,4 +1785,11 @@ void MainWindow::slotJumpToResult(ApiTraceCall *call) } } +void MainWindow::thumbnailCallback(void *object, int thumbnailIdx) +{ + //qDebug() << QLatin1String("debug: transfer from trace to retracer thumbnail index: ") << thumbnailIdx; + MainWindow *mySelf = (MainWindow *) object; + mySelf->m_retracer->addThumbnailToCapture(thumbnailIdx); +} + #include "mainwindow.moc" diff --git a/gui/mainwindow.h b/gui/mainwindow.h index 4d1358ce..8740ab76 100644 --- a/gui/mainwindow.h +++ b/gui/mainwindow.h @@ -1,5 +1,4 @@ -#ifndef MAINWINDOW_H -#define MAINWINDOW_H +#pragma once #include "ui_mainwindow.h" @@ -52,14 +51,20 @@ private slots: void callItemActivated(const QModelIndex &index); void createTrace(); void openTrace(); + void saveTrace(); + void pullTrace(); + void pushTrace(); + void linkTrace(); + void retraceOnAndroid(bool android); void replayStart(); void replayProfile(); void replayStop(); void replayFinished(const QString &message); void replayStateFound(ApiTraceState *state); void replayProfileFound(trace::Profile *state); - void replayThumbnailsFound(const QList<QImage> &thumbnails); + void replayThumbnailsFound(const ImageHash &thumbnails); void replayError(const QString &msg); + void loadError(const QString &msg); void startedLoadingTrace(); void loadProgess(int percent); void finishedLoadingTrace(); @@ -67,10 +72,13 @@ private slots: void showThumbnails(); void trim(); void showSettings(); + void leakTrace(); + void leakTraceFinished(); void openHelp(const QUrl &url); void showSurfacesMenu(const QPoint &pos); void showSelectedSurface(); void saveSelectedSurface(); + void exportBufferData(); void slotGoTo(); void slotJumpTo(int callNum); void createdTrace(const QString &path); @@ -96,13 +104,15 @@ private slots: void slotFoundFrameStart(ApiTraceFrame *frame); void slotFoundFrameEnd(ApiTraceFrame *frame); void slotJumpToResult(ApiTraceCall *call); + void replayTrace(bool dumpState, bool dumpThumbnails); private: void initObjects(); void initConnections(); + void initRetraceConnections(); + void updateActionsState(bool traceLoaded, bool stopped = true); void newTraceFile(const QString &fileName); - void replayTrace(bool dumpState, bool dumpThumbnails); void trimEvent(); void fillStateForFrame(); @@ -115,6 +125,15 @@ private: ApiTraceFrame *currentFrame() const; ApiTraceCall *currentCall() const; + static void thumbnailCallback(void *object, int thumbnailIdx); + + void linkLocalAndroidTrace(const QString &localFile, const QString &deviceFile); + QString linkedAndroidTrace(const QString &localFile); + void addSurface(const ApiTexture &image, QTreeWidgetItem *parent); + void addSurface(const ApiFramebuffer &image, QTreeWidgetItem *parent); + template <typename Surface> + void addSurfaces(const QList<Surface> &images, const char *label); + protected: virtual void closeEvent(QCloseEvent * event); @@ -153,7 +172,5 @@ private: ApiTraceEvent *m_nonDefaultsLookupEvent; ProfileDialog* m_profileDialog; + QString m_androidFilePath; }; - - -#endif diff --git a/gui/pixelwidget.h b/gui/pixelwidget.h index 837dde40..6d92a84e 100644 --- a/gui/pixelwidget.h +++ b/gui/pixelwidget.h @@ -44,8 +44,7 @@ ** ****************************************************************************/ -#ifndef PIXELWIDGET_H -#define PIXELWIDGET_H +#pragma once #include <qwidget.h> #include <qpixmap.h> @@ -111,5 +110,3 @@ private: QSize m_initialSize; QColor m_currentColor; }; - -#endif // PIXELWIDGET_H diff --git a/gui/profiledialog.cpp b/gui/profiledialog.cpp index a9892cf0..9d80d3f3 100644 --- a/gui/profiledialog.cpp +++ b/gui/profiledialog.cpp @@ -223,7 +223,7 @@ void ProfileDialog::setProfile(trace::Profile* profile) m_table->setModel(model); m_table->update(QModelIndex()); m_table->sortByColumn(2, Qt::DescendingOrder); - m_table->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); + m_table->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); m_table->resizeColumnsToContents(); /* Reset selection */ diff --git a/gui/profiledialog.h b/gui/profiledialog.h index 862d068b..b6c3f163 100644 --- a/gui/profiledialog.h +++ b/gui/profiledialog.h @@ -1,5 +1,4 @@ -#ifndef PROFILEDIALOG_H -#define PROFILEDIALOG_H +#pragma once #include "ui_profiledialog.h" #include <QDialog> @@ -27,5 +26,3 @@ signals: private: trace::Profile *m_profile; }; - -#endif diff --git a/gui/profileheatmap.h b/gui/profileheatmap.h index e50ea263..548917bd 100644 --- a/gui/profileheatmap.h +++ b/gui/profileheatmap.h @@ -1,5 +1,4 @@ -#ifndef PROFILEHEATMAP_H -#define PROFILEHEATMAP_H +#pragma once #include "graphing/heatmapview.h" #include "profiling.h" @@ -417,12 +416,12 @@ public: text = QString::fromStdString(call.name); text += QString("\nCall: %1").arg(call.no); - text += QString("\nCPU Start: %1").arg(Profiling::getTimeString(call.cpuStart)); - text += QString("\nCPU Duration: %1").arg(Profiling::getTimeString(call.cpuDuration)); + text += QString("\nCPU Start: %1").arg(Profiling::getTimeString(call.cpuStart, 1e3)); + text += QString("\nCPU Duration: %1").arg(Profiling::getTimeString(call.cpuDuration, 1e3)); if (call.pixels >= 0) { - text += QString("\nGPU Start: %1").arg(Profiling::getTimeString(call.gpuStart)); - text += QString("\nGPU Duration: %1").arg(Profiling::getTimeString(call.gpuDuration)); + text += QString("\nGPU Start: %1").arg(Profiling::getTimeString(call.gpuStart, 1e3)); + text += QString("\nGPU Duration: %1").arg(Profiling::getTimeString(call.gpuDuration, 1e3)); text += QString("\nPixels Drawn: %1").arg(QLocale::system().toString((qlonglong)call.pixels)); } @@ -466,5 +465,3 @@ protected: std::vector<int> m_rowPrograms; SelectionState* m_selectionState; }; - -#endif diff --git a/gui/profiletablemodel.h b/gui/profiletablemodel.h index da175503..e2288b42 100644 --- a/gui/profiletablemodel.h +++ b/gui/profiletablemodel.h @@ -1,5 +1,4 @@ -#ifndef PROFILETABLEMODEL_H -#define PROFILETABLEMODEL_H +#pragma once #include <QAbstractTableModel> #include "trace_profiler.hpp" @@ -67,4 +66,3 @@ private: Qt::SortOrder m_sortOrder; }; -#endif // PROFILEMODEL_H diff --git a/gui/profiling.h b/gui/profiling.h index a5b12660..6d4ef806 100644 --- a/gui/profiling.h +++ b/gui/profiling.h @@ -1,5 +1,4 @@ -#ifndef PROFILING_H -#define PROFILING_H +#pragma once #include <QString> #include <QLocale> @@ -124,5 +123,3 @@ public: } } }; - -#endif diff --git a/gui/qapitrace.qrc b/gui/qapitrace.qrc index fe002f1b..89df6a86 100644 --- a/gui/qapitrace.qrc +++ b/gui/qapitrace.qrc @@ -1,23 +1,25 @@ -<!DOCTYPE RCC><RCC version="1.0"> -<qresource> - <file>resources/application-exit.png</file> - <file>resources/dialog-close.png</file> - <file>resources/dialog-information.png</file> - <file>resources/document-edit.png</file> - <file>resources/document-new.png</file> - <file>resources/document-open.png</file> - <file>resources/edit-find.png</file> - <file>resources/edit-undo.png</file> - <file>resources/emblem-locked.png</file> - <file>resources/go-bottom.png</file> - <file>resources/go-down-search.png</file> - <file>resources/go-jump.png</file> - <file>resources/go-top.png</file> - <file>resources/go-up-search.png</file> - <file>resources/media-playback-start.png</file> - <file>resources/media-playback-stop.png</file> - <file>resources/media-record.png</file> - <file>resources/script-error.png</file> - <file>resources/glreference.tsv</file> -</qresource> +<RCC> + <qresource prefix="/"> + <file>resources/application-exit.png</file> + <file>resources/dialog-close.png</file> + <file>resources/dialog-information.png</file> + <file>resources/document-edit.png</file> + <file>resources/document-new.png</file> + <file>resources/document-open.png</file> + <file>resources/edit-find.png</file> + <file>resources/edit-undo.png</file> + <file>resources/emblem-locked.png</file> + <file>resources/go-bottom.png</file> + <file>resources/go-down-search.png</file> + <file>resources/go-jump.png</file> + <file>resources/go-top.png</file> + <file>resources/go-up-search.png</file> + <file>resources/media-playback-start.png</file> + <file>resources/media-playback-stop.png</file> + <file>resources/media-record.png</file> + <file>resources/script-error.png</file> + <file>resources/glreference.tsv</file> + <file>resources/android.png</file> + <file>resources/android-setup.png</file> + </qresource> </RCC> diff --git a/gui/qubjson.cpp b/gui/qubjson.cpp new file mode 100644 index 00000000..2d4138dc --- /dev/null +++ b/gui/qubjson.cpp @@ -0,0 +1,298 @@ +/************************************************************************** + * + * Copyright 2015 VMware, Inc + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + **************************************************************************/ + + +#include "qubjson.h" + +#include <QDebug> +#include <QVariant> +#include <QDataStream> + +#include "ubjson.hpp" + + +using namespace ubjson; + + +static Marker +readMarker(QDataStream &stream) +{ + if (stream.atEnd()) { + return MARKER_EOF; + } + quint8 byte; + stream >> byte; + return static_cast<Marker>(byte); +} + + +static int8_t +readInt8(QDataStream &stream) +{ + qint8 i; + stream >> i; + return i; +} + +static uint8_t +readUInt8(QDataStream &stream) +{ + quint8 u; + stream >> u; + return u; +} + +static int16_t +readInt16(QDataStream &stream) +{ + qint16 i; + stream >> i; + return i; +} + +static int32_t +readInt32(QDataStream &stream) +{ + qint32 i; + stream >> i; + return i; +} + +static int64_t +readInt64(QDataStream &stream) +{ + qint64 i; + stream >> i; + return i; +} + +static float +readFloat32(QDataStream &stream) +{ + float f; + stream.setFloatingPointPrecision(QDataStream::SinglePrecision); + stream >> f; + return f; +} + +static double +readFloat64(QDataStream &stream) +{ + double f; + stream.setFloatingPointPrecision(QDataStream::DoublePrecision); + stream >> f; + return f; +} + + +static int +readSize(QDataStream &stream, Marker type) +{ + switch (type) { + case MARKER_INT8: { + int8_t size = readInt8(stream); + Q_ASSERT(size >= 0); + return size; + } + case MARKER_UINT8: + return readUInt8(stream); + case MARKER_INT16: { + int16_t size = readInt16(stream); + Q_ASSERT(size >= 0); + return size; + } + case MARKER_INT32: { + int32_t size = readInt32(stream); + Q_ASSERT(size >= 0); + return size; + } + case MARKER_INT64: { + int64_t size = readInt64(stream); + Q_ASSERT(size >= 0); + Q_ASSERT_X(size <= INT_MAX, "qubjson::readSize", "size too large (https://github.com/apitrace/apitrace/issues/343)"); + return size; + } + default: + Q_UNIMPLEMENTED(); + case MARKER_EOF: + return 0; + } +} + + +static QString +readChar(QDataStream &stream) +{ + qint8 c; + stream >> c; + Q_ASSERT(c >= 0); + return QChar(c); +} + + +static int +readSize(QDataStream &stream) +{ + Marker type = readMarker(stream); + return readSize(stream, type); +} + + +static QString +readString(QDataStream &stream, int size) +{ + char *buf = new char [size]; + stream.readRawData(buf, size); + QString str = QString::fromUtf8(buf, size); + delete [] buf; + return str; +} + + +static QString +readString(QDataStream &stream) +{ + int size = readSize(stream); + return readString(stream, size); +} + + +static QVariant +readVariant(QDataStream &stream, Marker type); + + +static QVariant +readArray(QDataStream &stream) +{ + Marker marker = readMarker(stream); + if (marker == MARKER_TYPE) { + Marker type = readMarker(stream); + Q_ASSERT(type == MARKER_UINT8); + Q_UNUSED(type); + marker = readMarker(stream); + Q_ASSERT(marker == MARKER_COUNT); + int count = readSize(stream); + QByteArray array(count, Qt::Uninitialized); + int read = stream.readRawData(array.data(), count); + Q_ASSERT(read == count); + Q_UNUSED(read); + return array; + } else if (marker == MARKER_COUNT) { + int count = readSize(stream); + QVariantList array; + for (int i = 0; i < count; ++i) { + marker = readMarker(stream); + QVariant value = readVariant(stream, marker); + array.append(value); + } + return array; + } else { + QVariantList array; + while (marker != MARKER_ARRAY_END && + marker != MARKER_EOF) { + QVariant value = readVariant(stream, marker); + array.append(value); + marker = readMarker(stream); + } + return array; + } +} + + +static QVariantMap +readObject(QDataStream &stream) +{ + QVariantMap object; + Marker marker = readMarker(stream); + while (marker != MARKER_OBJECT_END && + marker != MARKER_EOF) { + int nameSize = readSize(stream, marker); + QString name = readString(stream, nameSize); + marker = readMarker(stream); + QVariant value = readVariant(stream, marker); + object[name] = value; + marker = readMarker(stream); + } + return object; +} + + +static QVariant +readVariant(QDataStream &stream, Marker type) +{ + switch (type) { + case MARKER_NULL: + return QVariant(); + case MARKER_NOOP: + return QVariant(); + case MARKER_TRUE: + return true; + case MARKER_FALSE: + return false; + case MARKER_INT8: + return readInt8(stream); + case MARKER_UINT8: + return readUInt8(stream); + case MARKER_INT16: + return readInt16(stream); + case MARKER_INT32: + return readInt32(stream); + case MARKER_INT64: + return (qlonglong)readInt64(stream); + case MARKER_FLOAT32: + return readFloat32(stream); + case MARKER_FLOAT64: + return readFloat64(stream); + case MARKER_HIGH_PRECISION: + Q_UNIMPLEMENTED(); + return QVariant(); + case MARKER_CHAR: + return readChar(stream); + case MARKER_STRING: + return readString(stream); + case MARKER_ARRAY_BEGIN: + return readArray(stream); + case MARKER_OBJECT_BEGIN: + return readObject(stream); + case MARKER_ARRAY_END: + case MARKER_OBJECT_END: + case MARKER_TYPE: + case MARKER_COUNT: + default: + Q_ASSERT(0); + case MARKER_EOF: + return QVariant(); + } +} + + +QVariant decodeUBJSONObject(QIODevice *io) +{ + QDataStream stream(io); + stream.setByteOrder(QDataStream::BigEndian); + Marker marker = readMarker(stream); + return readVariant(stream, marker); +} + diff --git a/gui/qubjson.h b/gui/qubjson.h new file mode 100644 index 00000000..7ca043d4 --- /dev/null +++ b/gui/qubjson.h @@ -0,0 +1,34 @@ +/************************************************************************** + * + * Copyright 2015 VMware, Inc + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + **************************************************************************/ + + +#pragma once + + +#include <QVariantMap> + +class QIODevice; + +QVariant decodeUBJSONObject(QIODevice *io); diff --git a/gui/qubjson_test.cpp b/gui/qubjson_test.cpp new file mode 100644 index 00000000..1d075ea7 --- /dev/null +++ b/gui/qubjson_test.cpp @@ -0,0 +1,161 @@ +/************************************************************************** + * + * Copyright 2015 VMware, Inc + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + **************************************************************************/ + + +#include "qubjson.h" + +#include <QDebug> +#include <QBuffer> + +#include "gtest/gtest.h" + + +static inline std::ostream & +operator << (std::ostream &os, const QVariant &var) +{ + QString buf; + QDebug debug(&buf); + debug << var; + os << buf.trimmed().toLocal8Bit().constData(); + return os; +} + + +static ::testing::AssertionResult +check(const char *buf_expr, const char *exp_expr, QByteArray & bytearray, const QVariant & expected) +{ + QBuffer buffer(&bytearray); + buffer.open(QIODevice::ReadOnly); + + QVariant actual = decodeUBJSONObject(&buffer); + + if (!buffer.atEnd()) { + return ::testing::AssertionFailure() << "Trailing bytes"; + } + + if (actual != expected) { + return ::testing::AssertionFailure() << "Expected " << expected << " but got " << actual; + } + + return ::testing::AssertionSuccess(); +} + + +#define BYTEARRAY(...) { __VA_ARGS__ } + +#define CHECK( x , y ) \ + { \ + static const unsigned char X[] = x; \ + QByteArray bytearray((const char *)X, sizeof X); \ + EXPECT_PRED_FORMAT2(check, bytearray, y); \ + } + + +TEST(qubjson, null) { + CHECK(BYTEARRAY('Z'), QVariant()); +} + + +TEST(qubjson, boolean) { + CHECK(BYTEARRAY('T'), true); + CHECK(BYTEARRAY('F'), false); +} + + +TEST(qubjson, integral) { + CHECK(BYTEARRAY('i', 0x00), +0x00); + CHECK(BYTEARRAY('i', 0x7f), +0x7f); + CHECK(BYTEARRAY('i', 0x80), -0x80); + CHECK(BYTEARRAY('U', 0x00), +0x00); + CHECK(BYTEARRAY('U', 0x80), +0x80); + CHECK(BYTEARRAY('U', 0xff), +0xff); + CHECK(BYTEARRAY('I', 0x01, 0x23), +0x0123); + CHECK(BYTEARRAY('I', 0x80, 0x00), -0x8000); + CHECK(BYTEARRAY('l', 0x01, 0x23, 0x45, 0x67), +0x01234567); + CHECK(BYTEARRAY('l', 0x80, 0x00, 0x00, 0x00), -0x7fffffff - 1); // -0x80000000 causes signed warnings + CHECK(BYTEARRAY('L', 0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF), qlonglong(+0x0123456789ABCDEFLL)); + CHECK(BYTEARRAY('L', 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), qlonglong(-0x8000000000000000LL)); +} + + +TEST(qubjson, float) { + CHECK(BYTEARRAY('d', 0x3f, 0x80, 0x00, 0x00), 1.0f); + CHECK(BYTEARRAY('d', 0x00, 0x00, 0x00, 0x01), 1.40129846e-45f); + CHECK(BYTEARRAY('d', 0xff, 0x7f, 0xff, 0xff), -3.4028234e38f); + + CHECK(BYTEARRAY('D', 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00), 1.0); + CHECK(BYTEARRAY('D', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01), 4.9406564584124654e-324); + CHECK(BYTEARRAY('D', 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff), -1.7976931348623157e308); +} + + +TEST(qubjson, string) { + CHECK(BYTEARRAY('C', 'A'), "A"); + + CHECK(BYTEARRAY('S', 'U', 0), ""); + CHECK(BYTEARRAY('S', 'U', 5, 'A', 'B', 'C', 'D', 'E'), "ABCDE"); +} + + +TEST(qubjson, array) { + QVariantList list; + CHECK(BYTEARRAY('[', ']'), list); + list.append(1); + CHECK(BYTEARRAY('[', 'i', 1, ']'), list); + CHECK(BYTEARRAY('[', '#', 'i', 1, 'i', 1), list); + list.append(2); + CHECK(BYTEARRAY('[', 'U', 1, 'i', 2, ']'), list); + CHECK(BYTEARRAY('[', '#', 'U', 2, 'i', 1, 'i', 2), list); +} + + +TEST(qubjson, object) { + QVariantMap map; + CHECK(BYTEARRAY('{', '}'), map); + map["A"] = 1; + CHECK(BYTEARRAY('{', 'U', 1, 'A', 'i', 1, '}'), map); + map["B"] = 2; + CHECK(BYTEARRAY('{', 'U', 1, 'A', 'i', 1, 'U', 1, 'B', 'i', 2, '}'), map); +} + + +TEST(qubjson, binary_data) { + CHECK(BYTEARRAY('[', '$', 'U', '#', 'U', 0), QByteArray()); + CHECK(BYTEARRAY('[', '$', 'U', '#', 'U', 1, 'A'), QByteArray("A")); + CHECK(BYTEARRAY('[', '$', 'U', '#', 'U', 2, 'A', 'B'), QByteArray("AB")); + CHECK(BYTEARRAY('[', '$', 'U', '#', 'U', 3, 'A', 'B', 'C'), QByteArray("ABC")); +} + + +int +main(int argc, char **argv) +{ +#if defined(_MSC_VER) && !defined(NDEBUG) + return 0; +#else + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +#endif +} diff --git a/gui/resources/android-setup.png b/gui/resources/android-setup.png Binary files differnew file mode 100644 index 00000000..c2ae8235 --- /dev/null +++ b/gui/resources/android-setup.png diff --git a/gui/resources/android.png b/gui/resources/android.png Binary files differnew file mode 100644 index 00000000..359047df --- /dev/null +++ b/gui/resources/android.png diff --git a/gui/resources/glreference-man.sh b/gui/resources/glreference-man.sh index 20bdaa6a..abf9a134 100755 --- a/gui/resources/glreference-man.sh +++ b/gui/resources/glreference-man.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash # Script to extract reference URLS for functions documented in OpenGL man pages -wget -N -r -np http://www.opengl.org/sdk/docs/{man,man2,man3,man4}/ +wget -N -r -np https://www.opengl.org/sdk/docs/{man,man2,man3,man4}/ -find www.opengl.org -type f -name '*.xml' \ -| xargs grep -o '<b class="fsfunc">[^<]*</b>' \ -| sed -e 's/<[^>]*>//g' -e 's@^\(.*\):\(.*\)$@\2\thttp://\1@' +find www.opengl.org -type f -name '*.xml' -o -name '*.xhtml' \ +| xargs grep -o '<\(b\|strong\) class="fsfunc">[^<]*</\1>' \ +| sed -e 's/<[^>]*>//g' -e 's@^\(.*\):\(.*\)$@\2\thttps://\1@' diff --git a/gui/resources/glreference-registry.sh b/gui/resources/glreference-registry.sh index 76b5dbe4..1c0cbe4f 100755 --- a/gui/resources/glreference-registry.sh +++ b/gui/resources/glreference-registry.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # Script to extract reference URLs for functions documented in OpenGL ARB specs extract_urls () { @@ -13,8 +13,8 @@ extract_functions () { | sed -e '/^[A-Z]/s/^/gl/' } -extract_urls http://www.opengl.org/registry/ \ -| grep '^http://www\.opengl\.org/registry/specs/\w\+/.*\.txt$' \ +extract_urls https://www.opengl.org/registry/ \ +| grep '^https://www\.opengl\.org/registry/specs/\w\+/.*\.txt$' \ | sort -u \ | while read URL do diff --git a/gui/resources/glreference.tsv b/gui/resources/glreference.tsv index 76cba730..8f69f4d6 100644 --- a/gui/resources/glreference.tsv +++ b/gui/resources/glreference.tsv @@ -1,3270 +1,3270 @@ -glAccum http://www.opengl.org/sdk/docs/man/xhtml/glAccum.xml -glAccumxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glActiveProgramEXT http://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt -glActiveShaderProgram http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glActiveShaderProgram http://www.opengl.org/sdk/docs/man4/xhtml/glActiveShaderProgram.xml -glActiveStencilFaceEXT http://www.opengl.org/registry/specs/EXT/stencil_two_side.txt -glActiveTexture http://www.opengl.org/sdk/docs/man/xhtml/glActiveTexture.xml -glActiveTexture http://www.opengl.org/sdk/docs/man3/xhtml/glActiveTexture.xml -glActiveTexture http://www.opengl.org/sdk/docs/man4/xhtml/glActiveTexture.xml -glActiveVaryingNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glAlphaFunc http://www.opengl.org/sdk/docs/man/xhtml/glAlphaFunc.xml -glAlphaFuncxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glApplyTextureEXT http://www.opengl.org/registry/specs/EXT/light_texture.txt -glAreProgramsResidentNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glAreTexturesResident http://www.opengl.org/sdk/docs/man/xhtml/glAreTexturesResident.xml -glAreTexturesResidentEXT http://www.opengl.org/registry/specs/EXT/texture_object.txt -glArrayElement http://www.opengl.org/sdk/docs/man/xhtml/glArrayElement.xml -glArrayElementEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glArrayObjectATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glAsyncMarkerSGIX http://www.opengl.org/registry/specs/SGIX/async.txt -glAttachObjectARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glAttachShader http://www.opengl.org/sdk/docs/man/xhtml/glAttachShader.xml -glAttachShader http://www.opengl.org/sdk/docs/man3/xhtml/glAttachShader.xml -glAttachShader http://www.opengl.org/sdk/docs/man4/xhtml/glAttachShader.xml -glBegin http://www.opengl.org/sdk/docs/man/xhtml/glBegin.xml -glBeginConditionalRender http://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml -glBeginConditionalRender http://www.opengl.org/sdk/docs/man4/xhtml/glBeginConditionalRender.xml -glBeginConditionalRenderNV http://www.opengl.org/registry/specs/NV/conditional_render.txt -glBeginOcclusionQueryNV http://www.opengl.org/registry/specs/NV/occlusion_query.txt -glBeginPerfMonitorAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glBeginQuery http://www.opengl.org/sdk/docs/man/xhtml/glBeginQuery.xml -glBeginQuery http://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml -glBeginQuery http://www.opengl.org/sdk/docs/man4/xhtml/glBeginQuery.xml -glBeginQueryARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glBeginQueryIndexed http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt -glBeginQueryIndexed http://www.opengl.org/sdk/docs/man4/xhtml/glBeginQueryIndexed.xml -glBeginSceneEXT http://www.opengl.org/registry/specs/EXT/scene_marker.txt -glBeginTransformFeedback http://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml -glBeginTransformFeedback http://www.opengl.org/sdk/docs/man4/xhtml/glBeginTransformFeedback.xml -glBeginTransformFeedbackEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glBeginTransformFeedbackNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glBeginVideoCaptureNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glBindArraySetEXT http://www.opengl.org/registry/specs/EXT/vertex_array_set.alt.txt -glBindArraySetEXT http://www.opengl.org/registry/specs/EXT/vertex_array_set.txt -glBindAttribLocation http://www.opengl.org/sdk/docs/man/xhtml/glBindAttribLocation.xml -glBindAttribLocation http://www.opengl.org/sdk/docs/man3/xhtml/glBindAttribLocation.xml -glBindAttribLocation http://www.opengl.org/sdk/docs/man4/xhtml/glBindAttribLocation.xml -glBindAttribLocationARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glBindBuffer http://www.opengl.org/sdk/docs/man/xhtml/glBindBuffer.xml -glBindBuffer http://www.opengl.org/sdk/docs/man3/xhtml/glBindBuffer.xml -glBindBuffer http://www.opengl.org/sdk/docs/man4/xhtml/glBindBuffer.xml -glBindBufferARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glBindBufferBase http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glBindBufferBase http://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferBase.xml -glBindBufferBase http://www.opengl.org/sdk/docs/man4/xhtml/glBindBufferBase.xml -glBindBufferBaseEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glBindBufferBaseNV http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt -glBindBufferBaseNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glBindBufferOffsetEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glBindBufferOffsetNV http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt -glBindBufferOffsetNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glBindBufferRange http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glBindBufferRange http://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferRange.xml -glBindBufferRange http://www.opengl.org/sdk/docs/man4/xhtml/glBindBufferRange.xml -glBindBufferRangeEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glBindBufferRangeNV http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt -glBindBufferRangeNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glBindFragDataLocation http://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocation.xml -glBindFragDataLocation http://www.opengl.org/sdk/docs/man4/xhtml/glBindFragDataLocation.xml -glBindFragDataLocationEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glBindFragDataLocationIndexed http://www.opengl.org/registry/specs/ARB/blend_func_extended.txt -glBindFragDataLocationIndexed http://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocationIndexed.xml -glBindFragDataLocationIndexed http://www.opengl.org/sdk/docs/man4/xhtml/glBindFragDataLocationIndexed.xml -glBindFramebuffer http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glBindFramebuffer http://www.opengl.org/sdk/docs/man3/xhtml/glBindFramebuffer.xml -glBindFramebuffer http://www.opengl.org/sdk/docs/man4/xhtml/glBindFramebuffer.xml -glBindFramebufferEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glBindImageTexture http://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt -glBindImageTextureEXT http://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt -glBindMultiTextureEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glBindProgramARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glBindProgramARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glBindProgramNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glBindProgramPipeline http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glBindProgramPipeline http://www.opengl.org/sdk/docs/man4/xhtml/glBindProgramPipeline.xml -glBindRenderbuffer http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glBindRenderbuffer http://www.opengl.org/sdk/docs/man3/xhtml/glBindRenderbuffer.xml -glBindRenderbuffer http://www.opengl.org/sdk/docs/man4/xhtml/glBindRenderbuffer.xml -glBindRenderbufferEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glBindSampler http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glBindSampler http://www.opengl.org/sdk/docs/man3/xhtml/glBindSampler.xml -glBindSampler http://www.opengl.org/sdk/docs/man4/xhtml/glBindSampler.xml -glBindSwapBarrierSGIX http://www.opengl.org/registry/specs/SGIX/swap_barrier.txt -glBindTexture http://www.opengl.org/sdk/docs/man/xhtml/glBindTexture.xml -glBindTexture http://www.opengl.org/sdk/docs/man3/xhtml/glBindTexture.xml -glBindTexture http://www.opengl.org/sdk/docs/man4/xhtml/glBindTexture.xml -glBindTextureEXT http://www.opengl.org/registry/specs/EXT/texture_object.txt -glBindTransformFeedback http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt -glBindTransformFeedback http://www.opengl.org/sdk/docs/man4/xhtml/glBindTransformFeedback.xml -glBindTransformFeedbackNV http://www.opengl.org/registry/specs/NV/transform_feedback2.txt -glBindVertexArray http://www.opengl.org/registry/specs/ARB/vertex_array_object.txt -glBindVertexArray http://www.opengl.org/sdk/docs/man3/xhtml/glBindVertexArray.xml -glBindVertexArray http://www.opengl.org/sdk/docs/man4/xhtml/glBindVertexArray.xml -glBindVertexArrayAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt -glBindVideoCaptureStreamBufferNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glBindVideoCaptureStreamTextureNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glBinormalPointerEXT http://www.opengl.org/registry/specs/EXT/coordinate_frame.txt -glBitmap http://www.opengl.org/sdk/docs/man/xhtml/glBitmap.xml -glBitmapxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glBlendColor http://www.opengl.org/sdk/docs/man/xhtml/glBlendColor.xml -glBlendColor http://www.opengl.org/sdk/docs/man3/xhtml/glBlendColor.xml -glBlendColor http://www.opengl.org/sdk/docs/man4/xhtml/glBlendColor.xml -glBlendColorEXT http://www.opengl.org/registry/specs/EXT/blend_color.txt -glBlendColorxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glBlendEquation http://www.opengl.org/sdk/docs/man/xhtml/glBlendEquation.xml -glBlendEquation http://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquation.xml -glBlendEquation http://www.opengl.org/sdk/docs/man4/xhtml/glBlendEquation.xml -glBlendEquationEXT http://www.opengl.org/registry/specs/EXT/blend_minmax.txt -glBlendEquationIndexedAMD http://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt -glBlendEquationSeparate http://www.opengl.org/sdk/docs/man/xhtml/glBlendEquationSeparate.xml -glBlendEquationSeparate http://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquationSeparate.xml -glBlendEquationSeparate http://www.opengl.org/sdk/docs/man4/xhtml/glBlendEquationSeparate.xml -glBlendEquationSeparateEXT http://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt -glBlendEquationSeparateIndexedAMD http://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt -glBlendEquationSeparatei http://www.opengl.org/sdk/docs/man4/xhtml/glBlendEquationSeparate.xml -glBlendEquationSeparateiARB http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt -glBlendEquationi http://www.opengl.org/sdk/docs/man4/xhtml/glBlendEquation.xml -glBlendEquationiARB http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt -glBlendFunc http://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml -glBlendFunc http://www.opengl.org/sdk/docs/man3/xhtml/glBlendFunc.xml -glBlendFunc http://www.opengl.org/sdk/docs/man4/xhtml/glBlendFunc.xml -glBlendFuncIndexedAMD http://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt -glBlendFuncSeparate http://www.opengl.org/sdk/docs/man/xhtml/glBlendFuncSeparate.xml -glBlendFuncSeparate http://www.opengl.org/sdk/docs/man3/xhtml/glBlendFuncSeparate.xml -glBlendFuncSeparate http://www.opengl.org/sdk/docs/man4/xhtml/glBlendFuncSeparate.xml -glBlendFuncSeparateEXT http://www.opengl.org/registry/specs/EXT/blend_func_separate.txt -glBlendFuncSeparateIndexedAMD http://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt -glBlendFuncSeparatei http://www.opengl.org/sdk/docs/man4/xhtml/glBlendFuncSeparate.xml -glBlendFuncSeparateiARB http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt -glBlendFunci http://www.opengl.org/sdk/docs/man4/xhtml/glBlendFunc.xml -glBlendFunciARB http://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt -glBlitFramebuffer http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glBlitFramebuffer http://www.opengl.org/sdk/docs/man3/xhtml/glBlitFramebuffer.xml -glBlitFramebuffer http://www.opengl.org/sdk/docs/man4/xhtml/glBlitFramebuffer.xml -glBlitFramebufferEXT http://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt -glBufferAddressRangeNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glBufferData http://www.opengl.org/sdk/docs/man/xhtml/glBufferData.xml -glBufferData http://www.opengl.org/sdk/docs/man3/xhtml/glBufferData.xml -glBufferData http://www.opengl.org/sdk/docs/man4/xhtml/glBufferData.xml -glBufferDataARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glBufferParameteriAPPLE http://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt -glBufferSubData http://www.opengl.org/sdk/docs/man/xhtml/glBufferSubData.xml -glBufferSubData http://www.opengl.org/sdk/docs/man3/xhtml/glBufferSubData.xml -glBufferSubData http://www.opengl.org/sdk/docs/man4/xhtml/glBufferSubData.xml -glBufferSubDataARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glCallList http://www.opengl.org/sdk/docs/man/xhtml/glCallList.xml -glCallLists http://www.opengl.org/sdk/docs/man/xhtml/glCallLists.xml -glCheckFramebufferStatus http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glCheckFramebufferStatus http://www.opengl.org/sdk/docs/man3/xhtml/glCheckFramebufferStatus.xml -glCheckFramebufferStatus http://www.opengl.org/sdk/docs/man4/xhtml/glCheckFramebufferStatus.xml -glCheckFramebufferStatusEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glCheckNamedFramebufferStatusEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glClampColor http://www.opengl.org/sdk/docs/man3/xhtml/glClampColor.xml -glClampColor http://www.opengl.org/sdk/docs/man4/xhtml/glClampColor.xml -glClampColorARB http://www.opengl.org/registry/specs/ARB/color_buffer_float.txt -glClear http://www.opengl.org/sdk/docs/man/xhtml/glClear.xml -glClear http://www.opengl.org/sdk/docs/man3/xhtml/glClear.xml -glClear http://www.opengl.org/sdk/docs/man4/xhtml/glClear.xml -glClearAccum http://www.opengl.org/sdk/docs/man/xhtml/glClearAccum.xml -glClearAccumxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glClearBufferfi http://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml -glClearBufferfi http://www.opengl.org/sdk/docs/man4/xhtml/glClearBuffer.xml -glClearBufferfv http://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml -glClearBufferfv http://www.opengl.org/sdk/docs/man4/xhtml/glClearBuffer.xml -glClearBufferiv http://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml -glClearBufferiv http://www.opengl.org/sdk/docs/man4/xhtml/glClearBuffer.xml -glClearBufferuiv http://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml -glClearBufferuiv http://www.opengl.org/sdk/docs/man4/xhtml/glClearBuffer.xml -glClearColor http://www.opengl.org/sdk/docs/man/xhtml/glClearColor.xml -glClearColor http://www.opengl.org/sdk/docs/man3/xhtml/glClearColor.xml -glClearColor http://www.opengl.org/sdk/docs/man4/xhtml/glClearColor.xml -glClearColorxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glClearDepth http://www.opengl.org/sdk/docs/man/xhtml/glClearDepth.xml -glClearDepth http://www.opengl.org/sdk/docs/man3/xhtml/glClearDepth.xml -glClearDepth http://www.opengl.org/sdk/docs/man4/xhtml/glClearDepth.xml -glClearDepthdNV http://www.opengl.org/registry/specs/NV/depth_buffer_float.txt -glClearDepthf http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt -glClearDepthf http://www.opengl.org/sdk/docs/man4/xhtml/glClearDepth.xml -glClearDepthfOES http://www.opengl.org/registry/specs/OES/OES_single_precision.txt -glClearDepthxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glClearIndex http://www.opengl.org/sdk/docs/man/xhtml/glClearIndex.xml -glClearStencil http://www.opengl.org/sdk/docs/man/xhtml/glClearStencil.xml -glClearStencil http://www.opengl.org/sdk/docs/man3/xhtml/glClearStencil.xml -glClearStencil http://www.opengl.org/sdk/docs/man4/xhtml/glClearStencil.xml -glClientActiveTexture http://www.opengl.org/sdk/docs/man/xhtml/glClientActiveTexture.xml -glClientActiveVertexStream http://www.opengl.org/registry/specs/ATI/vertex_streams.txt -glClientAttribDefaultEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glClientWaitSync http://www.opengl.org/registry/specs/ARB/sync.txt -glClientWaitSync http://www.opengl.org/sdk/docs/man3/xhtml/glClientWaitSync.xml -glClientWaitSync http://www.opengl.org/sdk/docs/man4/xhtml/glClientWaitSync.xml -glClipPlane http://www.opengl.org/sdk/docs/man/xhtml/glClipPlane.xml -glClipPlanefOES http://www.opengl.org/registry/specs/OES/OES_single_precision.txt -glClipPlanexOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glColor3b http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3bv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3d http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3dv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3f http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3fVertex3fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor3fVertex3fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor3fv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glColor3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glColor3i http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3iv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3s http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3sv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3ub http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3ubv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3ui http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3uiv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3us http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor3usv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4b http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4bv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4d http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4dv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4f http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4fNormal3fVertex3fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor4fNormal3fVertex3fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor4fv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glColor4hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glColor4i http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4iv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4s http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4sv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4ub http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4ubVertex2fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor4ubVertex2fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor4ubVertex3fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor4ubVertex3fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glColor4ubv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4ui http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4uiv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4us http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColor4usv http://www.opengl.org/sdk/docs/man/xhtml/glColor.xml -glColorFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glColorMask http://www.opengl.org/sdk/docs/man/xhtml/glColorMask.xml -glColorMask http://www.opengl.org/sdk/docs/man3/xhtml/glColorMask.xml -glColorMask http://www.opengl.org/sdk/docs/man4/xhtml/glColorMask.xml -glColorMaskIndexedEXT http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt -glColorMaski http://www.opengl.org/sdk/docs/man4/xhtml/glColorMask.xml -glColorMaterial http://www.opengl.org/sdk/docs/man/xhtml/glColorMaterial.xml -glColorP3ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glColorP3uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glColorP4ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glColorP4uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glColorPointer http://www.opengl.org/sdk/docs/man/xhtml/glColorPointer.xml -glColorPointerEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glColorPointervINTEL http://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt -glColorSubTable http://www.opengl.org/sdk/docs/man/xhtml/glColorSubTable.xml -glColorSubTableEXT http://www.opengl.org/registry/specs/EXT/color_subtable.txt -glColorSubTableEXT http://www.opengl.org/registry/specs/EXT/paletted_texture.txt -glColorTable http://www.opengl.org/sdk/docs/man/xhtml/glColorTable.xml -glColorTableEXT http://www.opengl.org/registry/specs/EXT/paletted_texture.txt -glColorTableParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glColorTableParameter.xml -glColorTableParameterfvSGI http://www.opengl.org/registry/specs/SGI/color_table.txt -glColorTableParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glColorTableParameter.xml -glColorTableParameterivSGI http://www.opengl.org/registry/specs/SGI/color_table.txt -glColorTableSGI http://www.opengl.org/registry/specs/SGI/color_table.txt -glCombinerInputNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glCombinerOutputNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glCombinerParameterfNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glCombinerParameterfvNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glCombinerParameteriNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glCombinerParameterivNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glCombinerStageParameterfvNV http://www.opengl.org/registry/specs/NV/register_combiners2.txt -glCompileShader http://www.opengl.org/sdk/docs/man/xhtml/glCompileShader.xml -glCompileShader http://www.opengl.org/sdk/docs/man3/xhtml/glCompileShader.xml -glCompileShader http://www.opengl.org/sdk/docs/man4/xhtml/glCompileShader.xml -glCompileShaderARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glCompileShaderIncludeARB http://www.opengl.org/registry/specs/ARB/shading_language_include.txt -glCompressedMultiTexImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedMultiTexImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedMultiTexImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedMultiTexSubImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedMultiTexSubImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedMultiTexSubImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedTexImage1D http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage1D.xml -glCompressedTexImage1D http://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage1D.xml -glCompressedTexImage1D http://www.opengl.org/sdk/docs/man4/xhtml/glCompressedTexImage1D.xml -glCompressedTexImage1DARB http://www.opengl.org/registry/specs/ARB/texture_compression.txt -glCompressedTexImage2D http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage2D.xml -glCompressedTexImage2D http://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage2D.xml -glCompressedTexImage2D http://www.opengl.org/sdk/docs/man4/xhtml/glCompressedTexImage2D.xml -glCompressedTexImage2DARB http://www.opengl.org/registry/specs/ARB/texture_compression.txt -glCompressedTexImage3D http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage3D.xml -glCompressedTexImage3D http://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage3D.xml -glCompressedTexImage3D http://www.opengl.org/sdk/docs/man4/xhtml/glCompressedTexImage3D.xml -glCompressedTexImage3DARB http://www.opengl.org/registry/specs/ARB/texture_compression.txt -glCompressedTexSubImage1D http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage1D.xml -glCompressedTexSubImage1D http://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage1D.xml -glCompressedTexSubImage1D http://www.opengl.org/sdk/docs/man4/xhtml/glCompressedTexSubImage1D.xml -glCompressedTexSubImage1DARB http://www.opengl.org/registry/specs/ARB/texture_compression.txt -glCompressedTexSubImage2D http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage2D.xml -glCompressedTexSubImage2D http://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage2D.xml -glCompressedTexSubImage2D http://www.opengl.org/sdk/docs/man4/xhtml/glCompressedTexSubImage2D.xml -glCompressedTexSubImage2DARB http://www.opengl.org/registry/specs/ARB/texture_compression.txt -glCompressedTexSubImage3D http://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage3D.xml -glCompressedTexSubImage3D http://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage3D.xml -glCompressedTexSubImage3D http://www.opengl.org/sdk/docs/man4/xhtml/glCompressedTexSubImage3D.xml -glCompressedTexSubImage3DARB http://www.opengl.org/registry/specs/ARB/texture_compression.txt -glCompressedTextureImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedTextureImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedTextureImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedTextureSubImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedTextureSubImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCompressedTextureSubImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glConvolutionFilter1D http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionFilter1D.xml -glConvolutionFilter1DEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glConvolutionFilter2D http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionFilter2D.xml -glConvolutionFilter2DEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glConvolutionParameterf http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml -glConvolutionParameterfEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glConvolutionParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml -glConvolutionParameterfvEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glConvolutionParameteri http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml -glConvolutionParameteriEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glConvolutionParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml -glConvolutionParameterivEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glCopyBufferSubData http://www.opengl.org/registry/specs/ARB/copy_buffer.txt -glCopyBufferSubData http://www.opengl.org/sdk/docs/man3/xhtml/glCopyBufferSubData.xml -glCopyBufferSubData http://www.opengl.org/sdk/docs/man4/xhtml/glCopyBufferSubData.xml -glCopyColorSubTable http://www.opengl.org/sdk/docs/man/xhtml/glCopyColorSubTable.xml -glCopyColorSubTableEXT http://www.opengl.org/registry/specs/EXT/color_subtable.txt -glCopyColorTable http://www.opengl.org/sdk/docs/man/xhtml/glCopyColorTable.xml -glCopyColorTableSGI http://www.opengl.org/registry/specs/SGI/color_table.txt -glCopyConvolutionFilter1D http://www.opengl.org/sdk/docs/man/xhtml/glCopyConvolutionFilter1D.xml -glCopyConvolutionFilter1DEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glCopyConvolutionFilter2D http://www.opengl.org/sdk/docs/man/xhtml/glCopyConvolutionFilter2D.xml -glCopyConvolutionFilter2DEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glCopyImageSubDataNV http://www.opengl.org/registry/specs/NV/copy_image.txt -glCopyMultiTexImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyMultiTexImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyMultiTexSubImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyMultiTexSubImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyMultiTexSubImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyPathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glCopyPixels http://www.opengl.org/sdk/docs/man/xhtml/glCopyPixels.xml -glCopyTexImage1D http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage1D.xml -glCopyTexImage1D http://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage1D.xml -glCopyTexImage1D http://www.opengl.org/sdk/docs/man4/xhtml/glCopyTexImage1D.xml -glCopyTexImage1DEXT http://www.opengl.org/registry/specs/EXT/copy_texture.txt -glCopyTexImage2D http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml -glCopyTexImage2D http://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage2D.xml -glCopyTexImage2D http://www.opengl.org/sdk/docs/man4/xhtml/glCopyTexImage2D.xml -glCopyTexImage2DEXT http://www.opengl.org/registry/specs/EXT/copy_texture.txt -glCopyTexSubImage1D http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage1D.xml -glCopyTexSubImage1D http://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage1D.xml -glCopyTexSubImage1D http://www.opengl.org/sdk/docs/man4/xhtml/glCopyTexSubImage1D.xml -glCopyTexSubImage1DEXT http://www.opengl.org/registry/specs/EXT/copy_texture.txt -glCopyTexSubImage2D http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml -glCopyTexSubImage2D http://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage2D.xml -glCopyTexSubImage2D http://www.opengl.org/sdk/docs/man4/xhtml/glCopyTexSubImage2D.xml -glCopyTexSubImage2DEXT http://www.opengl.org/registry/specs/EXT/copy_texture.txt -glCopyTexSubImage3D http://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage3D.xml -glCopyTexSubImage3D http://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage3D.xml -glCopyTexSubImage3D http://www.opengl.org/sdk/docs/man4/xhtml/glCopyTexSubImage3D.xml -glCopyTexSubImage3DEXT http://www.opengl.org/registry/specs/EXT/copy_texture.txt -glCopyTextureImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyTextureImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyTextureSubImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyTextureSubImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCopyTextureSubImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glCoverFillPathInstancedNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glCoverFillPathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glCoverStrokePathInstancedNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glCoverStrokePathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glCreateProgram http://www.opengl.org/sdk/docs/man/xhtml/glCreateProgram.xml -glCreateProgram http://www.opengl.org/sdk/docs/man3/xhtml/glCreateProgram.xml -glCreateProgram http://www.opengl.org/sdk/docs/man4/xhtml/glCreateProgram.xml -glCreateProgramObjectARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glCreateShader http://www.opengl.org/sdk/docs/man/xhtml/glCreateShader.xml -glCreateShader http://www.opengl.org/sdk/docs/man3/xhtml/glCreateShader.xml -glCreateShader http://www.opengl.org/sdk/docs/man4/xhtml/glCreateShader.xml -glCreateShaderObjectARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glCreateShaderProgramEXT http://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt -glCreateShaderProgramv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glCreateShaderProgramv http://www.opengl.org/sdk/docs/man4/xhtml/glCreateShaderProgram.xml -glCreateSyncFromCLeventARB http://www.opengl.org/registry/specs/ARB/cl_event.txt -glCullFace http://www.opengl.org/sdk/docs/man/xhtml/glCullFace.xml -glCullFace http://www.opengl.org/sdk/docs/man3/xhtml/glCullFace.xml -glCullFace http://www.opengl.org/sdk/docs/man4/xhtml/glCullFace.xml -glCurrentPaletteMatrixARB http://www.opengl.org/registry/specs/ARB/matrix_palette.txt -glDECLARE_HANDLE http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt -glDECLARE_HANDLE http://www.opengl.org/registry/specs/NV/present_video.txt -glDebugMessageCallbackAMD http://www.opengl.org/registry/specs/AMD/debug_output.txt -glDebugMessageCallbackARB http://www.opengl.org/registry/specs/ARB/debug_output.txt -glDebugMessageControlARB http://www.opengl.org/registry/specs/ARB/debug_output.txt -glDebugMessageEnableAMD http://www.opengl.org/registry/specs/AMD/debug_output.txt -glDebugMessageInsertAMD http://www.opengl.org/registry/specs/AMD/debug_output.txt -glDebugMessageInsertARB http://www.opengl.org/registry/specs/ARB/debug_output.txt -glDeleteArraySetsEXT http://www.opengl.org/registry/specs/EXT/vertex_array_set.alt.txt -glDeleteArraySetsEXT http://www.opengl.org/registry/specs/EXT/vertex_array_set.txt -glDeleteAsyncMarkersSGIX http://www.opengl.org/registry/specs/SGIX/async.txt -glDeleteBuffers http://www.opengl.org/sdk/docs/man/xhtml/glDeleteBuffers.xml -glDeleteBuffers http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteBuffers.xml -glDeleteBuffers http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteBuffers.xml -glDeleteBuffersARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glDeleteFencesAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glDeleteFencesNV http://www.opengl.org/registry/specs/NV/fence.txt -glDeleteFramebuffers http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glDeleteFramebuffers http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteFramebuffers.xml -glDeleteFramebuffers http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteFramebuffers.xml -glDeleteFramebuffersEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glDeleteLists http://www.opengl.org/sdk/docs/man/xhtml/glDeleteLists.xml -glDeleteNamedStringARB http://www.opengl.org/registry/specs/ARB/shading_language_include.txt -glDeleteNamesAMD http://www.opengl.org/registry/specs/AMD/name_gen_delete.txt -glDeleteObjectARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glDeleteOcclusionQueriesNV http://www.opengl.org/registry/specs/NV/occlusion_query.txt -glDeletePathsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glDeletePerfMonitorsAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glDeleteProgram http://www.opengl.org/sdk/docs/man/xhtml/glDeleteProgram.xml -glDeleteProgram http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteProgram.xml -glDeleteProgram http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteProgram.xml -glDeleteProgramPipelines http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glDeleteProgramPipelines http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteProgramPipelines.xml -glDeleteProgramsARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glDeleteProgramsARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glDeleteProgramsNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glDeleteQueries http://www.opengl.org/sdk/docs/man/xhtml/glDeleteQueries.xml -glDeleteQueries http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteQueries.xml -glDeleteQueries http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteQueries.xml -glDeleteQueriesARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glDeleteRenderbuffers http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glDeleteRenderbuffers http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteRenderbuffers.xml -glDeleteRenderbuffers http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteRenderbuffers.xml -glDeleteRenderbuffersEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glDeleteSamplers http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glDeleteSamplers http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSamplers.xml -glDeleteSamplers http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteSamplers.xml -glDeleteShader http://www.opengl.org/sdk/docs/man/xhtml/glDeleteShader.xml -glDeleteShader http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteShader.xml -glDeleteShader http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteShader.xml -glDeleteSync http://www.opengl.org/registry/specs/ARB/sync.txt -glDeleteSync http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSync.xml -glDeleteSync http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteSync.xml -glDeleteTextures http://www.opengl.org/sdk/docs/man/xhtml/glDeleteTextures.xml -glDeleteTextures http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteTextures.xml -glDeleteTextures http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteTextures.xml -glDeleteTexturesEXT http://www.opengl.org/registry/specs/EXT/texture_object.txt -glDeleteTransformFeedbacks http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt -glDeleteTransformFeedbacks http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteTransformFeedbacks.xml -glDeleteTransformFeedbacksNV http://www.opengl.org/registry/specs/NV/transform_feedback2.txt -glDeleteVertexArrays http://www.opengl.org/registry/specs/ARB/vertex_array_object.txt -glDeleteVertexArrays http://www.opengl.org/sdk/docs/man3/xhtml/glDeleteVertexArrays.xml -glDeleteVertexArrays http://www.opengl.org/sdk/docs/man4/xhtml/glDeleteVertexArrays.xml -glDeleteVertexArraysAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt -glDepthBoundsEXT http://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt -glDepthBoundsdNV http://www.opengl.org/registry/specs/NV/depth_buffer_float.txt -glDepthFunc http://www.opengl.org/sdk/docs/man/xhtml/glDepthFunc.xml -glDepthFunc http://www.opengl.org/sdk/docs/man3/xhtml/glDepthFunc.xml -glDepthFunc http://www.opengl.org/sdk/docs/man4/xhtml/glDepthFunc.xml -glDepthMask http://www.opengl.org/sdk/docs/man/xhtml/glDepthMask.xml -glDepthMask http://www.opengl.org/sdk/docs/man3/xhtml/glDepthMask.xml -glDepthMask http://www.opengl.org/sdk/docs/man4/xhtml/glDepthMask.xml -glDepthRange http://www.opengl.org/sdk/docs/man/xhtml/glDepthRange.xml -glDepthRange http://www.opengl.org/sdk/docs/man3/xhtml/glDepthRange.xml -glDepthRange http://www.opengl.org/sdk/docs/man4/xhtml/glDepthRange.xml -glDepthRangeArrayv http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glDepthRangeArrayv http://www.opengl.org/sdk/docs/man4/xhtml/glDepthRangeArray.xml -glDepthRangeIndexed http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glDepthRangeIndexed http://www.opengl.org/sdk/docs/man4/xhtml/glDepthRangeIndexed.xml -glDepthRangedNV http://www.opengl.org/registry/specs/NV/depth_buffer_float.txt -glDepthRangef http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt -glDepthRangef http://www.opengl.org/sdk/docs/man4/xhtml/glDepthRange.xml -glDepthRangefOES http://www.opengl.org/registry/specs/OES/OES_single_precision.txt -glDepthRangexOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glDetachObjectARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glDetachShader http://www.opengl.org/sdk/docs/man/xhtml/glDetachShader.xml -glDetachShader http://www.opengl.org/sdk/docs/man3/xhtml/glDetachShader.xml -glDetachShader http://www.opengl.org/sdk/docs/man4/xhtml/glDetachShader.xml -glDetailTexFuncSGIS http://www.opengl.org/registry/specs/SGIS/detail_texture.txt -glDisable http://www.opengl.org/sdk/docs/man/xhtml/glEnable.xml -glDisable http://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml -glDisable http://www.opengl.org/sdk/docs/man4/xhtml/glEnable.xml -glDisableClientState http://www.opengl.org/sdk/docs/man/xhtml/glEnableClientState.xml -glDisableClientStateIndexedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glDisableClientStateiEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glDisableIndexedEXT http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glDisableIndexedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glDisableIndexedEXT http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt -glDisableVertexArrayAttribEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glDisableVertexArrayEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glDisableVertexAttribAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt -glDisableVertexAttribArray http://www.opengl.org/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml -glDisableVertexAttribArray http://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml -glDisableVertexAttribArray http://www.opengl.org/sdk/docs/man4/xhtml/glEnableVertexAttribArray.xml -glDisableVertexAttribArrayARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glDisableVertexAttribArrayARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glDisablei http://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml -glDisablei http://www.opengl.org/sdk/docs/man4/xhtml/glEnable.xml -glDrawArrays http://www.opengl.org/sdk/docs/man/xhtml/glDrawArrays.xml -glDrawArrays http://www.opengl.org/sdk/docs/man3/xhtml/glDrawArrays.xml -glDrawArrays http://www.opengl.org/sdk/docs/man4/xhtml/glDrawArrays.xml -glDrawArraysEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glDrawArraysIndirect http://www.opengl.org/registry/specs/ARB/draw_indirect.txt -glDrawArraysIndirect http://www.opengl.org/sdk/docs/man4/xhtml/glDrawArraysIndirect.xml -glDrawArraysInstanced http://www.opengl.org/sdk/docs/man3/xhtml/glDrawArraysInstanced.xml -glDrawArraysInstanced http://www.opengl.org/sdk/docs/man4/xhtml/glDrawArraysInstanced.xml -glDrawArraysInstancedARB http://www.opengl.org/registry/specs/ARB/draw_instanced.txt -glDrawArraysInstancedBaseInstance http://www.opengl.org/registry/specs/ARB/base_instance.txt -glDrawArraysInstancedEXT http://www.opengl.org/registry/specs/EXT/draw_instanced.txt -glDrawBuffer http://www.opengl.org/sdk/docs/man/xhtml/glDrawBuffer.xml -glDrawBuffer http://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffer.xml -glDrawBuffer http://www.opengl.org/sdk/docs/man4/xhtml/glDrawBuffer.xml -glDrawBuffers http://www.opengl.org/sdk/docs/man/xhtml/glDrawBuffers.xml -glDrawBuffers http://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffers.xml -glDrawBuffers http://www.opengl.org/sdk/docs/man4/xhtml/glDrawBuffers.xml -glDrawBuffersARB http://www.opengl.org/registry/specs/ARB/draw_buffers.txt -glDrawBuffersATI http://www.opengl.org/registry/specs/ATI/draw_buffers.txt -glDrawElementArrayAPPLE http://www.opengl.org/registry/specs/APPLE/element_array.txt -glDrawElementArrayATI http://www.opengl.org/registry/specs/ATI/element_array.txt -glDrawElements http://www.opengl.org/sdk/docs/man/xhtml/glDrawElements.xml -glDrawElements http://www.opengl.org/sdk/docs/man3/xhtml/glDrawElements.xml -glDrawElements http://www.opengl.org/sdk/docs/man4/xhtml/glDrawElements.xml -glDrawElementsBaseVertex http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt -glDrawElementsBaseVertex http://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsBaseVertex.xml -glDrawElementsBaseVertex http://www.opengl.org/sdk/docs/man4/xhtml/glDrawElementsBaseVertex.xml -glDrawElementsIndirect http://www.opengl.org/registry/specs/ARB/draw_indirect.txt -glDrawElementsIndirect http://www.opengl.org/sdk/docs/man4/xhtml/glDrawElementsIndirect.xml -glDrawElementsInstanced http://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstanced.xml -glDrawElementsInstanced http://www.opengl.org/sdk/docs/man4/xhtml/glDrawElementsInstanced.xml -glDrawElementsInstancedARB http://www.opengl.org/registry/specs/ARB/draw_instanced.txt -glDrawElementsInstancedBaseInstance http://www.opengl.org/registry/specs/ARB/base_instance.txt -glDrawElementsInstancedBaseVertex http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt -glDrawElementsInstancedBaseVertex http://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstancedBaseVertex.xml -glDrawElementsInstancedBaseVertex http://www.opengl.org/sdk/docs/man4/xhtml/glDrawElementsInstancedBaseVertex.xml -glDrawElementsInstancedBaseVertexBaseInstance http://www.opengl.org/registry/specs/ARB/base_instance.txt -glDrawElementsInstancedEXT http://www.opengl.org/registry/specs/EXT/draw_instanced.txt -glDrawMeshArraysSUN http://www.opengl.org/registry/specs/SUN/mesh_array.txt -glDrawPixels http://www.opengl.org/sdk/docs/man/xhtml/glDrawPixels.xml -glDrawRangeElementArrayAPPLE http://www.opengl.org/registry/specs/APPLE/element_array.txt -glDrawRangeElementArrayATI http://www.opengl.org/registry/specs/ATI/element_array.txt -glDrawRangeElements http://www.opengl.org/sdk/docs/man/xhtml/glDrawRangeElements.xml -glDrawRangeElements http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml -glDrawRangeElements http://www.opengl.org/sdk/docs/man4/xhtml/glDrawRangeElements.xml -glDrawRangeElementsBaseVertex http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt -glDrawRangeElementsBaseVertex http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml -glDrawRangeElementsBaseVertex http://www.opengl.org/sdk/docs/man4/xhtml/glDrawRangeElementsBaseVertex.xml -glDrawTransformFeedback http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt -glDrawTransformFeedback http://www.opengl.org/sdk/docs/man4/xhtml/glDrawTransformFeedback.xml -glDrawTransformFeedbackInstanced http://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt -glDrawTransformFeedbackNV http://www.opengl.org/registry/specs/NV/transform_feedback2.txt -glDrawTransformFeedbackStream http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt -glDrawTransformFeedbackStream http://www.opengl.org/sdk/docs/man4/xhtml/glDrawTransformFeedbackStream.xml -glDrawTransformFeedbackStreamInstanced http://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt -glEdgeFlag http://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlag.xml -glEdgeFlagFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glEdgeFlagPointer http://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlagPointer.xml -glEdgeFlagPointerEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glEdgeFlagv http://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlag.xml -glElementPointerAPPLE http://www.opengl.org/registry/specs/APPLE/element_array.txt -glElementPointerATI http://www.opengl.org/registry/specs/ATI/element_array.txt -glEnable http://www.opengl.org/registry/specs/SGIX/instruments.txt -glEnable http://www.opengl.org/sdk/docs/man/xhtml/glEnable.xml -glEnable http://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml -glEnable http://www.opengl.org/sdk/docs/man4/xhtml/glEnable.xml -glEnableClientState http://www.opengl.org/sdk/docs/man/xhtml/glEnableClientState.xml -glEnableClientStateIndexedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glEnableClientStateiEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glEnableIndexedEXT http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glEnableIndexedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glEnableIndexedEXT http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt -glEnableVertexArrayAttribEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glEnableVertexArrayEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glEnableVertexAttribAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt -glEnableVertexAttribArray http://www.opengl.org/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml -glEnableVertexAttribArray http://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml -glEnableVertexAttribArray http://www.opengl.org/sdk/docs/man4/xhtml/glEnableVertexAttribArray.xml -glEnableVertexAttribArrayARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glEnableVertexAttribArrayARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glEnablei http://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml -glEnablei http://www.opengl.org/sdk/docs/man4/xhtml/glEnable.xml -glEnd http://www.opengl.org/sdk/docs/man/xhtml/glBegin.xml -glEndConditionalRender http://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml -glEndConditionalRender http://www.opengl.org/sdk/docs/man4/xhtml/glBeginConditionalRender.xml -glEndConditionalRenderNV http://www.opengl.org/registry/specs/NV/conditional_render.txt -glEndList http://www.opengl.org/sdk/docs/man/xhtml/glNewList.xml -glEndOcclusionQueryNV http://www.opengl.org/registry/specs/NV/occlusion_query.txt -glEndPerfMonitorAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glEndQuery http://www.opengl.org/sdk/docs/man/xhtml/glBeginQuery.xml -glEndQuery http://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml -glEndQuery http://www.opengl.org/sdk/docs/man4/xhtml/glBeginQuery.xml -glEndQueryARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glEndQueryIndexed http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt -glEndQueryIndexed http://www.opengl.org/sdk/docs/man4/xhtml/glBeginQueryIndexed.xml -glEndSceneEXT http://www.opengl.org/registry/specs/EXT/scene_marker.txt -glEndTransformFeedback http://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml -glEndTransformFeedback http://www.opengl.org/sdk/docs/man4/xhtml/glBeginTransformFeedback.xml -glEndTransformFeedbackEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glEndTransformFeedbackNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glEndVideoCaptureNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glEvalCoord1d http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalCoord1dv http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalCoord1f http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalCoord1fv http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalCoord2d http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalCoord2dv http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalCoord2f http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalCoord2fv http://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml -glEvalMapsNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glEvalMesh1 http://www.opengl.org/sdk/docs/man/xhtml/glEvalMesh.xml -glEvalMesh2 http://www.opengl.org/sdk/docs/man/xhtml/glEvalMesh.xml -glEvalPoint1 http://www.opengl.org/sdk/docs/man/xhtml/glEvalPoint.xml -glEvalPoint2 http://www.opengl.org/sdk/docs/man/xhtml/glEvalPoint.xml -glExecuteProgramNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glFeedbackBuffer http://www.opengl.org/sdk/docs/man/xhtml/glFeedbackBuffer.xml -glFeedbackBufferxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glFenceSync http://www.opengl.org/registry/specs/ARB/sync.txt -glFenceSync http://www.opengl.org/sdk/docs/man3/xhtml/glFenceSync.xml -glFenceSync http://www.opengl.org/sdk/docs/man4/xhtml/glFenceSync.xml -glFinalCombinerInputNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glFinish http://www.opengl.org/sdk/docs/man/xhtml/glFinish.xml -glFinish http://www.opengl.org/sdk/docs/man3/xhtml/glFinish.xml -glFinish http://www.opengl.org/sdk/docs/man4/xhtml/glFinish.xml -glFinishAsyncSGIX http://www.opengl.org/registry/specs/SGIX/async.txt -glFinishFenceAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glFinishFenceNV http://www.opengl.org/registry/specs/NV/fence.txt -glFinishObjectAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glFinishTextureSUNX http://www.opengl.org/registry/specs/SUNX/constant_data.txt -glFlush http://www.opengl.org/sdk/docs/man/xhtml/glFlush.xml -glFlush http://www.opengl.org/sdk/docs/man3/xhtml/glFlush.xml -glFlush http://www.opengl.org/sdk/docs/man4/xhtml/glFlush.xml -glFlushMappedBufferRange http://www.opengl.org/registry/specs/ARB/map_buffer_range.txt -glFlushMappedBufferRange http://www.opengl.org/sdk/docs/man3/xhtml/glFlushMappedBufferRange.xml -glFlushMappedBufferRange http://www.opengl.org/sdk/docs/man4/xhtml/glFlushMappedBufferRange.xml -glFlushMappedBufferRangeAPPLE http://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt -glFlushMappedNamedBufferRangeEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glFlushPixelDataRangeNV http://www.opengl.org/registry/specs/NV/pixel_data_range.txt -glFlushRasterSGIX http://www.opengl.org/registry/specs/SGIX/flush_raster.txt -glFlushStaticDataIBM http://www.opengl.org/registry/specs/IBM/static_data.txt -glFlushVertexArrayRangeAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt -glFlushVertexArrayRangeNV http://www.opengl.org/registry/specs/NV/vertex_array_range.txt -glFogCoordFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glFogCoordPointer http://www.opengl.org/sdk/docs/man/xhtml/glFogCoordPointer.xml -glFogCoordPointerEXT http://www.opengl.org/registry/specs/EXT/fog_coord.txt -glFogCoordd http://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml -glFogCoorddv http://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml -glFogCoordf http://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml -glFogCoordfv http://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml -glFogCoordhNV http://www.opengl.org/registry/specs/NV/half_float.txt -glFogCoordhvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glFogFuncSGIS http://www.opengl.org/registry/specs/SGIS/fog_func.txt -glFogf http://www.opengl.org/sdk/docs/man/xhtml/glFog.xml -glFogfv http://www.opengl.org/sdk/docs/man/xhtml/glFog.xml -glFogi http://www.opengl.org/sdk/docs/man/xhtml/glFog.xml -glFogiv http://www.opengl.org/sdk/docs/man/xhtml/glFog.xml -glFragmentColorMaterialEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentColorMaterialSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightModelfEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightModelfSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightModelfvEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightModelfvSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightModeliEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightModeliSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightModelivEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightModelivSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightfEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightfSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightfvEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightfvSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightiEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightiSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentLightivEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentLightivSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentMaterialfEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentMaterialfSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentMaterialfvEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentMaterialfvSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentMaterialiEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentMaterialiSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFragmentMaterialivEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glFragmentMaterialivSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glFrameTerminatorGREMEDY http://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt -glFrameZoomSGIX http://www.opengl.org/registry/specs/SGIX/framezoom.txt -glFramebufferDrawBufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glFramebufferDrawBuffersEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glFramebufferReadBufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glFramebufferRenderbuffer http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glFramebufferRenderbuffer http://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferRenderbuffer.xml -glFramebufferRenderbuffer http://www.opengl.org/sdk/docs/man4/xhtml/glFramebufferRenderbuffer.xml -glFramebufferRenderbufferEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glFramebufferTexture http://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml -glFramebufferTexture http://www.opengl.org/sdk/docs/man4/xhtml/glFramebufferTexture.xml -glFramebufferTexture1D http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glFramebufferTexture1D http://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml -glFramebufferTexture1D http://www.opengl.org/sdk/docs/man4/xhtml/glFramebufferTexture.xml -glFramebufferTexture1DEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glFramebufferTexture2D http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glFramebufferTexture2D http://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml -glFramebufferTexture2D http://www.opengl.org/sdk/docs/man4/xhtml/glFramebufferTexture.xml -glFramebufferTexture2DEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glFramebufferTexture3D http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glFramebufferTexture3D http://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml -glFramebufferTexture3D http://www.opengl.org/sdk/docs/man4/xhtml/glFramebufferTexture.xml -glFramebufferTexture3DEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glFramebufferTextureARB http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt -glFramebufferTextureEXT http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt -glFramebufferTextureEXT http://www.opengl.org/registry/specs/NV/geometry_program4.txt -glFramebufferTextureFaceARB http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt -glFramebufferTextureFaceEXT http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt -glFramebufferTextureFaceEXT http://www.opengl.org/registry/specs/NV/geometry_program4.txt -glFramebufferTextureLayer http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glFramebufferTextureLayer http://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTextureLayer.xml -glFramebufferTextureLayer http://www.opengl.org/sdk/docs/man4/xhtml/glFramebufferTextureLayer.xml -glFramebufferTextureLayerARB http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt -glFramebufferTextureLayerEXT http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt -glFramebufferTextureLayerEXT http://www.opengl.org/registry/specs/EXT/texture_array.txt -glFramebufferTextureLayerEXT http://www.opengl.org/registry/specs/NV/geometry_program4.txt -glFreeObjectBufferATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glFrontFace http://www.opengl.org/sdk/docs/man/xhtml/glFrontFace.xml -glFrontFace http://www.opengl.org/sdk/docs/man3/xhtml/glFrontFace.xml -glFrontFace http://www.opengl.org/sdk/docs/man4/xhtml/glFrontFace.xml -glFrustum http://www.opengl.org/sdk/docs/man/xhtml/glFrustum.xml -glFrustumfOES http://www.opengl.org/registry/specs/OES/OES_single_precision.txt -glFrustumxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGenArraySetsEXT http://www.opengl.org/registry/specs/EXT/vertex_array_set.txt -glGenAsyncMarkersSGIX http://www.opengl.org/registry/specs/SGIX/async.txt -glGenBuffers http://www.opengl.org/sdk/docs/man/xhtml/glGenBuffers.xml -glGenBuffers http://www.opengl.org/sdk/docs/man3/xhtml/glGenBuffers.xml -glGenBuffers http://www.opengl.org/sdk/docs/man4/xhtml/glGenBuffers.xml -glGenBuffersARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glGenFencesAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glGenFencesNV http://www.opengl.org/registry/specs/NV/fence.txt -glGenFramebuffers http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glGenFramebuffers http://www.opengl.org/sdk/docs/man3/xhtml/glGenFramebuffers.xml -glGenFramebuffers http://www.opengl.org/sdk/docs/man4/xhtml/glGenFramebuffers.xml -glGenFramebuffersEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glGenLists http://www.opengl.org/sdk/docs/man/xhtml/glGenLists.xml -glGenNamesAMD http://www.opengl.org/registry/specs/AMD/name_gen_delete.txt -glGenOcclusionQueriesNV http://www.opengl.org/registry/specs/NV/occlusion_query.txt -glGenPathsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGenPerfMonitorsAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glGenProgramPipelines http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glGenProgramPipelines http://www.opengl.org/sdk/docs/man4/xhtml/glGenProgramPipelines.xml -glGenProgramsARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glGenProgramsARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGenProgramsNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGenQueries http://www.opengl.org/sdk/docs/man/xhtml/glGenQueries.xml -glGenQueries http://www.opengl.org/sdk/docs/man3/xhtml/glGenQueries.xml -glGenQueries http://www.opengl.org/sdk/docs/man4/xhtml/glGenQueries.xml -glGenQueriesARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glGenRenderbuffers http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glGenRenderbuffers http://www.opengl.org/sdk/docs/man3/xhtml/glGenRenderbuffers.xml -glGenRenderbuffers http://www.opengl.org/sdk/docs/man4/xhtml/glGenRenderbuffers.xml -glGenRenderbuffersEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glGenSamplers http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glGenSamplers http://www.opengl.org/sdk/docs/man3/xhtml/glGenSamplers.xml -glGenSamplers http://www.opengl.org/sdk/docs/man4/xhtml/glGenSamplers.xml -glGenTextures http://www.opengl.org/sdk/docs/man/xhtml/glGenTextures.xml -glGenTextures http://www.opengl.org/sdk/docs/man3/xhtml/glGenTextures.xml -glGenTextures http://www.opengl.org/sdk/docs/man4/xhtml/glGenTextures.xml -glGenTexturesEXT http://www.opengl.org/registry/specs/EXT/texture_object.txt -glGenTransformFeedbacks http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt -glGenTransformFeedbacks http://www.opengl.org/sdk/docs/man4/xhtml/glGenTransformFeedbacks.xml -glGenTransformFeedbacksNV http://www.opengl.org/registry/specs/NV/transform_feedback2.txt -glGenVertexArrays http://www.opengl.org/registry/specs/ARB/vertex_array_object.txt -glGenVertexArrays http://www.opengl.org/sdk/docs/man3/xhtml/glGenVertexArrays.xml -glGenVertexArrays http://www.opengl.org/sdk/docs/man4/xhtml/glGenVertexArrays.xml -glGenVertexArraysAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt -glGenerateMipmap http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glGenerateMipmap http://www.opengl.org/sdk/docs/man3/xhtml/glGenerateMipmap.xml -glGenerateMipmap http://www.opengl.org/sdk/docs/man4/xhtml/glGenerateMipmap.xml -glGenerateMipmapEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glGenerateMultiTexMipmapEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGenerateTextureMipmapEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetActiveAttrib http://www.opengl.org/sdk/docs/man/xhtml/glGetActiveAttrib.xml -glGetActiveAttrib http://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveAttrib.xml -glGetActiveAttrib http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveAttrib.xml -glGetActiveAttribARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glGetActiveSubroutineName http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glGetActiveSubroutineName http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveSubroutineName.xml -glGetActiveSubroutineUniformName http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glGetActiveSubroutineUniformName http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveSubroutineUniformName.xml -glGetActiveSubroutineUniformiv http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glGetActiveSubroutineUniformiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveSubroutineUniform.xml -glGetActiveUniform http://www.opengl.org/sdk/docs/man/xhtml/glGetActiveUniform.xml -glGetActiveUniform http://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniform.xml -glGetActiveUniform http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveUniform.xml -glGetActiveUniformARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetActiveUniformBlockName http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glGetActiveUniformBlockName http://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlockName.xml -glGetActiveUniformBlockName http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveUniformBlockName.xml -glGetActiveUniformBlockiv http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glGetActiveUniformBlockiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlock.xml -glGetActiveUniformBlockiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveUniformBlock.xml -glGetActiveUniformName http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glGetActiveUniformName http://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformName.xml -glGetActiveUniformName http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveUniformName.xml -glGetActiveUniformsiv http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glGetActiveUniformsiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformsiv.xml -glGetActiveUniformsiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetActiveUniformsiv.xml -glGetActiveVaryingNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glGetArrayObjectfvATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glGetArrayObjectivATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glGetAttachedObjectsARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetAttachedShaders http://www.opengl.org/sdk/docs/man/xhtml/glGetAttachedShaders.xml -glGetAttachedShaders http://www.opengl.org/sdk/docs/man3/xhtml/glGetAttachedShaders.xml -glGetAttachedShaders http://www.opengl.org/sdk/docs/man4/xhtml/glGetAttachedShaders.xml -glGetAttribLocation http://www.opengl.org/sdk/docs/man/xhtml/glGetAttribLocation.xml -glGetAttribLocation http://www.opengl.org/sdk/docs/man3/xhtml/glGetAttribLocation.xml -glGetAttribLocation http://www.opengl.org/sdk/docs/man4/xhtml/glGetAttribLocation.xml -glGetAttribLocationARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glGetBooleanIndexedvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetBooleanIndexedvEXT http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt -glGetBooleanIndexedvEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glGetBooleanIndexedvEXT http://www.opengl.org/registry/specs/NV/explicit_multisample.txt -glGetBooleanIndexedvEXT http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glGetBooleani_v http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetBooleani_v http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetBooleanv http://www.opengl.org/sdk/docs/man/xhtml/glGet.xml -glGetBooleanv http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetBooleanv http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetBufferParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glGetBufferParameteriv.xml -glGetBufferParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferParameter.xml -glGetBufferParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glGetBufferParameter.xml -glGetBufferParameterivARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glGetBufferParameterui64vNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glGetBufferPointerv http://www.opengl.org/sdk/docs/man/xhtml/glGetBufferPointerv.xml -glGetBufferPointerv http://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferPointerv.xml -glGetBufferPointerv http://www.opengl.org/sdk/docs/man4/xhtml/glGetBufferPointerv.xml -glGetBufferPointervARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glGetBufferSubData http://www.opengl.org/sdk/docs/man/xhtml/glGetBufferSubData.xml -glGetBufferSubData http://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferSubData.xml -glGetBufferSubData http://www.opengl.org/sdk/docs/man4/xhtml/glGetBufferSubData.xml -glGetBufferSubDataARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glGetClipPlane http://www.opengl.org/sdk/docs/man/xhtml/glGetClipPlane.xml -glGetClipPlanefOES http://www.opengl.org/registry/specs/OES/OES_single_precision.txt -glGetClipPlanexOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetColorTable http://www.opengl.org/sdk/docs/man/xhtml/glGetColorTable.xml -glGetColorTableEXT http://www.opengl.org/registry/specs/EXT/paletted_texture.txt -glGetColorTableParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glGetColorTableParameter.xml -glGetColorTableParameterfvEXT http://www.opengl.org/registry/specs/EXT/paletted_texture.txt -glGetColorTableParameterfvSGI http://www.opengl.org/registry/specs/SGI/color_table.txt -glGetColorTableParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glGetColorTableParameter.xml -glGetColorTableParameterivEXT http://www.opengl.org/registry/specs/EXT/paletted_texture.txt -glGetColorTableParameterivSGI http://www.opengl.org/registry/specs/SGI/color_table.txt -glGetColorTableSGI http://www.opengl.org/registry/specs/SGI/color_table.txt -glGetCombinerInputParameterfvNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glGetCombinerInputParameterivNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glGetCombinerOutputParameterfvNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glGetCombinerOutputParameterivNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glGetCombinerStageParameterfvNV http://www.opengl.org/registry/specs/NV/register_combiners2.txt -glGetCompressedMultiTexImageEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetCompressedTexImage http://www.opengl.org/sdk/docs/man/xhtml/glGetCompressedTexImage.xml -glGetCompressedTexImage http://www.opengl.org/sdk/docs/man3/xhtml/glGetCompressedTexImage.xml -glGetCompressedTexImage http://www.opengl.org/sdk/docs/man4/xhtml/glGetCompressedTexImage.xml -glGetCompressedTexImageARB http://www.opengl.org/registry/specs/ARB/texture_compression.txt -glGetCompressedTextureImageEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetConvolutionFilter http://www.opengl.org/sdk/docs/man/xhtml/glGetConvolutionFilter.xml -glGetConvolutionFilterEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glGetConvolutionParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glGetConvolutionParameter.xml -glGetConvolutionParameterfvEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glGetConvolutionParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glGetConvolutionParameter.xml -glGetConvolutionParameterivEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glGetConvolutionParameterxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetDebugMessageLogAMD http://www.opengl.org/registry/specs/AMD/debug_output.txt -glGetDebugMessageLogARB http://www.opengl.org/registry/specs/ARB/debug_output.txt -glGetDetailTexFuncSGIS http://www.opengl.org/registry/specs/SGIS/detail_texture.txt -glGetDoubleIndexedvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetDoublei_v http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glGetDoublei_vEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetDoublev http://www.opengl.org/sdk/docs/man/xhtml/glGet.xml -glGetDoublev http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetDoublev http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetError http://www.opengl.org/sdk/docs/man/xhtml/glGetError.xml -glGetError http://www.opengl.org/sdk/docs/man3/xhtml/glGetError.xml -glGetError http://www.opengl.org/sdk/docs/man4/xhtml/glGetError.xml -glGetFenceivNV http://www.opengl.org/registry/specs/NV/fence.txt -glGetFinalCombinerInputParameterfvNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glGetFinalCombinerInputParameterivNV http://www.opengl.org/registry/specs/NV/register_combiners.txt -glGetFixedvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetFloatIndexedvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetFloati_v http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glGetFloati_vEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetFloatv http://www.opengl.org/sdk/docs/man/xhtml/glGet.xml -glGetFloatv http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetFloatv http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetFogFuncSGIS http://www.opengl.org/registry/specs/SGIS/fog_func.txt -glGetFragDataIndex http://www.opengl.org/registry/specs/ARB/blend_func_extended.txt -glGetFragDataIndex http://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataIndex.xml -glGetFragDataIndex http://www.opengl.org/sdk/docs/man4/xhtml/glGetFragDataIndex.xml -glGetFragDataLocation http://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataLocation.xml -glGetFragDataLocation http://www.opengl.org/sdk/docs/man4/xhtml/glGetFragDataLocation.xml -glGetFragDataLocationEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glGetFragmentLightfvEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glGetFragmentLightfvSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glGetFragmentLightivEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glGetFragmentLightivSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glGetFragmentMaterialfvEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glGetFragmentMaterialfvSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glGetFragmentMaterialivEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glGetFragmentMaterialivSGIX http://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt -glGetFramebufferAttachmentParameter http://www.opengl.org/sdk/docs/man3/xhtml/glGetFramebufferAttachmentParameter.xml -glGetFramebufferAttachmentParameter http://www.opengl.org/sdk/docs/man4/xhtml/glGetFramebufferAttachmentParameter.xml -glGetFramebufferAttachmentParameteriv http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glGetFramebufferAttachmentParameterivEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glGetFramebufferParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetGraphicsResetStatusARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetHandleARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetHistogram http://www.opengl.org/sdk/docs/man/xhtml/glGetHistogram.xml -glGetHistogramEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glGetHistogramParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glGetHistogramParameter.xml -glGetHistogramParameterfvEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glGetHistogramParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glGetHistogramParameter.xml -glGetHistogramParameterivEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glGetHistogramParameterxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetImageTransformParameterfvHP http://www.opengl.org/registry/specs/HP/image_transform.txt -glGetImageTransformParameterivHP http://www.opengl.org/registry/specs/HP/image_transform.txt -glGetInfoLogARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetInstrumentsSGIX http://www.opengl.org/registry/specs/SGIX/instruments.txt -glGetInteger64i_v http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetInteger64i_v http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetInteger64v http://www.opengl.org/registry/specs/ARB/sync.txt -glGetInteger64v http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetInteger64v http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetIntegerIndexedivEXT http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glGetIntegerIndexedvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetIntegerIndexedvEXT http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt -glGetIntegerIndexedvEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glGetIntegerIndexedvEXT http://www.opengl.org/registry/specs/NV/explicit_multisample.txt -glGetIntegerIndexedvEXT http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt -glGetIntegerIndexedvEXT http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glGetIntegeri_v http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glGetIntegeri_v http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetIntegeri_v http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetIntegerui64i_vNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glGetIntegerui64vNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glGetIntegerv http://www.opengl.org/registry/specs/SGIX/instruments.txt -glGetIntegerv http://www.opengl.org/sdk/docs/man/xhtml/glGet.xml -glGetIntegerv http://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml -glGetIntegerv http://www.opengl.org/sdk/docs/man4/xhtml/glGet.xml -glGetInternalformativ http://www.opengl.org/registry/specs/ARB/internalformat_query.txt -glGetLightfv http://www.opengl.org/sdk/docs/man/xhtml/glGetLight.xml -glGetLightiv http://www.opengl.org/sdk/docs/man/xhtml/glGetLight.xml -glGetLightxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetListParameterfvSGIX http://www.opengl.org/registry/specs/SGIX/list_priority.txt -glGetListParameterivSGIX http://www.opengl.org/registry/specs/SGIX/list_priority.txt -glGetMapAttribParameterfvNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glGetMapAttribParameterivNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glGetMapControlPointsNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glGetMapParameterfvNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glGetMapParameterivNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glGetMapdv http://www.opengl.org/sdk/docs/man/xhtml/glGetMap.xml -glGetMapfv http://www.opengl.org/sdk/docs/man/xhtml/glGetMap.xml -glGetMapiv http://www.opengl.org/sdk/docs/man/xhtml/glGetMap.xml -glGetMapxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetMaterialfv http://www.opengl.org/sdk/docs/man/xhtml/glGetMaterial.xml -glGetMaterialiv http://www.opengl.org/sdk/docs/man/xhtml/glGetMaterial.xml -glGetMaterialxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetMinmax http://www.opengl.org/sdk/docs/man/xhtml/glGetMinmax.xml -glGetMinmaxEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glGetMinmaxParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glGetMinmaxParameter.xml -glGetMinmaxParameterfvEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glGetMinmaxParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glGetMinmaxParameter.xml -glGetMinmaxParameterivEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glGetMultiTexEnvfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexEnvivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexGendvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexGenfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexGenivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexImageEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexLevelParameterfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexLevelParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexParameterIivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexParameterIuivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexParameterfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultiTexParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetMultisamplefv http://www.opengl.org/registry/specs/ARB/texture_multisample.txt -glGetMultisamplefv http://www.opengl.org/sdk/docs/man3/xhtml/glGetMultisample.xml -glGetMultisamplefv http://www.opengl.org/sdk/docs/man4/xhtml/glGetMultisample.xml -glGetMultisamplefvNV http://www.opengl.org/registry/specs/NV/explicit_multisample.txt -glGetNamedBufferParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedBufferParameterui64vNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glGetNamedBufferPointervEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedBufferSubDataEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedFramebufferAttachmentParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedProgramLocalParameterIivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedProgramLocalParameterIuivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedProgramLocalParameterdvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedProgramLocalParameterfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedProgramStringEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedProgramivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedRenderbufferParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetNamedStringARB http://www.opengl.org/registry/specs/ARB/shading_language_include.txt -glGetNamedStringivARB http://www.opengl.org/registry/specs/ARB/shading_language_include.txt -glGetObjectBufferfvATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glGetObjectBufferivATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glGetObjectParameterfvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetObjectParameterivAPPLE http://www.opengl.org/registry/specs/APPLE/object_purgeable.txt -glGetObjectParameterivARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetOcclusionQueryivNV http://www.opengl.org/registry/specs/NV/occlusion_query.txt -glGetOcclusionQueryuivNV http://www.opengl.org/registry/specs/NV/occlusion_query.txt -glGetPathColorGenfvNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathColorGenivNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathCommandsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathCoordsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathDashArrayNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathLengthNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathMetricRangeNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathMetricsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathParameterfvNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathParameterivNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathSpacingNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathTexGenfvNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPathTexGenivNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glGetPerfMonitorCounterDataAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glGetPerfMonitorCounterInfoAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glGetPerfMonitorCounterStringAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glGetPerfMonitorCountersAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glGetPerfMonitorGroupStringAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glGetPerfMonitorGroupsAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glGetPixelMapfv http://www.opengl.org/sdk/docs/man/xhtml/glGetPixelMap.xml -glGetPixelMapuiv http://www.opengl.org/sdk/docs/man/xhtml/glGetPixelMap.xml -glGetPixelMapusv http://www.opengl.org/sdk/docs/man/xhtml/glGetPixelMap.xml -glGetPixelTransformParameterfvEXT http://www.opengl.org/registry/specs/EXT/pixel_transform.txt -glGetPixelTransformParameterivEXT http://www.opengl.org/registry/specs/EXT/pixel_transform.txt -glGetPointerIndexedvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetPointeri_vEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetPointerv http://www.opengl.org/registry/specs/ARB/debug_output.txt -glGetPointerv http://www.opengl.org/sdk/docs/man/xhtml/glGetPointerv.xml -glGetPointervEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glGetPointervEXT http://www.opengl.org/registry/specs/SGIX/instruments.txt -glGetPolygonStipple http://www.opengl.org/sdk/docs/man/xhtml/glGetPolygonStipple.xml -glGetProgramBinary http://www.opengl.org/registry/specs/ARB/get_program_binary.txt -glGetProgramBinary http://www.opengl.org/sdk/docs/man4/xhtml/glGetProgramBinary.xml -glGetProgramEnvParameterIivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glGetProgramEnvParameterIuivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glGetProgramEnvParameterdvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glGetProgramEnvParameterdvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetProgramEnvParameterfvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glGetProgramEnvParameterfvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetProgramInfoLog http://www.opengl.org/sdk/docs/man/xhtml/glGetProgramInfoLog.xml -glGetProgramInfoLog http://www.opengl.org/sdk/docs/man3/xhtml/glGetProgramInfoLog.xml -glGetProgramInfoLog http://www.opengl.org/sdk/docs/man4/xhtml/glGetProgramInfoLog.xml -glGetProgramLocalParameterIivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glGetProgramLocalParameterIuivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glGetProgramLocalParameterdvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glGetProgramLocalParameterdvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetProgramLocalParameterdvARB http://www.opengl.org/registry/specs/NV/fragment_program.txt -glGetProgramLocalParameterfvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glGetProgramLocalParameterfvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetProgramLocalParameterfvARB http://www.opengl.org/registry/specs/NV/fragment_program.txt -glGetProgramNamedParameterdvNV http://www.opengl.org/registry/specs/NV/fragment_program.txt -glGetProgramNamedParameterfvNV http://www.opengl.org/registry/specs/NV/fragment_program.txt -glGetProgramParameterdvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetProgramParameterfvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetProgramPipelineInfoLog http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glGetProgramPipelineInfoLog http://www.opengl.org/sdk/docs/man4/xhtml/glGetProgramPipelineInfoLog.xml -glGetProgramPipelineiv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glGetProgramPipelineiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetProgramPipeline.xml -glGetProgramStageiv http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glGetProgramStageiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetProgramStage.xml -glGetProgramStringARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glGetProgramStringARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetProgramStringNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetProgramiv http://www.opengl.org/sdk/docs/man/xhtml/glGetProgram.xml -glGetProgramiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetProgram.xml -glGetProgramiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetProgram.xml -glGetProgramivARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glGetProgramivARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetProgramivNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetQueryIndexediv http://www.opengl.org/registry/specs/ARB/transform_feedback3.txt -glGetQueryIndexediv http://www.opengl.org/sdk/docs/man4/xhtml/glGetQueryIndexed.xml -glGetQueryObjecti64v http://www.opengl.org/registry/specs/ARB/timer_query.txt -glGetQueryObjecti64v http://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml -glGetQueryObjecti64v http://www.opengl.org/sdk/docs/man4/xhtml/glGetQueryObject.xml -glGetQueryObjecti64vEXT http://www.opengl.org/registry/specs/EXT/timer_query.txt -glGetQueryObjectiv http://www.opengl.org/sdk/docs/man/xhtml/glGetQueryObject.xml -glGetQueryObjectiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml -glGetQueryObjectiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetQueryObject.xml -glGetQueryObjectivARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glGetQueryObjectui64v http://www.opengl.org/registry/specs/ARB/timer_query.txt -glGetQueryObjectui64v http://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml -glGetQueryObjectui64v http://www.opengl.org/sdk/docs/man4/xhtml/glGetQueryObject.xml -glGetQueryObjectui64vEXT http://www.opengl.org/registry/specs/EXT/timer_query.txt -glGetQueryObjectuiv http://www.opengl.org/sdk/docs/man/xhtml/glGetQueryObject.xml -glGetQueryObjectuiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml -glGetQueryObjectuiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetQueryObject.xml -glGetQueryObjectuivARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glGetQueryiv http://www.opengl.org/sdk/docs/man/xhtml/glGetQueryiv.xml -glGetQueryiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryiv.xml -glGetQueryiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetQueryiv.xml -glGetQueryivARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glGetRenderbufferParameteriv http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glGetRenderbufferParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glGetRenderbufferParameter.xml -glGetRenderbufferParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glGetRenderbufferParameter.xml -glGetRenderbufferParameterivEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glGetSamplerParameterIiv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glGetSamplerParameterIuiv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glGetSamplerParameterfv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glGetSamplerParameterfv http://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml -glGetSamplerParameterfv http://www.opengl.org/sdk/docs/man4/xhtml/glGetSamplerParameter.xml -glGetSamplerParameteriv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glGetSamplerParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml -glGetSamplerParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glGetSamplerParameter.xml -glGetSeparableFilter http://www.opengl.org/sdk/docs/man/xhtml/glGetSeparableFilter.xml -glGetSeparableFilterEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glGetShaderInfoLog http://www.opengl.org/sdk/docs/man/xhtml/glGetShaderInfoLog.xml -glGetShaderInfoLog http://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderInfoLog.xml -glGetShaderInfoLog http://www.opengl.org/sdk/docs/man4/xhtml/glGetShaderInfoLog.xml -glGetShaderPrecisionFormat http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt -glGetShaderPrecisionFormat http://www.opengl.org/sdk/docs/man4/xhtml/glGetShaderPrecisionFormat.xml -glGetShaderSource http://www.opengl.org/sdk/docs/man/xhtml/glGetShaderSource.xml -glGetShaderSource http://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderSource.xml -glGetShaderSource http://www.opengl.org/sdk/docs/man4/xhtml/glGetShaderSource.xml -glGetShaderSourceARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetShaderiv http://www.opengl.org/sdk/docs/man/xhtml/glGetShader.xml -glGetShaderiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetShader.xml -glGetShaderiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetShader.xml -glGetSharpenTexFuncSGIS http://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt -glGetString http://www.opengl.org/sdk/docs/man/xhtml/glGetString.xml -glGetString http://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml -glGetString http://www.opengl.org/sdk/docs/man4/xhtml/glGetString.xml -glGetStringi http://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml -glGetStringi http://www.opengl.org/sdk/docs/man4/xhtml/glGetString.xml -glGetSubroutineIndex http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glGetSubroutineIndex http://www.opengl.org/sdk/docs/man4/xhtml/glGetSubroutineIndex.xml -glGetSubroutineUniformLocation http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glGetSubroutineUniformLocation http://www.opengl.org/sdk/docs/man4/xhtml/glGetSubroutineUniformLocation.xml -glGetSynciv http://www.opengl.org/registry/specs/ARB/sync.txt -glGetSynciv http://www.opengl.org/sdk/docs/man3/xhtml/glGetSync.xml -glGetSynciv http://www.opengl.org/sdk/docs/man4/xhtml/glGetSync.xml -glGetTexEnvfv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexEnv.xml -glGetTexEnviv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexEnv.xml -glGetTexEnvxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetTexFilterFuncSGIS http://www.opengl.org/registry/specs/SGIS/texture_filter4.txt -glGetTexGendv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexGen.xml -glGetTexGenfv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexGen.xml -glGetTexGeniv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexGen.xml -glGetTexGenxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetTexImage http://www.opengl.org/sdk/docs/man/xhtml/glGetTexImage.xml -glGetTexImage http://www.opengl.org/sdk/docs/man3/xhtml/glGetTexImage.xml -glGetTexImage http://www.opengl.org/sdk/docs/man4/xhtml/glGetTexImage.xml -glGetTexLevelParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexLevelParameter.xml -glGetTexLevelParameterfv http://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml -glGetTexLevelParameterfv http://www.opengl.org/sdk/docs/man4/xhtml/glGetTexLevelParameter.xml -glGetTexLevelParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexLevelParameter.xml -glGetTexLevelParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml -glGetTexLevelParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glGetTexLevelParameter.xml -glGetTexLevelParameterxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetTexParameterPointervAPPLE http://www.opengl.org/registry/specs/APPLE/texture_range.txt -glGetTexParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexParameter.xml -glGetTexParameterfv http://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml -glGetTexParameterfv http://www.opengl.org/sdk/docs/man4/xhtml/glGetTexParameter.xml -glGetTexParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glGetTexParameter.xml -glGetTexParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml -glGetTexParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glGetTexParameter.xml -glGetTexParameterxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glGetTextureImageEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetTextureLevelParameterfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetTextureLevelParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetTextureParameterIivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetTextureParameterIuivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetTextureParameterfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetTextureParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetTrackMatrixivNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetTransformFeedbackVarying http://www.opengl.org/sdk/docs/man3/xhtml/glGetTransformFeedbackVarying.xml -glGetTransformFeedbackVarying http://www.opengl.org/sdk/docs/man4/xhtml/glGetTransformFeedbackVarying.xml -glGetTransformFeedbackVaryingEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glGetTransformFeedbackVaryingNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glGetUniformBlockIndex http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glGetUniformBlockIndex http://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformBlockIndex.xml -glGetUniformBlockIndex http://www.opengl.org/sdk/docs/man4/xhtml/glGetUniformBlockIndex.xml -glGetUniformBufferSizeEXT http://www.opengl.org/registry/specs/EXT/bindable_uniform.txt -glGetUniformIndices http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glGetUniformIndices http://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformIndices.xml -glGetUniformIndices http://www.opengl.org/sdk/docs/man4/xhtml/glGetUniformIndices.xml -glGetUniformLocation http://www.opengl.org/sdk/docs/man/xhtml/glGetUniformLocation.xml -glGetUniformLocation http://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformLocation.xml -glGetUniformLocation http://www.opengl.org/sdk/docs/man4/xhtml/glGetUniformLocation.xml -glGetUniformLocationARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetUniformOffsetEXT http://www.opengl.org/registry/specs/EXT/bindable_uniform.txt -glGetUniformSubroutineuiv http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glGetUniformSubroutineuiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetUniformSubroutine.xml -glGetUniformdv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glGetUniformfv http://www.opengl.org/sdk/docs/man/xhtml/glGetUniform.xml -glGetUniformfv http://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml -glGetUniformfv http://www.opengl.org/sdk/docs/man4/xhtml/glGetUniform.xml -glGetUniformfvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetUniformi64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glGetUniformiv http://www.opengl.org/sdk/docs/man/xhtml/glGetUniform.xml -glGetUniformiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml -glGetUniformiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetUniform.xml -glGetUniformivARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glGetUniformui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glGetUniformui64vNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glGetUniformuivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glGetVariantArrayObjectfvATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glGetVariantArrayObjectivATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glGetVaryingLocationNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glGetVertexArrayIntegeri_vEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetVertexArrayIntegervEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetVertexArrayPointeri_vEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetVertexArrayPointervEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glGetVertexAttribArrayObjectfvATI http://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt -glGetVertexAttribArrayObjectivATI http://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt -glGetVertexAttribIiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml -glGetVertexAttribIiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetVertexAttrib.xml -glGetVertexAttribIivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glGetVertexAttribIivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glGetVertexAttribIuiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml -glGetVertexAttribIuiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetVertexAttrib.xml -glGetVertexAttribIuivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glGetVertexAttribIuivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glGetVertexAttribLdv http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glGetVertexAttribLdv http://www.opengl.org/sdk/docs/man4/xhtml/glGetVertexAttrib.xml -glGetVertexAttribLdvEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glGetVertexAttribLi64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glGetVertexAttribLui64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glGetVertexAttribPointerv http://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml -glGetVertexAttribPointerv http://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttribPointerv.xml -glGetVertexAttribPointerv http://www.opengl.org/sdk/docs/man4/xhtml/glGetVertexAttribPointerv.xml -glGetVertexAttribPointervARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetVertexAttribPointervARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glGetVertexAttribPointervNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetVertexAttribdv http://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttrib.xml -glGetVertexAttribdv http://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml -glGetVertexAttribdv http://www.opengl.org/sdk/docs/man4/xhtml/glGetVertexAttrib.xml -glGetVertexAttribdvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetVertexAttribdvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glGetVertexAttribdvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetVertexAttribfv http://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttrib.xml -glGetVertexAttribfv http://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml -glGetVertexAttribfv http://www.opengl.org/sdk/docs/man4/xhtml/glGetVertexAttrib.xml -glGetVertexAttribfvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetVertexAttribfvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glGetVertexAttribfvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetVertexAttribiv http://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttrib.xml -glGetVertexAttribiv http://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml -glGetVertexAttribiv http://www.opengl.org/sdk/docs/man4/xhtml/glGetVertexAttrib.xml -glGetVertexAttribivARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glGetVertexAttribivARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glGetVertexAttribivNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glGetVideoCaptureivNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glGetVideoi64vNV http://www.opengl.org/registry/specs/NV/present_video.txt -glGetVideoivNV http://www.opengl.org/registry/specs/NV/present_video.txt -glGetVideoui64vNV http://www.opengl.org/registry/specs/NV/present_video.txt -glGetVideouivNV http://www.opengl.org/registry/specs/NV/present_video.txt -glGetnColorTableARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnCompressedTexImageARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnConvolutionFilterARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnHistogramARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnMapdvARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnMapfvARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnMapivARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnMinmaxARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnPixelMapfvARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnPixelMapuivARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnPixelMapusvARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnPolygonStippleARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnSeparableFilterARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnTexImageARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnUniformdvARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnUniformfvARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnUniformivARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGetnUniformuivARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glGlobalAlphaFactorbSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glGlobalAlphaFactordSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glGlobalAlphaFactorfSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glGlobalAlphaFactoriSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glGlobalAlphaFactorsSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glGlobalAlphaFactorubSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glGlobalAlphaFactoruiSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glGlobalAlphaFactorusSUN http://www.opengl.org/registry/specs/SUN/global_alpha.txt -glHint http://www.opengl.org/sdk/docs/man/xhtml/glHint.xml -glHint http://www.opengl.org/sdk/docs/man3/xhtml/glHint.xml -glHint http://www.opengl.org/sdk/docs/man4/xhtml/glHint.xml -glHistogram http://www.opengl.org/sdk/docs/man/xhtml/glHistogram.xml -glHistogramEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glImageTransformParameterfHP http://www.opengl.org/registry/specs/HP/image_transform.txt -glImageTransformParameterfvHP http://www.opengl.org/registry/specs/HP/image_transform.txt -glImageTransformParameteriHP http://www.opengl.org/registry/specs/HP/image_transform.txt -glImageTransformParameterivHP http://www.opengl.org/registry/specs/HP/image_transform.txt -glImportSyncEXT http://www.opengl.org/registry/specs/EXT/x11_sync_object.txt -glIndexFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glIndexMask http://www.opengl.org/sdk/docs/man/xhtml/glIndexMask.xml -glIndexPointer http://www.opengl.org/sdk/docs/man/xhtml/glIndexPointer.xml -glIndexPointerEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glIndexd http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexdv http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexf http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexfv http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexi http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexiv http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexs http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexsv http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexub http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glIndexubv http://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml -glInitNames http://www.opengl.org/sdk/docs/man/xhtml/glInitNames.xml -glInstrumentsBufferSGIX http://www.opengl.org/registry/specs/SGIX/instruments.txt -glInterleavedArrays http://www.opengl.org/sdk/docs/man/xhtml/glInterleavedArrays.xml -glInterpolatePathsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glIsArraySetEXT http://www.opengl.org/registry/specs/EXT/vertex_array_set.txt -glIsAsyncMarkerSGIX http://www.opengl.org/registry/specs/SGIX/async.txt -glIsBuffer http://www.opengl.org/sdk/docs/man/xhtml/glIsBuffer.xml -glIsBuffer http://www.opengl.org/sdk/docs/man3/xhtml/glIsBuffer.xml -glIsBuffer http://www.opengl.org/sdk/docs/man4/xhtml/glIsBuffer.xml -glIsBufferARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glIsBufferResidentNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glIsEnabled http://www.opengl.org/sdk/docs/man/xhtml/glIsEnabled.xml -glIsEnabled http://www.opengl.org/sdk/docs/man3/xhtml/glIsEnabled.xml -glIsEnabled http://www.opengl.org/sdk/docs/man4/xhtml/glIsEnabled.xml -glIsEnabledIndexedEXT http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glIsEnabledIndexedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glIsEnabledIndexedEXT http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt -glIsFenceAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glIsFenceNV http://www.opengl.org/registry/specs/NV/fence.txt -glIsFramebuffer http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glIsFramebuffer http://www.opengl.org/sdk/docs/man3/xhtml/glIsFramebuffer.xml -glIsFramebuffer http://www.opengl.org/sdk/docs/man4/xhtml/glIsFramebuffer.xml -glIsFramebufferEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glIsList http://www.opengl.org/sdk/docs/man/xhtml/glIsList.xml -glIsNameAMD http://www.opengl.org/registry/specs/AMD/name_gen_delete.txt -glIsNamedBufferResidentNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glIsNamedStringARB http://www.opengl.org/registry/specs/ARB/shading_language_include.txt -glIsObjectBufferATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glIsOcclusionQueryNV http://www.opengl.org/registry/specs/NV/occlusion_query.txt -glIsPathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glIsPointInFillPathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glIsPointInStrokePathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glIsProgram http://www.opengl.org/sdk/docs/man/xhtml/glIsProgram.xml -glIsProgram http://www.opengl.org/sdk/docs/man3/xhtml/glIsProgram.xml -glIsProgram http://www.opengl.org/sdk/docs/man4/xhtml/glIsProgram.xml -glIsProgramARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glIsProgramARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glIsProgramNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glIsProgramPipeline http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glIsProgramPipeline http://www.opengl.org/sdk/docs/man4/xhtml/glIsProgramPipeline.xml -glIsQuery http://www.opengl.org/sdk/docs/man/xhtml/glIsQuery.xml -glIsQuery http://www.opengl.org/sdk/docs/man3/xhtml/glIsQuery.xml -glIsQuery http://www.opengl.org/sdk/docs/man4/xhtml/glIsQuery.xml -glIsQueryARB http://www.opengl.org/registry/specs/ARB/occlusion_query.txt -glIsRenderbuffer http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glIsRenderbuffer http://www.opengl.org/sdk/docs/man3/xhtml/glIsRenderbuffer.xml -glIsRenderbuffer http://www.opengl.org/sdk/docs/man4/xhtml/glIsRenderbuffer.xml -glIsRenderbufferEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glIsSampler http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glIsSampler http://www.opengl.org/sdk/docs/man3/xhtml/glIsSampler.xml -glIsSampler http://www.opengl.org/sdk/docs/man4/xhtml/glIsSampler.xml -glIsShader http://www.opengl.org/sdk/docs/man/xhtml/glIsShader.xml -glIsShader http://www.opengl.org/sdk/docs/man3/xhtml/glIsShader.xml -glIsShader http://www.opengl.org/sdk/docs/man4/xhtml/glIsShader.xml -glIsSync http://www.opengl.org/registry/specs/ARB/sync.txt -glIsSync http://www.opengl.org/sdk/docs/man3/xhtml/glIsSync.xml -glIsSync http://www.opengl.org/sdk/docs/man4/xhtml/glIsSync.xml -glIsTexture http://www.opengl.org/sdk/docs/man/xhtml/glIsTexture.xml -glIsTexture http://www.opengl.org/sdk/docs/man3/xhtml/glIsTexture.xml -glIsTexture http://www.opengl.org/sdk/docs/man4/xhtml/glIsTexture.xml -glIsTextureEXT http://www.opengl.org/registry/specs/EXT/texture_object.txt -glIsTransformFeedback http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt -glIsTransformFeedback http://www.opengl.org/sdk/docs/man4/xhtml/glIsTransformFeedback.xml -glIsTransformFeedbackNV http://www.opengl.org/registry/specs/NV/transform_feedback2.txt -glIsVertexArray http://www.opengl.org/registry/specs/ARB/vertex_array_object.txt -glIsVertexArray http://www.opengl.org/sdk/docs/man3/xhtml/glIsVertexArray.xml -glIsVertexArray http://www.opengl.org/sdk/docs/man4/xhtml/glIsVertexArray.xml -glIsVertexArrayAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt -glIsVertexAttribEnabledAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt -glJoinSwapGroupSGIX http://www.opengl.org/registry/specs/SGIX/swap_group.txt -glLightEnviEXT http://www.opengl.org/registry/specs/EXT/fragment_lighting.txt -glLightModelf http://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml -glLightModelfv http://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml -glLightModeli http://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml -glLightModeliv http://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml -glLightf http://www.opengl.org/sdk/docs/man/xhtml/glLight.xml -glLightfv http://www.opengl.org/sdk/docs/man/xhtml/glLight.xml -glLighti http://www.opengl.org/sdk/docs/man/xhtml/glLight.xml -glLightiv http://www.opengl.org/sdk/docs/man/xhtml/glLight.xml -glLineStipple http://www.opengl.org/sdk/docs/man/xhtml/glLineStipple.xml -glLineWidth http://www.opengl.org/sdk/docs/man/xhtml/glLineWidth.xml -glLineWidth http://www.opengl.org/sdk/docs/man3/xhtml/glLineWidth.xml -glLineWidth http://www.opengl.org/sdk/docs/man4/xhtml/glLineWidth.xml -glLineWidthxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glLinkProgram http://www.opengl.org/sdk/docs/man/xhtml/glLinkProgram.xml -glLinkProgram http://www.opengl.org/sdk/docs/man3/xhtml/glLinkProgram.xml -glLinkProgram http://www.opengl.org/sdk/docs/man4/xhtml/glLinkProgram.xml -glLinkProgramARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glListBase http://www.opengl.org/sdk/docs/man/xhtml/glListBase.xml -glListParameterfSGIX http://www.opengl.org/registry/specs/SGIX/list_priority.txt -glListParameterfvSGIX http://www.opengl.org/registry/specs/SGIX/list_priority.txt -glListParameteriSGIX http://www.opengl.org/registry/specs/SGIX/list_priority.txt -glListParameterivSGIX http://www.opengl.org/registry/specs/SGIX/list_priority.txt -glLoadIdentity http://www.opengl.org/sdk/docs/man/xhtml/glLoadIdentity.xml -glLoadMatrixd http://www.opengl.org/sdk/docs/man/xhtml/glLoadMatrix.xml -glLoadMatrixf http://www.opengl.org/sdk/docs/man/xhtml/glLoadMatrix.xml -glLoadMatrixxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glLoadName http://www.opengl.org/sdk/docs/man/xhtml/glLoadName.xml -glLoadProgramNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glLoadTransposeMatrixd http://www.opengl.org/sdk/docs/man/xhtml/glLoadTransposeMatrix.xml -glLoadTransposeMatrixf http://www.opengl.org/sdk/docs/man/xhtml/glLoadTransposeMatrix.xml -glLoadTransposeMatrixxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glLogicOp http://www.opengl.org/sdk/docs/man/xhtml/glLogicOp.xml -glLogicOp http://www.opengl.org/sdk/docs/man3/xhtml/glLogicOp.xml -glLogicOp http://www.opengl.org/sdk/docs/man4/xhtml/glLogicOp.xml -glMakeBufferNonResidentNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glMakeBufferResidentNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glMakeNamedBufferNonResidentNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glMakeNamedBufferResidentNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glMap1d http://www.opengl.org/sdk/docs/man/xhtml/glMap1.xml -glMap1f http://www.opengl.org/sdk/docs/man/xhtml/glMap1.xml -glMap1xOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glMap2d http://www.opengl.org/sdk/docs/man/xhtml/glMap2.xml -glMap2f http://www.opengl.org/sdk/docs/man/xhtml/glMap2.xml -glMap2xOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glMapBuffer http://www.opengl.org/sdk/docs/man/xhtml/glMapBuffer.xml -glMapBuffer http://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml -glMapBuffer http://www.opengl.org/sdk/docs/man4/xhtml/glMapBuffer.xml -glMapBufferRange http://www.opengl.org/sdk/docs/man3/xhtml/glMapBufferRange.xml -glMapBufferRange http://www.opengl.org/sdk/docs/man4/xhtml/glMapBufferRange.xml -glMapControlPointsNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glMapGrid1d http://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml -glMapGrid1f http://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml -glMapGrid1xOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glMapGrid2d http://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml -glMapGrid2f http://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml -glMapGrid2xOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glMapNamedBufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMapParameterfvNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glMapParameterivNV http://www.opengl.org/registry/specs/NV/evaluators.txt -glMapVertexAttrib1dAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt -glMapVertexAttrib1fAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt -glMapVertexAttrib2dAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt -glMapVertexAttrib2fAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt -glMaterialf http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml -glMaterialfv http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml -glMateriali http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml -glMaterialiv http://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml -glMatrixFrustumEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixIndexPointerARB http://www.opengl.org/registry/specs/ARB/matrix_palette.txt -glMatrixLoadIdentityEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixLoadTransposedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixLoadTransposefEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixLoaddEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixLoadfEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixMode http://www.opengl.org/sdk/docs/man/xhtml/glMatrixMode.xml -glMatrixMultTransposedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixMultTransposefEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixMultdEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixMultfEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixOrthoEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixPopEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixPushEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixRotatedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixRotatefEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixScaledEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixScalefEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixTranslatedEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMatrixTranslatefEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMemoryBarrier http://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt -glMemoryBarrierEXT http://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt -glMinSampleShading http://www.opengl.org/sdk/docs/man4/xhtml/glMinSampleShading.xml -glMinSampleShadingARB http://www.opengl.org/registry/specs/ARB/sample_shading.txt -glMinmax http://www.opengl.org/sdk/docs/man/xhtml/glMinmax.xml -glMinmaxEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glMultMatrixd http://www.opengl.org/sdk/docs/man/xhtml/glMultMatrix.xml -glMultMatrixf http://www.opengl.org/sdk/docs/man/xhtml/glMultMatrix.xml -glMultMatrixxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glMultTransposeMatrixd http://www.opengl.org/sdk/docs/man/xhtml/glMultTransposeMatrix.xml -glMultTransposeMatrixf http://www.opengl.org/sdk/docs/man/xhtml/glMultTransposeMatrix.xml -glMultTransposeMatrixxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glMultiDrawArrays http://www.opengl.org/sdk/docs/man/xhtml/glMultiDrawArrays.xml -glMultiDrawArrays http://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawArrays.xml -glMultiDrawArrays http://www.opengl.org/sdk/docs/man4/xhtml/glMultiDrawArrays.xml -glMultiDrawArraysEXT http://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt -glMultiDrawArraysIndirectAMD http://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt -glMultiDrawElementArrayAPPLE http://www.opengl.org/registry/specs/APPLE/element_array.txt -glMultiDrawElements http://www.opengl.org/sdk/docs/man/xhtml/glMultiDrawElements.xml -glMultiDrawElements http://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElements.xml -glMultiDrawElements http://www.opengl.org/sdk/docs/man4/xhtml/glMultiDrawElements.xml -glMultiDrawElementsBaseVertex http://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt -glMultiDrawElementsBaseVertex http://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElementsBaseVertex.xml -glMultiDrawElementsBaseVertex http://www.opengl.org/sdk/docs/man4/xhtml/glMultiDrawElementsBaseVertex.xml -glMultiDrawElementsEXT http://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt -glMultiDrawElementsIndirectAMD http://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt -glMultiDrawRangeElementArrayAPPLE http://www.opengl.org/registry/specs/APPLE/element_array.txt -glMultiModeDrawArraysIBM http://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt -glMultiModeDrawElementsIBM http://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt -glMultiTexBufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexCoord1d http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord1dv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord1f http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord1fv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord1hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord1hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord1i http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord1iv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord1s http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord1sv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2d http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2dv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2f http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2fv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord2hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord2i http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2iv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2s http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord2sv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3d http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3dv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3f http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3fv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord3i http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3iv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3s http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord3sv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4d http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4dv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4f http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4fv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord4hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glMultiTexCoord4i http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4iv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4s http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoord4sv http://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml -glMultiTexCoordP1ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordP1uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordP2ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordP2uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordP3ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordP3uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordP4ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordP4uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glMultiTexCoordPointerEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexEnvfEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexEnvfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexEnviEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexEnvivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexGendEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexGendvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexGenfEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexGenfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexGeniEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexGenivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexParameterIivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexParameterIuivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexParameterfEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexParameterfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexParameteriEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexRenderbufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexSubImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexSubImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glMultiTexSubImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedBufferDataEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedBufferSubDataEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedCopyBufferSubDataEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedFramebufferRenderbufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedFramebufferTexture1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedFramebufferTexture2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedFramebufferTexture3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedFramebufferTextureEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedFramebufferTextureFaceEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedFramebufferTextureLayerEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameter4dEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameter4dvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameter4fEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameter4fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameterI4iEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameterI4ivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameterI4uiEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameterI4uivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParameters4fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParametersI4ivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramLocalParametersI4uivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedProgramStringEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedRenderbufferStorageEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedRenderbufferStorageMultisampleCoverageEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedRenderbufferStorageMultisampleEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glNamedStringARB http://www.opengl.org/registry/specs/ARB/shading_language_include.txt -glNewList http://www.opengl.org/sdk/docs/man/xhtml/glNewList.xml -glNewObjectBufferATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glNormal3b http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3bv http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3d http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3dv http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3f http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3fVertex3fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glNormal3fVertex3fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glNormal3fv http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glNormal3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glNormal3i http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3iv http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3s http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormal3sv http://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml -glNormalFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glNormalP3ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glNormalP3uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glNormalPointer http://www.opengl.org/sdk/docs/man/xhtml/glNormalPointer.xml -glNormalPointerEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glNormalPointervINTEL http://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt -glObjectPurgeableAPPLE http://www.opengl.org/registry/specs/APPLE/object_purgeable.txt -glObjectUnpurgeableAPPLE http://www.opengl.org/registry/specs/APPLE/object_purgeable.txt -glOrtho http://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xml -glOrthofOES http://www.opengl.org/registry/specs/OES/OES_single_precision.txt -glOrthoxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glPassThrough http://www.opengl.org/sdk/docs/man/xhtml/glPassThrough.xml -glPassThroughxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glPatchParameterfv http://www.opengl.org/registry/specs/ARB/tessellation_shader.txt -glPatchParameterfv http://www.opengl.org/sdk/docs/man4/xhtml/glPatchParameter.xml -glPatchParameteri http://www.opengl.org/registry/specs/ARB/tessellation_shader.txt -glPatchParameteri http://www.opengl.org/sdk/docs/man4/xhtml/glPatchParameter.xml -glPathColorGenNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathCommandsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathCoordsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathCoverDepthFuncNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathDashArrayNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathFogGenNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathGlyphRangeNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathGlyphsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathParameterfNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathParameterfvNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathParameteriNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathParameterivNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathStencilDepthOffsetNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathStencilFuncNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathStringNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathSubCommandsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathSubCoordsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPathTexGenNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPauseTransformFeedback http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt -glPauseTransformFeedback http://www.opengl.org/sdk/docs/man4/xhtml/glPauseTransformFeedback.xml -glPauseTransformFeedbackNV http://www.opengl.org/registry/specs/NV/transform_feedback2.txt -glPixelDataRangeNV http://www.opengl.org/registry/specs/NV/pixel_data_range.txt -glPixelMapfv http://www.opengl.org/sdk/docs/man/xhtml/glPixelMap.xml -glPixelMapuiv http://www.opengl.org/sdk/docs/man/xhtml/glPixelMap.xml -glPixelMapusv http://www.opengl.org/sdk/docs/man/xhtml/glPixelMap.xml -glPixelStoref http://www.opengl.org/sdk/docs/man/xhtml/glPixelStore.xml -glPixelStoref http://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml -glPixelStoref http://www.opengl.org/sdk/docs/man4/xhtml/glPixelStore.xml -glPixelStorei http://www.opengl.org/sdk/docs/man/xhtml/glPixelStore.xml -glPixelStorei http://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml -glPixelStorei http://www.opengl.org/sdk/docs/man4/xhtml/glPixelStore.xml -glPixelTexGenSGIX http://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt -glPixelTransferf http://www.opengl.org/sdk/docs/man/xhtml/glPixelTransfer.xml -glPixelTransferi http://www.opengl.org/sdk/docs/man/xhtml/glPixelTransfer.xml -glPixelTransferxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glPixelTransformParameterfEXT http://www.opengl.org/registry/specs/EXT/pixel_transform.txt -glPixelTransformParameterfvEXT http://www.opengl.org/registry/specs/EXT/pixel_transform.txt -glPixelTransformParameteriEXT http://www.opengl.org/registry/specs/EXT/pixel_transform.txt -glPixelTransformParameterivEXT http://www.opengl.org/registry/specs/EXT/pixel_transform.txt -glPixelZoom http://www.opengl.org/sdk/docs/man/xhtml/glPixelZoom.xml -glPixelZoomxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glPointAlongPathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glPointParameterf http://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml -glPointParameterf http://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml -glPointParameterf http://www.opengl.org/sdk/docs/man4/xhtml/glPointParameter.xml -glPointParameterfARB http://www.opengl.org/registry/specs/ARB/point_parameters.txt -glPointParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml -glPointParameterfv http://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml -glPointParameterfv http://www.opengl.org/sdk/docs/man4/xhtml/glPointParameter.xml -glPointParameterfvARB http://www.opengl.org/registry/specs/ARB/point_parameters.txt -glPointParameteri http://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml -glPointParameteri http://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml -glPointParameteri http://www.opengl.org/sdk/docs/man4/xhtml/glPointParameter.xml -glPointParameteriNV http://www.opengl.org/registry/specs/NV/point_sprite.txt -glPointParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml -glPointParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml -glPointParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glPointParameter.xml -glPointParameterivNV http://www.opengl.org/registry/specs/NV/point_sprite.txt -glPointParameterxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glPointSize http://www.opengl.org/sdk/docs/man/xhtml/glPointSize.xml -glPointSize http://www.opengl.org/sdk/docs/man3/xhtml/glPointSize.xml -glPointSize http://www.opengl.org/sdk/docs/man4/xhtml/glPointSize.xml -glPointSizexOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glPollAsyncSGIX http://www.opengl.org/registry/specs/SGIX/async.txt -glPollInstrumentsSGIX http://www.opengl.org/registry/specs/SGIX/instruments.txt -glPolygonMode http://www.opengl.org/sdk/docs/man/xhtml/glPolygonMode.xml -glPolygonMode http://www.opengl.org/sdk/docs/man3/xhtml/glPolygonMode.xml -glPolygonMode http://www.opengl.org/sdk/docs/man4/xhtml/glPolygonMode.xml -glPolygonOffset http://www.opengl.org/sdk/docs/man/xhtml/glPolygonOffset.xml -glPolygonOffset http://www.opengl.org/sdk/docs/man3/xhtml/glPolygonOffset.xml -glPolygonOffset http://www.opengl.org/sdk/docs/man4/xhtml/glPolygonOffset.xml -glPolygonOffsetEXT http://www.opengl.org/registry/specs/EXT/polygon_offset.txt -glPolygonOffsetxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glPolygonStipple http://www.opengl.org/sdk/docs/man/xhtml/glPolygonStipple.xml -glPopAttrib http://www.opengl.org/sdk/docs/man/xhtml/glPushAttrib.xml -glPopClientAttrib http://www.opengl.org/sdk/docs/man/xhtml/glPushClientAttrib.xml -glPopMatrix http://www.opengl.org/sdk/docs/man/xhtml/glPushMatrix.xml -glPopName http://www.opengl.org/sdk/docs/man/xhtml/glPushName.xml -glPresentFrameDualFillNV http://www.opengl.org/registry/specs/NV/present_video.txt -glPresentFrameKeyedNV http://www.opengl.org/registry/specs/NV/present_video.txt -glPrimitiveRestartIndex http://www.opengl.org/sdk/docs/man3/xhtml/glPrimitiveRestartIndex.xml -glPrimitiveRestartIndex http://www.opengl.org/sdk/docs/man4/xhtml/glPrimitiveRestartIndex.xml -glPrimitiveRestartIndexNV http://www.opengl.org/registry/specs/NV/primitive_restart.txt -glPrimitiveRestartNV http://www.opengl.org/registry/specs/NV/primitive_restart.txt -glPrioritizeTextures http://www.opengl.org/sdk/docs/man/xhtml/glPrioritizeTextures.xml -glPrioritizeTexturesEXT http://www.opengl.org/registry/specs/EXT/texture_object.txt -glPrioritizeTexturesxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glProgramBinary http://www.opengl.org/registry/specs/ARB/get_program_binary.txt -glProgramBinary http://www.opengl.org/sdk/docs/man4/xhtml/glProgramBinary.xml -glProgramBufferParametersIivNV http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt -glProgramBufferParametersIuivNV http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt -glProgramBufferParametersfvNV http://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt -glProgramEnvParameter4dARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramEnvParameter4dARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramEnvParameter4dvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramEnvParameter4dvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramEnvParameter4fARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramEnvParameter4fARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramEnvParameter4fvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramEnvParameter4fvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramEnvParameterI4iNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramEnvParameterI4ivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramEnvParameterI4uiNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramEnvParameterI4uivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramEnvParametersI4ivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramEnvParametersI4uivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramLocalParameter4dARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramLocalParameter4dARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramLocalParameter4dARB http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramLocalParameter4dvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramLocalParameter4dvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramLocalParameter4dvARB http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramLocalParameter4fARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramLocalParameter4fARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramLocalParameter4fARB http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramLocalParameter4fvARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramLocalParameter4fvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramLocalParameter4fvARB http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramLocalParameterI4iNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramLocalParameterI4ivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramLocalParameterI4uiNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramLocalParameterI4uivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramLocalParametersI4ivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramLocalParametersI4uivNV http://www.opengl.org/registry/specs/NV/gpu_program4.txt -glProgramNamedParameter4dNV http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramNamedParameter4dvNV http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramNamedParameter4fNV http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramNamedParameter4fvNV http://www.opengl.org/registry/specs/NV/fragment_program.txt -glProgramParameter4dNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glProgramParameter4dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glProgramParameter4fNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glProgramParameter4fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glProgramParameteri http://www.opengl.org/registry/specs/ARB/get_program_binary.txt -glProgramParameteri http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramParameteri http://www.opengl.org/sdk/docs/man4/xhtml/glProgramParameter.xml -glProgramParameteriARB http://www.opengl.org/registry/specs/ARB/geometry_shader4.txt -glProgramParameteriEXT http://www.opengl.org/registry/specs/EXT/geometry_shader4.txt -glProgramParameters4dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glProgramParameters4fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glProgramStringARB http://www.opengl.org/registry/specs/ARB/fragment_program.txt -glProgramStringARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glProgramUniform1d http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1dEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform1dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform1f http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1f http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform1fEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform1fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform1fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform1i http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1i http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform1i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform1i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform1iEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform1iv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1iv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform1ivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform1ui http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1ui http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform1ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform1ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform1uiEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform1uiv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform1uiv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform1uivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform2d http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2dEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform2dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform2f http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2f http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform2fEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform2fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform2fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform2i http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2i http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform2i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform2i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform2iEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform2iv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2iv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform2ivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform2ui http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2ui http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform2ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform2ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform2uiEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform2uiv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform2uiv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform2uivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform3d http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3dEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform3dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform3f http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3f http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform3fEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform3fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform3fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform3i http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3i http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform3i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform3i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform3iEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform3iv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3iv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform3ivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform3ui http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3ui http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform3ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform3ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform3uiEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform3uiv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform3uiv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform3uivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform4d http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4dEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform4dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniform4f http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4f http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform4fEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform4fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform4fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform4i http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4i http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform4i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform4i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform4iEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform4iv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4iv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform4ivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform4ui http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4ui http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform4ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform4ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glProgramUniform4uiEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniform4uiv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniform4uiv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniform4uivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix2dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix2dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix2fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix2fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix2fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix2x3dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix2x3dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix2x3fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix2x3fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix2x3fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix2x4dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix2x4dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix2x4fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix2x4fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix2x4fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix3dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix3dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix3fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix3fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix3fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix3x2dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix3x2dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix3x2fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix3x2fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix3x2fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix3x4dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix3x4dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix3x4fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix3x4fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix3x4fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix4dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix4dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix4fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix4fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix4fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix4x2dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix4x2dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix4x2fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix4x2fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix4x2fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformMatrix4x3dv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix4x3dvEXT http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glProgramUniformMatrix4x3fv http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glProgramUniformMatrix4x3fv http://www.opengl.org/sdk/docs/man4/xhtml/glProgramUniform.xml -glProgramUniformMatrix4x3fvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glProgramUniformui64NV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glProgramUniformui64vNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glProgramVertexLimitNV http://www.opengl.org/registry/specs/NV/geometry_program4.txt -glProvokingVertex http://www.opengl.org/registry/specs/ARB/provoking_vertex.txt -glProvokingVertex http://www.opengl.org/sdk/docs/man3/xhtml/glProvokingVertex.xml -glProvokingVertex http://www.opengl.org/sdk/docs/man4/xhtml/glProvokingVertex.xml -glProvokingVertexEXT http://www.opengl.org/registry/specs/EXT/provoking_vertex.txt -glPushAttrib http://www.opengl.org/sdk/docs/man/xhtml/glPushAttrib.xml -glPushClientAttrib http://www.opengl.org/sdk/docs/man/xhtml/glPushClientAttrib.xml -glPushClientAttribDefaultEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glPushMatrix http://www.opengl.org/sdk/docs/man/xhtml/glPushMatrix.xml -glPushName http://www.opengl.org/sdk/docs/man/xhtml/glPushName.xml -glQueryCounter http://www.opengl.org/registry/specs/ARB/timer_query.txt -glQueryCounter http://www.opengl.org/sdk/docs/man3/xhtml/glQueryCounter.xml -glQueryCounter http://www.opengl.org/sdk/docs/man4/xhtml/glQueryCounter.xml -glQueryMatrixxOES http://www.opengl.org/registry/specs/OES/OES_query_matrix.txt -glQueryMaxSwapBarriersSGIX http://www.opengl.org/registry/specs/SGIX/swap_barrier.txt -glRasterPos2d http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos2dv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos2f http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos2fv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos2i http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos2iv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos2s http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos2sv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3d http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3dv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3f http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3fv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3i http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3iv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3s http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos3sv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4d http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4dv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4f http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4fv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4i http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4iv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4s http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glRasterPos4sv http://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml -glReadBuffer http://www.opengl.org/sdk/docs/man/xhtml/glReadBuffer.xml -glReadBuffer http://www.opengl.org/sdk/docs/man3/xhtml/glReadBuffer.xml -glReadBuffer http://www.opengl.org/sdk/docs/man4/xhtml/glReadBuffer.xml -glReadInstrumentsSGIX http://www.opengl.org/registry/specs/SGIX/instruments.txt -glReadPixels http://www.opengl.org/sdk/docs/man/xhtml/glReadPixels.xml -glReadPixels http://www.opengl.org/sdk/docs/man3/xhtml/glReadPixels.xml -glReadPixels http://www.opengl.org/sdk/docs/man4/xhtml/glReadPixels.xml -glReadnPixelsARB http://www.opengl.org/registry/specs/ARB/robustness.txt -glRectd http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRectdv http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRectf http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRectfv http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRecti http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRectiv http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRects http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRectsv http://www.opengl.org/sdk/docs/man/xhtml/glRect.xml -glRectxOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glRectxvOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glReferencePlaneSGIX http://www.opengl.org/registry/specs/SGIX/reference_plane.txt -glReleaseShaderCompiler http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt -glReleaseShaderCompiler http://www.opengl.org/sdk/docs/man4/xhtml/glReleaseShaderCompiler.xml -glRenderMode http://www.opengl.org/sdk/docs/man/xhtml/glRenderMode.xml -glRenderbufferStorage http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glRenderbufferStorage http://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorage.xml -glRenderbufferStorage http://www.opengl.org/sdk/docs/man4/xhtml/glRenderbufferStorage.xml -glRenderbufferStorageEXT http://www.opengl.org/registry/specs/EXT/framebuffer_object.txt -glRenderbufferStorageMultisample http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt -glRenderbufferStorageMultisample http://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorageMultisample.xml -glRenderbufferStorageMultisample http://www.opengl.org/sdk/docs/man4/xhtml/glRenderbufferStorageMultisample.xml -glRenderbufferStorageMultisampleCoverageNV http://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt -glRenderbufferStorageMultisampleEXT http://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt -glReplacementCodePointerSUN http://www.opengl.org/registry/specs/SUN/triangle_list.txt -glReplacementCodeubSUN http://www.opengl.org/registry/specs/SUN/triangle_list.txt -glReplacementCodeubvSUN http://www.opengl.org/registry/specs/SUN/triangle_list.txt -glReplacementCodeuiSUN http://www.opengl.org/registry/specs/SUN/triangle_list.txt -glReplacementCodeuivSUN http://www.opengl.org/registry/specs/SUN/triangle_list.txt -glReplacementCodeusSUN http://www.opengl.org/registry/specs/SUN/triangle_list.txt -glReplacementCodeusvSUN http://www.opengl.org/registry/specs/SUN/triangle_list.txt -glRequestResidentProgramsNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glResetHistogram http://www.opengl.org/sdk/docs/man/xhtml/glResetHistogram.xml -glResetHistogramEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glResetMinmax http://www.opengl.org/sdk/docs/man/xhtml/glResetMinmax.xml -glResetMinmaxEXT http://www.opengl.org/registry/specs/EXT/histogram.txt -glResizeBuffersMESA http://www.opengl.org/registry/specs/MESA/resize_buffers.txt -glResumeTransformFeedback http://www.opengl.org/registry/specs/ARB/transform_feedback2.txt -glResumeTransformFeedback http://www.opengl.org/sdk/docs/man4/xhtml/glResumeTransformFeedback.xml -glResumeTransformFeedbackNV http://www.opengl.org/registry/specs/NV/transform_feedback2.txt -glRotated http://www.opengl.org/sdk/docs/man/xhtml/glRotate.xml -glRotatef http://www.opengl.org/sdk/docs/man/xhtml/glRotate.xml -glRotatexOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glSampleCoverage http://www.opengl.org/sdk/docs/man/xhtml/glSampleCoverage.xml -glSampleCoverage http://www.opengl.org/sdk/docs/man3/xhtml/glSampleCoverage.xml -glSampleCoverage http://www.opengl.org/sdk/docs/man4/xhtml/glSampleCoverage.xml -glSampleCoverageARB http://www.opengl.org/registry/specs/ARB/multisample.txt -glSampleCoverageOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glSampleMaskEXT http://www.opengl.org/registry/specs/EXT/wgl_multisample.txt -glSampleMaskIndexedNV http://www.opengl.org/registry/specs/NV/explicit_multisample.txt -glSampleMaskSGIS http://www.opengl.org/registry/specs/SGIS/multisample.txt -glSampleMaski http://www.opengl.org/registry/specs/ARB/texture_multisample.txt -glSampleMaski http://www.opengl.org/sdk/docs/man3/xhtml/glSampleMaski.xml -glSampleMaski http://www.opengl.org/sdk/docs/man4/xhtml/glSampleMaski.xml -glSamplePatternEXT http://www.opengl.org/registry/specs/EXT/wgl_multisample.txt -glSamplePatternSGIS http://www.opengl.org/registry/specs/SGIS/multisample.txt -glSamplerParameterIiv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glSamplerParameterIuiv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glSamplerParameterf http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glSamplerParameterf http://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml -glSamplerParameterf http://www.opengl.org/sdk/docs/man4/xhtml/glSamplerParameter.xml -glSamplerParameterfv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glSamplerParameterfv http://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml -glSamplerParameterfv http://www.opengl.org/sdk/docs/man4/xhtml/glSamplerParameter.xml -glSamplerParameteri http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glSamplerParameteri http://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml -glSamplerParameteri http://www.opengl.org/sdk/docs/man4/xhtml/glSamplerParameter.xml -glSamplerParameteriv http://www.opengl.org/registry/specs/ARB/sampler_objects.txt -glSamplerParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml -glSamplerParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glSamplerParameter.xml -glScaled http://www.opengl.org/sdk/docs/man/xhtml/glScale.xml -glScalef http://www.opengl.org/sdk/docs/man/xhtml/glScale.xml -glScalexOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glScissor http://www.opengl.org/sdk/docs/man/xhtml/glScissor.xml -glScissor http://www.opengl.org/sdk/docs/man3/xhtml/glScissor.xml -glScissor http://www.opengl.org/sdk/docs/man4/xhtml/glScissor.xml -glScissorArrayv http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glScissorArrayv http://www.opengl.org/sdk/docs/man4/xhtml/glScissorArray.xml -glScissorIndexed http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glScissorIndexed http://www.opengl.org/sdk/docs/man4/xhtml/glScissorIndexed.xml -glScissorIndexedv http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glScissorIndexedv http://www.opengl.org/sdk/docs/man4/xhtml/glScissorIndexed.xml -glSecondaryColor3b http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3bv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3d http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3dv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3f http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3fv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glSecondaryColor3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glSecondaryColor3i http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3iv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3s http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3sv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3ub http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3ubv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3ui http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3uiv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3us http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColor3usv http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml -glSecondaryColorFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glSecondaryColorP3ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glSecondaryColorP3uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glSecondaryColorPointer http://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColorPointer.xml -glSecondaryColorPointerEXT http://www.opengl.org/registry/specs/EXT/secondary_color.txt -glSelectBuffer http://www.opengl.org/sdk/docs/man/xhtml/glSelectBuffer.xml -glSelectPerfMonitorCountersAMD http://www.opengl.org/registry/specs/AMD/performance_monitor.txt -glSeparableFilter2D http://www.opengl.org/sdk/docs/man/xhtml/glSeparableFilter2D.xml -glSeparableFilter2DEXT http://www.opengl.org/registry/specs/EXT/convolution.txt -glSetFenceAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glSetFenceNV http://www.opengl.org/registry/specs/NV/fence.txt -glSetMultisamplefvAMD http://www.opengl.org/registry/specs/AMD/sample_positions.txt -glShadeModel http://www.opengl.org/sdk/docs/man/xhtml/glShadeModel.xml -glShaderBinary http://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt -glShaderBinary http://www.opengl.org/sdk/docs/man4/xhtml/glShaderBinary.xml -glShaderSource http://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml -glShaderSource http://www.opengl.org/sdk/docs/man3/xhtml/glShaderSource.xml -glShaderSource http://www.opengl.org/sdk/docs/man4/xhtml/glShaderSource.xml -glShaderSourceARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glSharpenTexFuncSGIS http://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt -glSpriteParameterfSGIX http://www.opengl.org/registry/specs/SGIX/sprite.txt -glSpriteParameterfvSGIX http://www.opengl.org/registry/specs/SGIX/sprite.txt -glSpriteParameteriSGIX http://www.opengl.org/registry/specs/SGIX/sprite.txt -glSpriteParameterivSGIX http://www.opengl.org/registry/specs/SGIX/sprite.txt -glStartInstrumentsSGIX http://www.opengl.org/registry/specs/SGIX/instruments.txt -glStencilClearTagEXT http://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt -glStencilFillPathInstancedNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glStencilFillPathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glStencilFunc http://www.opengl.org/sdk/docs/man/xhtml/glStencilFunc.xml -glStencilFunc http://www.opengl.org/sdk/docs/man3/xhtml/glStencilFunc.xml -glStencilFunc http://www.opengl.org/sdk/docs/man4/xhtml/glStencilFunc.xml -glStencilFuncSeparate http://www.opengl.org/sdk/docs/man/xhtml/glStencilFuncSeparate.xml -glStencilFuncSeparate http://www.opengl.org/sdk/docs/man3/xhtml/glStencilFuncSeparate.xml -glStencilFuncSeparate http://www.opengl.org/sdk/docs/man4/xhtml/glStencilFuncSeparate.xml -glStencilMask http://www.opengl.org/sdk/docs/man/xhtml/glStencilMask.xml -glStencilMask http://www.opengl.org/sdk/docs/man3/xhtml/glStencilMask.xml -glStencilMask http://www.opengl.org/sdk/docs/man4/xhtml/glStencilMask.xml -glStencilMaskSeparate http://www.opengl.org/sdk/docs/man/xhtml/glStencilMaskSeparate.xml -glStencilMaskSeparate http://www.opengl.org/sdk/docs/man3/xhtml/glStencilMaskSeparate.xml -glStencilMaskSeparate http://www.opengl.org/sdk/docs/man4/xhtml/glStencilMaskSeparate.xml -glStencilOp http://www.opengl.org/sdk/docs/man/xhtml/glStencilOp.xml -glStencilOp http://www.opengl.org/sdk/docs/man3/xhtml/glStencilOp.xml -glStencilOp http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOp.xml -glStencilOpSeparate http://www.opengl.org/sdk/docs/man/xhtml/glStencilOpSeparate.xml -glStencilOpSeparate http://www.opengl.org/sdk/docs/man3/xhtml/glStencilOpSeparate.xml -glStencilOpSeparate http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml -glStencilStrokePathInstancedNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glStencilStrokePathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glStopInstrumentsSGIX http://www.opengl.org/registry/specs/SGIX/instruments.txt -glStringMarkerGREMEDY http://www.opengl.org/registry/specs/GREMEDY/string_marker.txt -glTagSampleBufferSGIX http://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt -glTangentPointerEXT http://www.opengl.org/registry/specs/EXT/coordinate_frame.txt -glTbufferMask3DFX http://www.opengl.org/registry/specs/3DFX/tbuffer.txt -glTessellationFactorAMD http://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt -glTessellationModeAMD http://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt -glTestFenceAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glTestFenceNV http://www.opengl.org/registry/specs/NV/fence.txt -glTestObjectAPPLE http://www.opengl.org/registry/specs/APPLE/fence.txt -glTexBuffer http://www.opengl.org/sdk/docs/man3/xhtml/glTexBuffer.xml -glTexBuffer http://www.opengl.org/sdk/docs/man4/xhtml/glTexBuffer.xml -glTexBufferARB http://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt -glTexBufferEXT http://www.opengl.org/registry/specs/EXT/texture_buffer_object.txt -glTexCoord1d http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord1dv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord1f http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord1fv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord1hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord1hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord1i http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord1iv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord1s http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord1sv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2d http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2dv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2f http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2fColor4ubVertex3fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glTexCoord2fColor4ubVertex3fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glTexCoord2fVertex3fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glTexCoord2fVertex3fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glTexCoord2fv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord2hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord2i http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2iv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2s http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord2sv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3d http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3dv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3f http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3fv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord3i http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3iv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3s http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord3sv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4d http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4dv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4f http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4fVertex4fSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glTexCoord4fVertex4fvSUN http://www.opengl.org/registry/specs/SUN/vertex.txt -glTexCoord4fv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord4hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glTexCoord4i http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4iv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4s http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoord4sv http://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml -glTexCoordFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glTexCoordP1ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordP1uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordP2ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordP2uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordP3ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordP3uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordP4ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordP4uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glTexCoordPointer http://www.opengl.org/sdk/docs/man/xhtml/glTexCoordPointer.xml -glTexCoordPointerEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glTexCoordPointervINTEL http://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt -glTexEnvf http://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml -glTexEnvfv http://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml -glTexEnvi http://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml -glTexEnviv http://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml -glTexFilterFuncSGIS http://www.opengl.org/registry/specs/SGIS/texture_filter4.txt -glTexGend http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml -glTexGendv http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml -glTexGenf http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml -glTexGenfv http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml -glTexGeni http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml -glTexGeniv http://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml -glTexImage1D http://www.opengl.org/sdk/docs/man/xhtml/glTexImage1D.xml -glTexImage1D http://www.opengl.org/sdk/docs/man3/xhtml/glTexImage1D.xml -glTexImage1D http://www.opengl.org/sdk/docs/man4/xhtml/glTexImage1D.xml -glTexImage2D http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml -glTexImage2D http://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2D.xml -glTexImage2D http://www.opengl.org/sdk/docs/man4/xhtml/glTexImage2D.xml -glTexImage2DMultisample http://www.opengl.org/registry/specs/ARB/texture_multisample.txt -glTexImage2DMultisample http://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2DMultisample.xml -glTexImage2DMultisample http://www.opengl.org/sdk/docs/man4/xhtml/glTexImage2DMultisample.xml -glTexImage2DMultisampleCoverageNV http://www.opengl.org/registry/specs/NV/texture_multisample.txt -glTexImage3D http://www.opengl.org/sdk/docs/man/xhtml/glTexImage3D.xml -glTexImage3D http://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3D.xml -glTexImage3D http://www.opengl.org/sdk/docs/man4/xhtml/glTexImage3D.xml -glTexImage3DEXT http://www.opengl.org/registry/specs/EXT/texture3D.txt -glTexImage3DMultisample http://www.opengl.org/registry/specs/ARB/texture_multisample.txt -glTexImage3DMultisample http://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3DMultisample.xml -glTexImage3DMultisample http://www.opengl.org/sdk/docs/man4/xhtml/glTexImage3DMultisample.xml -glTexImage3DMultisampleCoverageNV http://www.opengl.org/registry/specs/NV/texture_multisample.txt -glTexImage4DSGIS http://www.opengl.org/registry/specs/SGIS/texture4D.txt -glTexParameterIiv http://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml -glTexParameterIiv http://www.opengl.org/sdk/docs/man4/xhtml/glTexParameter.xml -glTexParameterIivEXT http://www.opengl.org/registry/specs/EXT/texture_integer.txt -glTexParameterIuiv http://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml -glTexParameterIuiv http://www.opengl.org/sdk/docs/man4/xhtml/glTexParameter.xml -glTexParameterIuivEXT http://www.opengl.org/registry/specs/EXT/texture_integer.txt -glTexParameterf http://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml -glTexParameterf http://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml -glTexParameterf http://www.opengl.org/sdk/docs/man4/xhtml/glTexParameter.xml -glTexParameterfv http://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml -glTexParameterfv http://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml -glTexParameterfv http://www.opengl.org/sdk/docs/man4/xhtml/glTexParameter.xml -glTexParameteri http://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml -glTexParameteri http://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml -glTexParameteri http://www.opengl.org/sdk/docs/man4/xhtml/glTexParameter.xml -glTexParameteriv http://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml -glTexParameteriv http://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml -glTexParameteriv http://www.opengl.org/sdk/docs/man4/xhtml/glTexParameter.xml -glTexRenderbufferNV http://www.opengl.org/registry/specs/NV/explicit_multisample.txt -glTexStorage1D http://www.opengl.org/registry/specs/ARB/texture_storage.txt -glTexStorage2D http://www.opengl.org/registry/specs/ARB/texture_storage.txt -glTexStorage3D http://www.opengl.org/registry/specs/ARB/texture_storage.txt -glTexSubImage1D http://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage1D.xml -glTexSubImage1D http://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage1D.xml -glTexSubImage1D http://www.opengl.org/sdk/docs/man4/xhtml/glTexSubImage1D.xml -glTexSubImage1DEXT http://www.opengl.org/registry/specs/EXT/subtexture.txt -glTexSubImage2D http://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage2D.xml -glTexSubImage2D http://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage2D.xml -glTexSubImage2D http://www.opengl.org/sdk/docs/man4/xhtml/glTexSubImage2D.xml -glTexSubImage2DEXT http://www.opengl.org/registry/specs/EXT/subtexture.txt -glTexSubImage3D http://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage3D.xml -glTexSubImage3D http://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage3D.xml -glTexSubImage3D http://www.opengl.org/sdk/docs/man4/xhtml/glTexSubImage3D.xml -glTexSubImage3DEXT http://www.opengl.org/registry/specs/EXT/subtexture.txt -glTexSubImage4DSGIS http://www.opengl.org/registry/specs/SGIS/texture4D.txt -glTextureBarrierNV http://www.opengl.org/registry/specs/NV/texture_barrier.txt -glTextureBufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureColorMaskSGIS http://www.opengl.org/registry/specs/SGIS/texture_color_mask.txt -glTextureFogSGIX http://www.opengl.org/registry/specs/SGIX/fog_texture.txt -glTextureImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureImage2DMultisampleCoverageNV http://www.opengl.org/registry/specs/NV/texture_multisample.txt -glTextureImage2DMultisampleNV http://www.opengl.org/registry/specs/NV/texture_multisample.txt -glTextureImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureImage3DMultisampleCoverageNV http://www.opengl.org/registry/specs/NV/texture_multisample.txt -glTextureImage3DMultisampleNV http://www.opengl.org/registry/specs/NV/texture_multisample.txt -glTextureLightEXT http://www.opengl.org/registry/specs/EXT/light_texture.txt -glTextureMaterialEXT http://www.opengl.org/registry/specs/EXT/light_texture.txt -glTextureNormalEXT http://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt -glTextureParameterIivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureParameterIuivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureParameterfEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureParameterfvEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureParameteriEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureParameterivEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureRangeAPPLE http://www.opengl.org/registry/specs/APPLE/texture_range.txt -glTextureRenderbufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureStorage1DEXT http://www.opengl.org/registry/specs/ARB/texture_storage.txt -glTextureStorage2DEXT http://www.opengl.org/registry/specs/ARB/texture_storage.txt -glTextureStorage3DEXT http://www.opengl.org/registry/specs/ARB/texture_storage.txt -glTextureSubImage1DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureSubImage2DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTextureSubImage3DEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glTrackMatrixNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glTransformFeedbackAttribsNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glTransformFeedbackVaryings http://www.opengl.org/sdk/docs/man3/xhtml/glTransformFeedbackVaryings.xml -glTransformFeedbackVaryings http://www.opengl.org/sdk/docs/man4/xhtml/glTransformFeedbackVaryings.xml -glTransformFeedbackVaryingsEXT http://www.opengl.org/registry/specs/EXT/transform_feedback.txt -glTransformFeedbackVaryingsNV http://www.opengl.org/registry/specs/NV/transform_feedback.txt -glTransformPathNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glTranslated http://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml -glTranslatef http://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml -glTranslatexOES http://www.opengl.org/registry/specs/OES/OES_fixed_point.txt -glUniform1d http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform1dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform1f http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform1f http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform1f http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform1fARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform1fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform1fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform1fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform1fvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform1i http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform1i http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform1i http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform1i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform1i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform1iARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform1iv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform1iv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform1iv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform1ivARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform1ui http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform1ui http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform1ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform1ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform1uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniform1uiv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform1uiv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform1uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniform2d http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform2dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform2f http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform2f http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform2f http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform2fARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform2fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform2fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform2fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform2fvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform2i http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform2i http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform2i http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform2i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform2i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform2iARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform2iv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform2iv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform2iv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform2ivARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform2ui http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform2ui http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform2ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform2ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform2uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniform2uiv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform2uiv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform2uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniform3d http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform3dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform3f http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform3f http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform3f http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform3fARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform3fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform3fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform3fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform3fvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform3i http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform3i http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform3i http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform3i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform3i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform3iARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform3iv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform3iv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform3iv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform3ivARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform3ui http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform3ui http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform3ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform3ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform3uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniform3uiv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform3uiv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform3uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniform4d http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform4dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniform4f http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform4f http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform4f http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform4fARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform4fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform4fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform4fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform4fvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform4i http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform4i http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform4i http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform4i64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform4i64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform4iARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform4iv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniform4iv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform4iv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform4ivARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniform4ui http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform4ui http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform4ui64NV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform4ui64vNV http://www.opengl.org/registry/specs/NV/gpu_shader5.txt -glUniform4uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniform4uiv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniform4uiv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniform4uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glUniformBlockBinding http://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt -glUniformBlockBinding http://www.opengl.org/sdk/docs/man3/xhtml/glUniformBlockBinding.xml -glUniformBlockBinding http://www.opengl.org/sdk/docs/man4/xhtml/glUniformBlockBinding.xml -glUniformBufferEXT http://www.opengl.org/registry/specs/EXT/bindable_uniform.txt -glUniformMatrix2dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix2fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix2fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix2fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix2fvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniformMatrix2x3dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix2x3fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix2x3fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix2x3fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix2x4dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix2x4fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix2x4fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix2x4fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix3dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix3fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix3fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix3fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix3fvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniformMatrix3x2dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix3x2fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix3x2fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix3x2fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix3x4dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix3x4fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix3x4fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix3x4fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix4dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix4fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix4fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix4fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix4fvARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUniformMatrix4x2dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix4x2fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix4x2fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix4x2fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformMatrix4x3dv http://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt -glUniformMatrix4x3fv http://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml -glUniformMatrix4x3fv http://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml -glUniformMatrix4x3fv http://www.opengl.org/sdk/docs/man4/xhtml/glUniform.xml -glUniformSubroutinesuiv http://www.opengl.org/registry/specs/ARB/shader_subroutine.txt -glUniformSubroutinesuiv http://www.opengl.org/sdk/docs/man4/xhtml/glUniformSubroutines.xml -glUniformui64NV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glUniformui64vNV http://www.opengl.org/registry/specs/NV/shader_buffer_load.txt -glUnmapBuffer http://www.opengl.org/sdk/docs/man/xhtml/glMapBuffer.xml -glUnmapBuffer http://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml -glUnmapBuffer http://www.opengl.org/sdk/docs/man4/xhtml/glMapBuffer.xml -glUnmapBufferARB http://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt -glUnmapNamedBufferEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glUnmapObjectBufferATI http://www.opengl.org/registry/specs/ATI/map_object_buffer.txt -glUpdateObjectBufferATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glUseProgram http://www.opengl.org/sdk/docs/man/xhtml/glUseProgram.xml -glUseProgram http://www.opengl.org/sdk/docs/man3/xhtml/glUseProgram.xml -glUseProgram http://www.opengl.org/sdk/docs/man4/xhtml/glUseProgram.xml -glUseProgramObjectARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glUseProgramStages http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glUseProgramStages http://www.opengl.org/sdk/docs/man4/xhtml/glUseProgramStages.xml -glUseShaderProgramEXT http://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt -glValidateProgram http://www.opengl.org/sdk/docs/man/xhtml/glValidateProgram.xml -glValidateProgram http://www.opengl.org/sdk/docs/man3/xhtml/glValidateProgram.xml -glValidateProgram http://www.opengl.org/sdk/docs/man4/xhtml/glValidateProgram.xml -glValidateProgramARB http://www.opengl.org/registry/specs/ARB/shader_objects.txt -glValidateProgramPipeline http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt -glValidateProgramPipeline http://www.opengl.org/sdk/docs/man4/xhtml/glValidateProgramPipeline.xml -glVariantArrayObjectATI http://www.opengl.org/registry/specs/ATI/vertex_array_object.txt -glVertex2d http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex2dv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex2f http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex2fv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex2hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertex2hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertex2i http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex2iv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex2s http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex2sv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3d http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3dv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3f http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3fv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertex3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertex3i http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3iv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3s http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex3sv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4d http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4dv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4f http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4fv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertex4hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertex4i http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4iv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4s http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertex4sv http://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml -glVertexArrayColorOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayEdgeFlagOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayFogCoordOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayIndexOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayMultiTexCoordOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayNormalOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayParameteriAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt -glVertexArrayRangeAPPLE http://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt -glVertexArrayRangeNV http://www.opengl.org/registry/specs/NV/vertex_array_range.txt -glVertexArraySecondaryColorOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayTexCoordOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayVertexAttribIOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayVertexAttribLOffsetEXT http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexArrayVertexAttribLOffsetEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexArrayVertexAttribOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexArrayVertexOffsetEXT http://www.opengl.org/registry/specs/EXT/direct_state_access.txt -glVertexAttrib1d http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib1d http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib1d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib1dARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib1dARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib1dNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib1dv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib1dv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib1dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib1dvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib1dvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib1dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib1f http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib1f http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib1f http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib1fARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib1fARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib1fNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib1fv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib1fv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib1fv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib1fvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib1fvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib1fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib1hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib1hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib1s http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib1s http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib1s http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib1sARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib1sARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib1sNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib1sv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib1sv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib1sv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib1svARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib1svARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib1svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib2d http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib2d http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib2d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib2dARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib2dARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib2dNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib2dv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib2dv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib2dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib2dvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib2dvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib2dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib2f http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib2f http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib2f http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib2fARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib2fARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib2fNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib2fv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib2fv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib2fv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib2fvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib2fvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib2fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib2hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib2hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib2s http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib2s http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib2s http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib2sARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib2sARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib2sNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib2sv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib2sv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib2sv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib2svARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib2svARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib2svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib3d http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib3d http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib3d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib3dARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib3dARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib3dNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib3dv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib3dv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib3dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib3dvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib3dvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib3dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib3f http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib3f http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib3f http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib3fARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib3fARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib3fNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib3fv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib3fv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib3fv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib3fvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib3fvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib3fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib3hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib3s http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib3s http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib3s http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib3sARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib3sARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib3sNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib3sv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib3sv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib3sv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib3svARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib3svARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib3svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4Nbv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4Nbv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4Nbv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4NbvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4NbvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4Niv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4Niv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4Niv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4NivARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4NivARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4Nsv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4Nsv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4Nsv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4NsvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4NsvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4Nub http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4Nub http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4Nub http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4NubARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4NubARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4Nubv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4Nubv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4Nubv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4NubvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4NubvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4Nuiv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4Nuiv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4Nuiv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4NuivARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4NuivARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4Nusv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4Nusv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4Nusv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4NusvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4NusvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4bv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4bv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4bv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4bvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4bvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4d http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4d http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4dARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4dARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4dNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4dv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4dv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4dvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4dvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4f http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4f http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4f http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4fARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4fARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4fNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4fv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4fv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4fv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4fvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4fvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4hNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib4hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttrib4iv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4iv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4iv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4ivARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4ivARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4s http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4s http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4s http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4sARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4sARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4sNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4sv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4sv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4sv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4svARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4svARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4ubNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4ubv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4ubv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4ubv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4ubvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4ubvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4ubvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttrib4uiv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4uiv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4uiv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4uivARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4uivARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttrib4usv http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml -glVertexAttrib4usv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttrib4usv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttrib4usvARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttrib4usvARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttribArrayObjectATI http://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt -glVertexAttribDivisor http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribDivisor.xml -glVertexAttribDivisor http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttribDivisor.xml -glVertexAttribDivisorARB http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt -glVertexAttribFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glVertexAttribI1i http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI1i http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI1iEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI1iEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI1iv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI1iv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI1ivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI1ivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI1ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI1ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI1uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI1uiEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI1uiv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI1uiv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI1uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI1uivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI2i http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI2i http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI2iEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI2iEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI2iv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI2iv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI2ivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI2ivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI2ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI2ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI2uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI2uiEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI2uiv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI2uiv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI2uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI2uivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI3i http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI3i http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI3iEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI3iEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI3iv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI3iv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI3ivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI3ivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI3ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI3ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI3uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI3uiEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI3uiv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI3uiv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI3uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI3uivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4bv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4bv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4bvEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4bvEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4i http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4i http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4iEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4iEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4iv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4iv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4ivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4ivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4sv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4sv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4svEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4svEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4ubv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4ubv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4ubvEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4ubvEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4uiEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4uiEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4uiv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4uiv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4uivEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4uivEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribI4usv http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribI4usv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribI4usvEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribI4usvEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribIFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glVertexAttribIPointer http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml -glVertexAttribIPointer http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttribPointer.xml -glVertexAttribIPointerEXT http://www.opengl.org/registry/specs/EXT/gpu_shader4.txt -glVertexAttribIPointerEXT http://www.opengl.org/registry/specs/NV/vertex_program4.txt -glVertexAttribL1d http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL1d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL1dEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL1dv http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL1dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL1dvEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL1i64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL1i64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL1ui64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL1ui64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL2d http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL2d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL2dEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL2dv http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL2dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL2dvEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL2i64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL2i64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL2ui64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL2ui64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL3d http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL3d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL3dEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL3dv http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL3dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL3dvEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL3i64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL3i64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL3ui64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL3ui64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL4d http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL4d http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL4dEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL4dv http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribL4dv http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribL4dvEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribL4i64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL4i64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL4ui64NV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribL4ui64vNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribLFormatNV http://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt -glVertexAttribLPointer http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt -glVertexAttribLPointer http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttribPointer.xml -glVertexAttribLPointerEXT http://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt -glVertexAttribP1ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribP1ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribP1ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribP1uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribP2ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribP2ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribP2ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribP2uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribP3ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribP3ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribP3ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribP3uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribP4ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribP4ui http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml -glVertexAttribP4ui http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttrib.xml -glVertexAttribP4uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexAttribPointer http://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribPointer.xml -glVertexAttribPointer http://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml -glVertexAttribPointer http://www.opengl.org/sdk/docs/man4/xhtml/glVertexAttribPointer.xml -glVertexAttribPointerARB http://www.opengl.org/registry/specs/ARB/vertex_program.txt -glVertexAttribPointerARB http://www.opengl.org/registry/specs/ARB/vertex_shader.txt -glVertexAttribPointerNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs1dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs1fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs1hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttribs1svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs2dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs2fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs2hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttribs2svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs3dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs3fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs3hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttribs3svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs4dvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs4fvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs4hvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexAttribs4svNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexAttribs4ubvNV http://www.opengl.org/registry/specs/NV/vertex_program.txt -glVertexBlendARB http://www.opengl.org/registry/specs/ARB/vertex_blend.txt -glVertexFormatNV http://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt -glVertexP2ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexP2uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexP3ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexP3uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexP4ui http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexP4uiv http://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt -glVertexPointer http://www.opengl.org/sdk/docs/man/xhtml/glVertexPointer.xml -glVertexPointerEXT http://www.opengl.org/registry/specs/EXT/vertex_array.txt -glVertexPointervINTEL http://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt -glVertexWeighthNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVertexWeighthvNV http://www.opengl.org/registry/specs/NV/half_float.txt -glVideoCaptureNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glViewport http://www.opengl.org/sdk/docs/man/xhtml/glViewport.xml -glViewport http://www.opengl.org/sdk/docs/man3/xhtml/glViewport.xml -glViewport http://www.opengl.org/sdk/docs/man4/xhtml/glViewport.xml -glViewportArrayv http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glViewportArrayv http://www.opengl.org/sdk/docs/man4/xhtml/glViewportArray.xml -glViewportIndexedf http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glViewportIndexedf http://www.opengl.org/sdk/docs/man4/xhtml/glViewportIndexed.xml -glViewportIndexedfv http://www.opengl.org/registry/specs/ARB/viewport_array.txt -glViewportIndexedfv http://www.opengl.org/sdk/docs/man4/xhtml/glViewportIndexed.xml -glWaitSync http://www.opengl.org/registry/specs/ARB/sync.txt -glWaitSync http://www.opengl.org/sdk/docs/man3/xhtml/glWaitSync.xml -glWaitSync http://www.opengl.org/sdk/docs/man4/xhtml/glWaitSync.xml -glWeightPathsNV http://www.opengl.org/registry/specs/NV/path_rendering.txt -glWeightPointerARB http://www.opengl.org/registry/specs/ARB/vertex_blend.txt -glWindowPos2d http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2dARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2dMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos2dv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2dvARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2dvMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos2f http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2fARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2fMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos2fv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2fvARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2fvMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos2i http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2iARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2iMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos2iv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2ivARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2ivMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos2s http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2sARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2sMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos2sv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos2svARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos2svMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3d http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3dARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3dMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3dv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3dvARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3dvMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3f http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3fARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3fMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3fv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3fvARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3fvMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3i http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3iARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3iMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3iv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3ivARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3ivMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3s http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3sARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3sMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos3sv http://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml -glWindowPos3svARB http://www.opengl.org/registry/specs/ARB/window_pos.txt -glWindowPos3svMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4dMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4dvMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4fMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4fvMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4iMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4ivMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4sMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glWindowPos4svMESA http://www.opengl.org/registry/specs/MESA/window_pos.txt -glXAssociateDMPbufferSGIX http://www.opengl.org/registry/specs/SGIX/dmbuffer.txt -glXBindChannelToWindowSGIX http://www.opengl.org/registry/specs/SGIX/video_resize.txt -glXBindHyperpipeSGIX http://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt -glXBindSwapBarrierNV http://www.opengl.org/registry/specs/NV/glx_swap_group.txt -glXBindVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glXBindVideoDeviceNV http://www.opengl.org/registry/specs/NV/present_video.txt -glXBlitContextFramebufferAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXChannelRectSGIX http://www.opengl.org/registry/specs/SGIX/video_resize.txt -glXChannelRectSyncSGIX http://www.opengl.org/registry/specs/SGIX/video_resize.txt -glXChooseFBConfig http://www.opengl.org/sdk/docs/man/xhtml/glXChooseFBConfig.xml -glXChooseVisual http://www.opengl.org/sdk/docs/man/xhtml/glXChooseVisual.xml -glXCopyContext http://www.opengl.org/sdk/docs/man/xhtml/glXCopyContext.xml -glXCopySubBufferMESA http://www.opengl.org/registry/specs/MESA/copy_sub_buffer.txt -glXCreateAssociatedContextAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXCreateAssociatedContextAttribsAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXCreateContext http://www.opengl.org/sdk/docs/man/xhtml/glXCreateContext.xml -glXCreateContextAttribsARB http://www.opengl.org/registry/specs/ARB/glx_create_context.txt -glXCreateContextWithConfigSGIX http://www.opengl.org/registry/specs/SGIX/fbconfig.txt -glXCreateGLXPbufferSGIX http://www.opengl.org/registry/specs/SGIX/pbuffer.txt -glXCreateGLXPixmap http://www.opengl.org/sdk/docs/man/xhtml/glXCreateGLXPixmap.xml -glXCreateGLXPixmapMESA http://www.opengl.org/registry/specs/MESA/pixmap_colormap.txt -glXCreateGLXPixmapWithConfigSGIX http://www.opengl.org/registry/specs/SGIX/fbconfig.txt -glXCreateGLXVideoSourceSGIX http://www.opengl.org/registry/specs/SGIX/video_source.txt -glXCreateNewContext http://www.opengl.org/sdk/docs/man/xhtml/glXCreateNewContext.xml -glXCreatePbuffer http://www.opengl.org/sdk/docs/man/xhtml/glXCreatePbuffer.xml -glXCreatePixmap http://www.opengl.org/sdk/docs/man/xhtml/glXCreatePixmap.xml -glXCreateWindow http://www.opengl.org/sdk/docs/man/xhtml/glXCreateWindow.xml -glXCushionSGI http://www.opengl.org/registry/specs/SGI/cushion.txt -glXDeleteAssociatedContextAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXDestroyContext http://www.opengl.org/sdk/docs/man/xhtml/glXDestroyContext.xml -glXDestroyGLXPbufferSGIX http://www.opengl.org/registry/specs/SGIX/pbuffer.txt -glXDestroyGLXPixmap http://www.opengl.org/sdk/docs/man/xhtml/glXDestroyGLXPixmap.xml -glXDestroyGLXVideoSourceSGIX http://www.opengl.org/registry/specs/SGIX/video_source.txt -glXDestroyHyperpipeConfigSGIX http://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt -glXDestroyPbuffer http://www.opengl.org/sdk/docs/man/xhtml/glXDestroyPbuffer.xml -glXDestroyPixmap http://www.opengl.org/sdk/docs/man/xhtml/glXDestroyPixmap.xml -glXDestroyWindow http://www.opengl.org/sdk/docs/man/xhtml/glXDestroyWindow.xml -glXEnumerateVideoCaptureDevicesNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glXFreeContextEXT http://www.opengl.org/registry/specs/EXT/import_context.txt -glXFreeContextEXT http://www.opengl.org/sdk/docs/man/xhtml/glXFreeContextEXT.xml -glXGetAGPOffsetMESA http://www.opengl.org/registry/specs/MESA/agp_offset.txt -glXGetClientString http://www.opengl.org/sdk/docs/man/xhtml/glXGetClientString.xml -glXGetConfig http://www.opengl.org/sdk/docs/man/xhtml/glXGetConfig.xml -glXGetContextGPUIDAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXGetContextIDEXT http://www.opengl.org/registry/specs/EXT/import_context.txt -glXGetContextIDEXT http://www.opengl.org/sdk/docs/man/xhtml/glXGetContextIDEXT.xml -glXGetCurrentAssociatedContextAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXGetCurrentContext http://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentContext.xml -glXGetCurrentDisplay http://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentDisplay.xml -glXGetCurrentDrawable http://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentDrawable.xml -glXGetCurrentReadDrawable http://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentReadDrawable.xml -glXGetCurrentReadDrawableSGI http://www.opengl.org/registry/specs/SGI/make_current_read.txt -glXGetFBConfigAttrib http://www.opengl.org/sdk/docs/man/xhtml/glXGetFBConfigAttrib.xml -glXGetFBConfigAttribSGIX http://www.opengl.org/registry/specs/SGIX/fbconfig.txt -glXGetFBConfigFromVisualSGIX http://www.opengl.org/registry/specs/SGIX/fbconfig.txt -glXGetFBConfigs http://www.opengl.org/sdk/docs/man/xhtml/glXGetFBConfigs.xml -glXGetGPUIDsAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXGetGPUInfoAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXGetMscRateOML http://www.opengl.org/registry/specs/OML/glx_sync_control.txt -glXGetProcAddress http://www.opengl.org/sdk/docs/man/xhtml/glXGetProcAddress.xml -glXGetSelectedEvent http://www.opengl.org/sdk/docs/man/xhtml/glXGetSelectedEvent.xml -glXGetSelectedEventSGIX http://www.opengl.org/registry/specs/SGIX/pbuffer.txt -glXGetSyncValuesOML http://www.opengl.org/registry/specs/OML/glx_sync_control.txt -glXGetTransparentIndexSUN http://www.opengl.org/registry/specs/SUN/get_transparent_index.txt -glXGetVideoSyncSGI http://www.opengl.org/registry/specs/SGI/video_sync.txt -glXGetVisualFromFBConfig http://www.opengl.org/sdk/docs/man/xhtml/glXGetVisualFromFBConfig.xml -glXHyperpipeAttribSGIX http://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt -glXHyperpipeConfigSGIX http://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt -glXImportContextEXT http://www.opengl.org/registry/specs/EXT/import_context.txt -glXImportContextEXT http://www.opengl.org/sdk/docs/man/xhtml/glXImportContextEXT.xml -glXIsDirect http://www.opengl.org/sdk/docs/man/xhtml/glXIsDirect.xml -glXJoinSwapGroupNV http://www.opengl.org/registry/specs/NV/glx_swap_group.txt -glXLockVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glXMakeAssociatedContextCurrentAMD http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt -glXMakeContextCurrent http://www.opengl.org/sdk/docs/man/xhtml/glXMakeContextCurrent.xml -glXMakeCurrent http://www.opengl.org/sdk/docs/man/xhtml/glXMakeCurrent.xml -glXMakeCurrentReadSGI http://www.opengl.org/registry/specs/SGI/make_current_read.txt -glXQueryChannelDeltasSGIX http://www.opengl.org/registry/specs/SGIX/video_resize.txt -glXQueryChannelRectSGIX http://www.opengl.org/registry/specs/SGIX/video_resize.txt -glXQueryContext http://www.opengl.org/sdk/docs/man/xhtml/glXQueryContext.xml -glXQueryContextInfoEXT http://www.opengl.org/registry/specs/EXT/import_context.txt -glXQueryContextInfoEXT http://www.opengl.org/sdk/docs/man/xhtml/glXQueryContextInfoEXT.xml -glXQueryDrawable http://www.opengl.org/sdk/docs/man/xhtml/glXQueryDrawable.xml -glXQueryExtension http://www.opengl.org/sdk/docs/man/xhtml/glXQueryExtension.xml -glXQueryExtensionsString http://www.opengl.org/sdk/docs/man/xhtml/glXQueryExtensionsString.xml -glXQueryFrameCountNV http://www.opengl.org/registry/specs/NV/glx_swap_group.txt -glXQueryGLXPbufferSGIX http://www.opengl.org/registry/specs/SGIX/pbuffer.txt -glXQueryHyperpipeAttribSGIX http://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt -glXQueryHyperpipeBestAttribSGIX http://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt -glXQueryMaxSwapGroupsNV http://www.opengl.org/registry/specs/NV/glx_swap_group.txt -glXQueryServerString http://www.opengl.org/sdk/docs/man/xhtml/glXQueryServerString.xml -glXQuerySwapGroupNV http://www.opengl.org/registry/specs/NV/glx_swap_group.txt -glXQueryVersion http://www.opengl.org/sdk/docs/man/xhtml/glXQueryVersion.xml -glXQueryVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glXReleaseBuffersMESA http://www.opengl.org/registry/specs/MESA/release_buffers.txt -glXReleaseVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt -glXResetFrameCountNV http://www.opengl.org/registry/specs/NV/glx_swap_group.txt -glXSelectEvent http://www.opengl.org/sdk/docs/man/xhtml/glXSelectEvent.xml -glXSelectEventSGIX http://www.opengl.org/registry/specs/SGIX/pbuffer.txt -glXSet3DfxModeMESA http://www.opengl.org/registry/specs/MESA/set_3dfx_mode.txt -glXSwapBuffers http://www.opengl.org/sdk/docs/man/xhtml/glXSwapBuffers.xml -glXSwapBuffersMscOML http://www.opengl.org/registry/specs/OML/glx_sync_control.txt -glXSwapIntervalEXT http://www.opengl.org/registry/specs/EXT/swap_control.txt -glXSwapIntervalSGI http://www.opengl.org/registry/specs/SGI/swap_control.txt -glXUseXFont http://www.opengl.org/sdk/docs/man/xhtml/glXUseXFont.xml -glXWaitForMscOML http://www.opengl.org/registry/specs/OML/glx_sync_control.txt -glXWaitForSbcOML http://www.opengl.org/registry/specs/OML/glx_sync_control.txt -glXWaitGL http://www.opengl.org/sdk/docs/man/xhtml/glXWaitGL.xml -glXWaitVideoSyncSGI http://www.opengl.org/registry/specs/SGI/video_sync.txt -glXWaitX http://www.opengl.org/sdk/docs/man/xhtml/glXWaitX.xml -gluBeginCurve http://www.opengl.org/sdk/docs/man/xhtml/gluBeginCurve.xml -gluBeginPolygon http://www.opengl.org/sdk/docs/man/xhtml/gluBeginPolygon.xml -gluBeginSurface http://www.opengl.org/sdk/docs/man/xhtml/gluBeginSurface.xml -gluBeginTrim http://www.opengl.org/sdk/docs/man/xhtml/gluBeginTrim.xml -gluBuild1DMipmapLevels http://www.opengl.org/sdk/docs/man/xhtml/gluBuild1DMipmapLevels.xml -gluBuild1DMipmaps http://www.opengl.org/sdk/docs/man/xhtml/gluBuild1DMipmaps.xml -gluBuild2DMipmapLevels http://www.opengl.org/sdk/docs/man/xhtml/gluBuild2DMipmapLevels.xml -gluBuild2DMipmaps http://www.opengl.org/sdk/docs/man/xhtml/gluBuild2DMipmaps.xml -gluBuild3DMipmapLevels http://www.opengl.org/sdk/docs/man/xhtml/gluBuild3DMipmapLevels.xml -gluBuild3DMipmaps http://www.opengl.org/sdk/docs/man/xhtml/gluBuild3DMipmaps.xml -gluCheckExtension http://www.opengl.org/sdk/docs/man/xhtml/gluCheckExtension.xml -gluCylinder http://www.opengl.org/sdk/docs/man/xhtml/gluCylinder.xml -gluDeleteNurbsRenderer http://www.opengl.org/sdk/docs/man/xhtml/gluDeleteNurbsRenderer.xml -gluDeleteQuadric http://www.opengl.org/sdk/docs/man/xhtml/gluDeleteQuadric.xml -gluDeleteTess http://www.opengl.org/sdk/docs/man/xhtml/gluDeleteTess.xml -gluDisk http://www.opengl.org/sdk/docs/man/xhtml/gluDisk.xml -gluEndCurve http://www.opengl.org/sdk/docs/man/xhtml/gluBeginCurve.xml -gluEndPolygon http://www.opengl.org/sdk/docs/man/xhtml/gluBeginPolygon.xml -gluEndSurface http://www.opengl.org/sdk/docs/man/xhtml/gluBeginSurface.xml -gluEndTrim http://www.opengl.org/sdk/docs/man/xhtml/gluBeginTrim.xml -gluErrorString http://www.opengl.org/sdk/docs/man/xhtml/gluErrorString.xml -gluGetNurbsProperty http://www.opengl.org/sdk/docs/man/xhtml/gluGetNurbsProperty.xml -gluGetString http://www.opengl.org/sdk/docs/man/xhtml/gluGetString.xml -gluGetTessProperty http://www.opengl.org/sdk/docs/man/xhtml/gluGetTessProperty.xml -gluLoadSamplingMatrices http://www.opengl.org/sdk/docs/man/xhtml/gluLoadSamplingMatrices.xml -gluLookAt http://www.opengl.org/sdk/docs/man/xhtml/gluLookAt.xml -gluNewNurbsRenderer http://www.opengl.org/sdk/docs/man/xhtml/gluNewNurbsRenderer.xml -gluNewQuadric http://www.opengl.org/sdk/docs/man/xhtml/gluNewQuadric.xml -gluNewTess http://www.opengl.org/sdk/docs/man/xhtml/gluNewTess.xml -gluNextContour http://www.opengl.org/sdk/docs/man/xhtml/gluNextContour.xml -gluNurbsCallback http://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCallback.xml -gluNurbsCallbackData http://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCallbackData.xml -gluNurbsCallbackDataEXT http://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCallbackDataEXT.xml -gluNurbsCurve http://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCurve.xml -gluNurbsProperty http://www.opengl.org/sdk/docs/man/xhtml/gluNurbsProperty.xml -gluNurbsSurface http://www.opengl.org/sdk/docs/man/xhtml/gluNurbsSurface.xml -gluOrtho2D http://www.opengl.org/sdk/docs/man/xhtml/gluOrtho2D.xml -gluPartialDisk http://www.opengl.org/sdk/docs/man/xhtml/gluPartialDisk.xml -gluPerspective http://www.opengl.org/sdk/docs/man/xhtml/gluPerspective.xml -gluPickMatrix http://www.opengl.org/sdk/docs/man/xhtml/gluPickMatrix.xml -gluProject http://www.opengl.org/sdk/docs/man/xhtml/gluProject.xml -gluPwlCurve http://www.opengl.org/sdk/docs/man/xhtml/gluPwlCurve.xml -gluQuadricCallback http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricCallback.xml -gluQuadricDrawStyle http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricDrawStyle.xml -gluQuadricNormals http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricNormals.xml -gluQuadricOrientation http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricOrientation.xml -gluQuadricTexture http://www.opengl.org/sdk/docs/man/xhtml/gluQuadricTexture.xml -gluScaleImage http://www.opengl.org/sdk/docs/man/xhtml/gluScaleImage.xml -gluSphere http://www.opengl.org/sdk/docs/man/xhtml/gluSphere.xml -gluTessBeginContour http://www.opengl.org/sdk/docs/man/xhtml/gluTessBeginContour.xml -gluTessBeginPolygon http://www.opengl.org/sdk/docs/man/xhtml/gluTessBeginPolygon.xml -gluTessCallback http://www.opengl.org/sdk/docs/man/xhtml/gluTessCallback.xml -gluTessEndContour http://www.opengl.org/sdk/docs/man/xhtml/gluTessBeginContour.xml -gluTessEndPolygon http://www.opengl.org/sdk/docs/man/xhtml/gluTessEndPolygon.xml -gluTessNormal http://www.opengl.org/sdk/docs/man/xhtml/gluTessNormal.xml -gluTessProperty http://www.opengl.org/sdk/docs/man/xhtml/gluTessProperty.xml -gluTessVertex http://www.opengl.org/sdk/docs/man/xhtml/gluTessVertex.xml -gluTexFilterFuncSGI http://www.opengl.org/registry/specs/SGI/filter4_parameters.txt -gluUnProject http://www.opengl.org/sdk/docs/man/xhtml/gluUnProject.xml -gluUnProject4 http://www.opengl.org/sdk/docs/man/xhtml/gluUnProject4.xml -sizeof http://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt -wglAssociateImageBufferEventsI3D http://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt -wglBeginFrameTrackingI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt -wglBindDisplayColorTableEXT http://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt -wglBindSwapBarrierNV http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt -wglBindVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt -wglBindVideoDeviceNV http://www.opengl.org/registry/specs/NV/present_video.txt -wglBlitContextFramebufferAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +glAccum https://www.opengl.org/sdk/docs/man/xhtml/glAccum.xml +glAccumxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glActiveProgramEXT https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt +glActiveShaderProgram https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glActiveShaderProgram https://www.opengl.org/sdk/docs/man4/html/glActiveShaderProgram.xhtml +glActiveStencilFaceEXT https://www.opengl.org/registry/specs/EXT/stencil_two_side.txt +glActiveTexture https://www.opengl.org/sdk/docs/man/xhtml/glActiveTexture.xml +glActiveTexture https://www.opengl.org/sdk/docs/man3/xhtml/glActiveTexture.xml +glActiveTexture https://www.opengl.org/sdk/docs/man4/html/glActiveTexture.xhtml +glActiveVaryingNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glAlphaFunc https://www.opengl.org/sdk/docs/man/xhtml/glAlphaFunc.xml +glAlphaFuncxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glApplyTextureEXT https://www.opengl.org/registry/specs/EXT/light_texture.txt +glAreProgramsResidentNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glAreTexturesResident https://www.opengl.org/sdk/docs/man/xhtml/glAreTexturesResident.xml +glAreTexturesResidentEXT https://www.opengl.org/registry/specs/EXT/texture_object.txt +glArrayElement https://www.opengl.org/sdk/docs/man/xhtml/glArrayElement.xml +glArrayElementEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glArrayObjectATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glAsyncMarkerSGIX https://www.opengl.org/registry/specs/SGIX/async.txt +glAttachObjectARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glAttachShader https://www.opengl.org/sdk/docs/man/xhtml/glAttachShader.xml +glAttachShader https://www.opengl.org/sdk/docs/man3/xhtml/glAttachShader.xml +glAttachShader https://www.opengl.org/sdk/docs/man4/html/glAttachShader.xhtml +glBegin https://www.opengl.org/sdk/docs/man/xhtml/glBegin.xml +glBeginConditionalRender https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml +glBeginConditionalRender https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml +glBeginConditionalRenderNV https://www.opengl.org/registry/specs/NV/conditional_render.txt +glBeginOcclusionQueryNV https://www.opengl.org/registry/specs/NV/occlusion_query.txt +glBeginPerfMonitorAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glBeginQuery https://www.opengl.org/sdk/docs/man/xhtml/glBeginQuery.xml +glBeginQuery https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml +glBeginQuery https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml +glBeginQueryARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glBeginQueryIndexed https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt +glBeginQueryIndexed https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml +glBeginSceneEXT https://www.opengl.org/registry/specs/EXT/scene_marker.txt +glBeginTransformFeedback https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml +glBeginTransformFeedback https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml +glBeginTransformFeedbackEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glBeginTransformFeedbackNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glBeginVideoCaptureNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glBindArraySetEXT https://www.opengl.org/registry/specs/EXT/vertex_array_set.alt.txt +glBindArraySetEXT https://www.opengl.org/registry/specs/EXT/vertex_array_set.txt +glBindAttribLocation https://www.opengl.org/sdk/docs/man/xhtml/glBindAttribLocation.xml +glBindAttribLocation https://www.opengl.org/sdk/docs/man3/xhtml/glBindAttribLocation.xml +glBindAttribLocation https://www.opengl.org/sdk/docs/man4/html/glBindAttribLocation.xhtml +glBindAttribLocationARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glBindBuffer https://www.opengl.org/sdk/docs/man/xhtml/glBindBuffer.xml +glBindBuffer https://www.opengl.org/sdk/docs/man3/xhtml/glBindBuffer.xml +glBindBuffer https://www.opengl.org/sdk/docs/man4/html/glBindBuffer.xhtml +glBindBufferARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glBindBufferBase https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glBindBufferBase https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferBase.xml +glBindBufferBase https://www.opengl.org/sdk/docs/man4/html/glBindBufferBase.xhtml +glBindBufferBaseEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glBindBufferBaseNV https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt +glBindBufferBaseNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glBindBufferOffsetEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glBindBufferOffsetNV https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt +glBindBufferOffsetNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glBindBufferRange https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glBindBufferRange https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferRange.xml +glBindBufferRange https://www.opengl.org/sdk/docs/man4/html/glBindBufferRange.xhtml +glBindBufferRangeEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glBindBufferRangeNV https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt +glBindBufferRangeNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glBindFragDataLocation https://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocation.xml +glBindFragDataLocation https://www.opengl.org/sdk/docs/man4/html/glBindFragDataLocation.xhtml +glBindFragDataLocationEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glBindFragDataLocationIndexed https://www.opengl.org/registry/specs/ARB/blend_func_extended.txt +glBindFragDataLocationIndexed https://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocationIndexed.xml +glBindFragDataLocationIndexed https://www.opengl.org/sdk/docs/man4/html/glBindFragDataLocationIndexed.xhtml +glBindFramebuffer https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glBindFramebuffer https://www.opengl.org/sdk/docs/man3/xhtml/glBindFramebuffer.xml +glBindFramebuffer https://www.opengl.org/sdk/docs/man4/html/glBindFramebuffer.xhtml +glBindFramebufferEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glBindImageTexture https://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt +glBindImageTextureEXT https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt +glBindMultiTextureEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glBindProgramARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glBindProgramARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glBindProgramNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glBindProgramPipeline https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glBindProgramPipeline https://www.opengl.org/sdk/docs/man4/html/glBindProgramPipeline.xhtml +glBindRenderbuffer https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glBindRenderbuffer https://www.opengl.org/sdk/docs/man3/xhtml/glBindRenderbuffer.xml +glBindRenderbuffer https://www.opengl.org/sdk/docs/man4/html/glBindRenderbuffer.xhtml +glBindRenderbufferEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glBindSampler https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glBindSampler https://www.opengl.org/sdk/docs/man3/xhtml/glBindSampler.xml +glBindSampler https://www.opengl.org/sdk/docs/man4/html/glBindSampler.xhtml +glBindSwapBarrierSGIX https://www.opengl.org/registry/specs/SGIX/swap_barrier.txt +glBindTexture https://www.opengl.org/sdk/docs/man/xhtml/glBindTexture.xml +glBindTexture https://www.opengl.org/sdk/docs/man3/xhtml/glBindTexture.xml +glBindTexture https://www.opengl.org/sdk/docs/man4/html/glBindTexture.xhtml +glBindTextureEXT https://www.opengl.org/registry/specs/EXT/texture_object.txt +glBindTransformFeedback https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt +glBindTransformFeedback https://www.opengl.org/sdk/docs/man4/html/glBindTransformFeedback.xhtml +glBindTransformFeedbackNV https://www.opengl.org/registry/specs/NV/transform_feedback2.txt +glBindVertexArray https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt +glBindVertexArray https://www.opengl.org/sdk/docs/man3/xhtml/glBindVertexArray.xml +glBindVertexArray https://www.opengl.org/sdk/docs/man4/html/glBindVertexArray.xhtml +glBindVertexArrayAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt +glBindVideoCaptureStreamBufferNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glBindVideoCaptureStreamTextureNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glBinormalPointerEXT https://www.opengl.org/registry/specs/EXT/coordinate_frame.txt +glBitmap https://www.opengl.org/sdk/docs/man/xhtml/glBitmap.xml +glBitmapxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glBlendColor https://www.opengl.org/sdk/docs/man/xhtml/glBlendColor.xml +glBlendColor https://www.opengl.org/sdk/docs/man3/xhtml/glBlendColor.xml +glBlendColor https://www.opengl.org/sdk/docs/man4/html/glBlendColor.xhtml +glBlendColorEXT https://www.opengl.org/registry/specs/EXT/blend_color.txt +glBlendColorxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glBlendEquation https://www.opengl.org/sdk/docs/man/xhtml/glBlendEquation.xml +glBlendEquation https://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquation.xml +glBlendEquation https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml +glBlendEquationEXT https://www.opengl.org/registry/specs/EXT/blend_minmax.txt +glBlendEquationIndexedAMD https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt +glBlendEquationSeparate https://www.opengl.org/sdk/docs/man/xhtml/glBlendEquationSeparate.xml +glBlendEquationSeparate https://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquationSeparate.xml +glBlendEquationSeparate https://www.opengl.org/sdk/docs/man4/html/glBlendEquationSeparate.xhtml +glBlendEquationSeparateEXT https://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt +glBlendEquationSeparateIndexedAMD https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt +glBlendEquationSeparatei https://www.opengl.org/sdk/docs/man4/html/glBlendEquationSeparate.xhtml +glBlendEquationSeparateiARB https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt +glBlendEquationi https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml +glBlendEquationiARB https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt +glBlendFunc https://www.opengl.org/sdk/docs/man/xhtml/glBlendFunc.xml +glBlendFunc https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFunc.xml +glBlendFunc https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml +glBlendFuncIndexedAMD https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt +glBlendFuncSeparate https://www.opengl.org/sdk/docs/man/xhtml/glBlendFuncSeparate.xml +glBlendFuncSeparate https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFuncSeparate.xml +glBlendFuncSeparate https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml +glBlendFuncSeparateEXT https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt +glBlendFuncSeparateIndexedAMD https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt +glBlendFuncSeparatei https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml +glBlendFuncSeparateiARB https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt +glBlendFunci https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml +glBlendFunciARB https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt +glBlitFramebuffer https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glBlitFramebuffer https://www.opengl.org/sdk/docs/man3/xhtml/glBlitFramebuffer.xml +glBlitFramebuffer https://www.opengl.org/sdk/docs/man4/html/glBlitFramebuffer.xhtml +glBlitFramebufferEXT https://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt +glBufferAddressRangeNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glBufferData https://www.opengl.org/sdk/docs/man/xhtml/glBufferData.xml +glBufferData https://www.opengl.org/sdk/docs/man3/xhtml/glBufferData.xml +glBufferData https://www.opengl.org/sdk/docs/man4/html/glBufferData.xhtml +glBufferDataARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glBufferParameteriAPPLE https://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt +glBufferSubData https://www.opengl.org/sdk/docs/man/xhtml/glBufferSubData.xml +glBufferSubData https://www.opengl.org/sdk/docs/man3/xhtml/glBufferSubData.xml +glBufferSubData https://www.opengl.org/sdk/docs/man4/html/glBufferSubData.xhtml +glBufferSubDataARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glCallList https://www.opengl.org/sdk/docs/man/xhtml/glCallList.xml +glCallLists https://www.opengl.org/sdk/docs/man/xhtml/glCallLists.xml +glCheckFramebufferStatus https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glCheckFramebufferStatus https://www.opengl.org/sdk/docs/man3/xhtml/glCheckFramebufferStatus.xml +glCheckFramebufferStatus https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml +glCheckFramebufferStatusEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glCheckNamedFramebufferStatusEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glClampColor https://www.opengl.org/sdk/docs/man3/xhtml/glClampColor.xml +glClampColor https://www.opengl.org/sdk/docs/man4/html/glClampColor.xhtml +glClampColorARB https://www.opengl.org/registry/specs/ARB/color_buffer_float.txt +glClear https://www.opengl.org/sdk/docs/man/xhtml/glClear.xml +glClear https://www.opengl.org/sdk/docs/man3/xhtml/glClear.xml +glClear https://www.opengl.org/sdk/docs/man4/html/glClear.xhtml +glClearAccum https://www.opengl.org/sdk/docs/man/xhtml/glClearAccum.xml +glClearAccumxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glClearBufferfi https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml +glClearBufferfi https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml +glClearBufferfv https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml +glClearBufferfv https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml +glClearBufferiv https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml +glClearBufferiv https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml +glClearBufferuiv https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml +glClearBufferuiv https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml +glClearColor https://www.opengl.org/sdk/docs/man/xhtml/glClearColor.xml +glClearColor https://www.opengl.org/sdk/docs/man3/xhtml/glClearColor.xml +glClearColor https://www.opengl.org/sdk/docs/man4/html/glClearColor.xhtml +glClearColorxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glClearDepth https://www.opengl.org/sdk/docs/man/xhtml/glClearDepth.xml +glClearDepth https://www.opengl.org/sdk/docs/man3/xhtml/glClearDepth.xml +glClearDepth https://www.opengl.org/sdk/docs/man4/html/glClearDepth.xhtml +glClearDepthdNV https://www.opengl.org/registry/specs/NV/depth_buffer_float.txt +glClearDepthf https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt +glClearDepthf https://www.opengl.org/sdk/docs/man4/html/glClearDepth.xhtml +glClearDepthfOES https://www.opengl.org/registry/specs/OES/OES_single_precision.txt +glClearDepthxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glClearIndex https://www.opengl.org/sdk/docs/man/xhtml/glClearIndex.xml +glClearStencil https://www.opengl.org/sdk/docs/man/xhtml/glClearStencil.xml +glClearStencil https://www.opengl.org/sdk/docs/man3/xhtml/glClearStencil.xml +glClearStencil https://www.opengl.org/sdk/docs/man4/html/glClearStencil.xhtml +glClientActiveTexture https://www.opengl.org/sdk/docs/man/xhtml/glClientActiveTexture.xml +glClientActiveVertexStream https://www.opengl.org/registry/specs/ATI/vertex_streams.txt +glClientAttribDefaultEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glClientWaitSync https://www.opengl.org/registry/specs/ARB/sync.txt +glClientWaitSync https://www.opengl.org/sdk/docs/man3/xhtml/glClientWaitSync.xml +glClientWaitSync https://www.opengl.org/sdk/docs/man4/html/glClientWaitSync.xhtml +glClipPlane https://www.opengl.org/sdk/docs/man/xhtml/glClipPlane.xml +glClipPlanefOES https://www.opengl.org/registry/specs/OES/OES_single_precision.txt +glClipPlanexOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glColor3b https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3bv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3d https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3dv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3f https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3fVertex3fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor3fVertex3fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor3fv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glColor3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glColor3i https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3iv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3s https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3sv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3ub https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3ubv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3ui https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3uiv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3us https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor3usv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4b https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4bv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4d https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4dv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4f https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4fNormal3fVertex3fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor4fNormal3fVertex3fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor4fv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glColor4hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glColor4i https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4iv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4s https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4sv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4ub https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4ubVertex2fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor4ubVertex2fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor4ubVertex3fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor4ubVertex3fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glColor4ubv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4ui https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4uiv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4us https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColor4usv https://www.opengl.org/sdk/docs/man/xhtml/glColor.xml +glColorFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glColorMask https://www.opengl.org/sdk/docs/man/xhtml/glColorMask.xml +glColorMask https://www.opengl.org/sdk/docs/man3/xhtml/glColorMask.xml +glColorMask https://www.opengl.org/sdk/docs/man4/html/glColorMask.xhtml +glColorMaskIndexedEXT https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt +glColorMaski https://www.opengl.org/sdk/docs/man4/html/glColorMask.xhtml +glColorMaterial https://www.opengl.org/sdk/docs/man/xhtml/glColorMaterial.xml +glColorP3ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glColorP3uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glColorP4ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glColorP4uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glColorPointer https://www.opengl.org/sdk/docs/man/xhtml/glColorPointer.xml +glColorPointerEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glColorPointervINTEL https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt +glColorSubTable https://www.opengl.org/sdk/docs/man/xhtml/glColorSubTable.xml +glColorSubTableEXT https://www.opengl.org/registry/specs/EXT/color_subtable.txt +glColorSubTableEXT https://www.opengl.org/registry/specs/EXT/paletted_texture.txt +glColorTable https://www.opengl.org/sdk/docs/man/xhtml/glColorTable.xml +glColorTableEXT https://www.opengl.org/registry/specs/EXT/paletted_texture.txt +glColorTableParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glColorTableParameter.xml +glColorTableParameterfvSGI https://www.opengl.org/registry/specs/SGI/color_table.txt +glColorTableParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glColorTableParameter.xml +glColorTableParameterivSGI https://www.opengl.org/registry/specs/SGI/color_table.txt +glColorTableSGI https://www.opengl.org/registry/specs/SGI/color_table.txt +glCombinerInputNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glCombinerOutputNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glCombinerParameterfNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glCombinerParameterfvNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glCombinerParameteriNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glCombinerParameterivNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glCombinerStageParameterfvNV https://www.opengl.org/registry/specs/NV/register_combiners2.txt +glCompileShader https://www.opengl.org/sdk/docs/man/xhtml/glCompileShader.xml +glCompileShader https://www.opengl.org/sdk/docs/man3/xhtml/glCompileShader.xml +glCompileShader https://www.opengl.org/sdk/docs/man4/html/glCompileShader.xhtml +glCompileShaderARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glCompileShaderIncludeARB https://www.opengl.org/registry/specs/ARB/shading_language_include.txt +glCompressedMultiTexImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedMultiTexImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedMultiTexImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedMultiTexSubImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedMultiTexSubImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedMultiTexSubImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedTexImage1D https://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage1D.xml +glCompressedTexImage1D https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage1D.xml +glCompressedTexImage1D https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage1D.xhtml +glCompressedTexImage1DARB https://www.opengl.org/registry/specs/ARB/texture_compression.txt +glCompressedTexImage2D https://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage2D.xml +glCompressedTexImage2D https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage2D.xml +glCompressedTexImage2D https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage2D.xhtml +glCompressedTexImage2DARB https://www.opengl.org/registry/specs/ARB/texture_compression.txt +glCompressedTexImage3D https://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexImage3D.xml +glCompressedTexImage3D https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage3D.xml +glCompressedTexImage3D https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage3D.xhtml +glCompressedTexImage3DARB https://www.opengl.org/registry/specs/ARB/texture_compression.txt +glCompressedTexSubImage1D https://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage1D.xml +glCompressedTexSubImage1D https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage1D.xml +glCompressedTexSubImage1D https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage1D.xhtml +glCompressedTexSubImage1DARB https://www.opengl.org/registry/specs/ARB/texture_compression.txt +glCompressedTexSubImage2D https://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage2D.xml +glCompressedTexSubImage2D https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage2D.xml +glCompressedTexSubImage2D https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage2D.xhtml +glCompressedTexSubImage2DARB https://www.opengl.org/registry/specs/ARB/texture_compression.txt +glCompressedTexSubImage3D https://www.opengl.org/sdk/docs/man/xhtml/glCompressedTexSubImage3D.xml +glCompressedTexSubImage3D https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage3D.xml +glCompressedTexSubImage3D https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage3D.xhtml +glCompressedTexSubImage3DARB https://www.opengl.org/registry/specs/ARB/texture_compression.txt +glCompressedTextureImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedTextureImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedTextureImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedTextureSubImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedTextureSubImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCompressedTextureSubImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glConvolutionFilter1D https://www.opengl.org/sdk/docs/man/xhtml/glConvolutionFilter1D.xml +glConvolutionFilter1DEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glConvolutionFilter2D https://www.opengl.org/sdk/docs/man/xhtml/glConvolutionFilter2D.xml +glConvolutionFilter2DEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glConvolutionParameterf https://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml +glConvolutionParameterfEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glConvolutionParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml +glConvolutionParameterfvEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glConvolutionParameteri https://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml +glConvolutionParameteriEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glConvolutionParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glConvolutionParameter.xml +glConvolutionParameterivEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glCopyBufferSubData https://www.opengl.org/registry/specs/ARB/copy_buffer.txt +glCopyBufferSubData https://www.opengl.org/sdk/docs/man3/xhtml/glCopyBufferSubData.xml +glCopyBufferSubData https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml +glCopyColorSubTable https://www.opengl.org/sdk/docs/man/xhtml/glCopyColorSubTable.xml +glCopyColorSubTableEXT https://www.opengl.org/registry/specs/EXT/color_subtable.txt +glCopyColorTable https://www.opengl.org/sdk/docs/man/xhtml/glCopyColorTable.xml +glCopyColorTableSGI https://www.opengl.org/registry/specs/SGI/color_table.txt +glCopyConvolutionFilter1D https://www.opengl.org/sdk/docs/man/xhtml/glCopyConvolutionFilter1D.xml +glCopyConvolutionFilter1DEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glCopyConvolutionFilter2D https://www.opengl.org/sdk/docs/man/xhtml/glCopyConvolutionFilter2D.xml +glCopyConvolutionFilter2DEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glCopyImageSubDataNV https://www.opengl.org/registry/specs/NV/copy_image.txt +glCopyMultiTexImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyMultiTexImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyMultiTexSubImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyMultiTexSubImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyMultiTexSubImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyPathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glCopyPixels https://www.opengl.org/sdk/docs/man/xhtml/glCopyPixels.xml +glCopyTexImage1D https://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage1D.xml +glCopyTexImage1D https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage1D.xml +glCopyTexImage1D https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage1D.xhtml +glCopyTexImage1DEXT https://www.opengl.org/registry/specs/EXT/copy_texture.txt +glCopyTexImage2D https://www.opengl.org/sdk/docs/man/xhtml/glCopyTexImage2D.xml +glCopyTexImage2D https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage2D.xml +glCopyTexImage2D https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage2D.xhtml +glCopyTexImage2DEXT https://www.opengl.org/registry/specs/EXT/copy_texture.txt +glCopyTexSubImage1D https://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage1D.xml +glCopyTexSubImage1D https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage1D.xml +glCopyTexSubImage1D https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage1D.xhtml +glCopyTexSubImage1DEXT https://www.opengl.org/registry/specs/EXT/copy_texture.txt +glCopyTexSubImage2D https://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage2D.xml +glCopyTexSubImage2D https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage2D.xml +glCopyTexSubImage2D https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage2D.xhtml +glCopyTexSubImage2DEXT https://www.opengl.org/registry/specs/EXT/copy_texture.txt +glCopyTexSubImage3D https://www.opengl.org/sdk/docs/man/xhtml/glCopyTexSubImage3D.xml +glCopyTexSubImage3D https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage3D.xml +glCopyTexSubImage3D https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml +glCopyTexSubImage3DEXT https://www.opengl.org/registry/specs/EXT/copy_texture.txt +glCopyTextureImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyTextureImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyTextureSubImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyTextureSubImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCopyTextureSubImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glCoverFillPathInstancedNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glCoverFillPathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glCoverStrokePathInstancedNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glCoverStrokePathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glCreateProgram https://www.opengl.org/sdk/docs/man/xhtml/glCreateProgram.xml +glCreateProgram https://www.opengl.org/sdk/docs/man3/xhtml/glCreateProgram.xml +glCreateProgram https://www.opengl.org/sdk/docs/man4/html/glCreateProgram.xhtml +glCreateProgramObjectARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glCreateShader https://www.opengl.org/sdk/docs/man/xhtml/glCreateShader.xml +glCreateShader https://www.opengl.org/sdk/docs/man3/xhtml/glCreateShader.xml +glCreateShader https://www.opengl.org/sdk/docs/man4/html/glCreateShader.xhtml +glCreateShaderObjectARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glCreateShaderProgramEXT https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt +glCreateShaderProgramv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glCreateShaderProgramv https://www.opengl.org/sdk/docs/man4/html/glCreateShaderProgram.xhtml +glCreateSyncFromCLeventARB https://www.opengl.org/registry/specs/ARB/cl_event.txt +glCullFace https://www.opengl.org/sdk/docs/man/xhtml/glCullFace.xml +glCullFace https://www.opengl.org/sdk/docs/man3/xhtml/glCullFace.xml +glCullFace https://www.opengl.org/sdk/docs/man4/html/glCullFace.xhtml +glCurrentPaletteMatrixARB https://www.opengl.org/registry/specs/ARB/matrix_palette.txt +glDECLARE_HANDLE https://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt +glDECLARE_HANDLE https://www.opengl.org/registry/specs/NV/present_video.txt +glDebugMessageCallbackAMD https://www.opengl.org/registry/specs/AMD/debug_output.txt +glDebugMessageCallbackARB https://www.opengl.org/registry/specs/ARB/debug_output.txt +glDebugMessageControlARB https://www.opengl.org/registry/specs/ARB/debug_output.txt +glDebugMessageEnableAMD https://www.opengl.org/registry/specs/AMD/debug_output.txt +glDebugMessageInsertAMD https://www.opengl.org/registry/specs/AMD/debug_output.txt +glDebugMessageInsertARB https://www.opengl.org/registry/specs/ARB/debug_output.txt +glDeleteArraySetsEXT https://www.opengl.org/registry/specs/EXT/vertex_array_set.alt.txt +glDeleteArraySetsEXT https://www.opengl.org/registry/specs/EXT/vertex_array_set.txt +glDeleteAsyncMarkersSGIX https://www.opengl.org/registry/specs/SGIX/async.txt +glDeleteBuffers https://www.opengl.org/sdk/docs/man/xhtml/glDeleteBuffers.xml +glDeleteBuffers https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteBuffers.xml +glDeleteBuffers https://www.opengl.org/sdk/docs/man4/html/glDeleteBuffers.xhtml +glDeleteBuffersARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glDeleteFencesAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glDeleteFencesNV https://www.opengl.org/registry/specs/NV/fence.txt +glDeleteFramebuffers https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glDeleteFramebuffers https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteFramebuffers.xml +glDeleteFramebuffers https://www.opengl.org/sdk/docs/man4/html/glDeleteFramebuffers.xhtml +glDeleteFramebuffersEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glDeleteLists https://www.opengl.org/sdk/docs/man/xhtml/glDeleteLists.xml +glDeleteNamedStringARB https://www.opengl.org/registry/specs/ARB/shading_language_include.txt +glDeleteNamesAMD https://www.opengl.org/registry/specs/AMD/name_gen_delete.txt +glDeleteObjectARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glDeleteOcclusionQueriesNV https://www.opengl.org/registry/specs/NV/occlusion_query.txt +glDeletePathsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glDeletePerfMonitorsAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glDeleteProgram https://www.opengl.org/sdk/docs/man/xhtml/glDeleteProgram.xml +glDeleteProgram https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteProgram.xml +glDeleteProgram https://www.opengl.org/sdk/docs/man4/html/glDeleteProgram.xhtml +glDeleteProgramPipelines https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glDeleteProgramPipelines https://www.opengl.org/sdk/docs/man4/html/glDeleteProgramPipelines.xhtml +glDeleteProgramsARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glDeleteProgramsARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glDeleteProgramsNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glDeleteQueries https://www.opengl.org/sdk/docs/man/xhtml/glDeleteQueries.xml +glDeleteQueries https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteQueries.xml +glDeleteQueries https://www.opengl.org/sdk/docs/man4/html/glDeleteQueries.xhtml +glDeleteQueriesARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glDeleteRenderbuffers https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glDeleteRenderbuffers https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteRenderbuffers.xml +glDeleteRenderbuffers https://www.opengl.org/sdk/docs/man4/html/glDeleteRenderbuffers.xhtml +glDeleteRenderbuffersEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glDeleteSamplers https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glDeleteSamplers https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSamplers.xml +glDeleteSamplers https://www.opengl.org/sdk/docs/man4/html/glDeleteSamplers.xhtml +glDeleteShader https://www.opengl.org/sdk/docs/man/xhtml/glDeleteShader.xml +glDeleteShader https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteShader.xml +glDeleteShader https://www.opengl.org/sdk/docs/man4/html/glDeleteShader.xhtml +glDeleteSync https://www.opengl.org/registry/specs/ARB/sync.txt +glDeleteSync https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSync.xml +glDeleteSync https://www.opengl.org/sdk/docs/man4/html/glDeleteSync.xhtml +glDeleteTextures https://www.opengl.org/sdk/docs/man/xhtml/glDeleteTextures.xml +glDeleteTextures https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteTextures.xml +glDeleteTextures https://www.opengl.org/sdk/docs/man4/html/glDeleteTextures.xhtml +glDeleteTexturesEXT https://www.opengl.org/registry/specs/EXT/texture_object.txt +glDeleteTransformFeedbacks https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt +glDeleteTransformFeedbacks https://www.opengl.org/sdk/docs/man4/html/glDeleteTransformFeedbacks.xhtml +glDeleteTransformFeedbacksNV https://www.opengl.org/registry/specs/NV/transform_feedback2.txt +glDeleteVertexArrays https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt +glDeleteVertexArrays https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteVertexArrays.xml +glDeleteVertexArrays https://www.opengl.org/sdk/docs/man4/html/glDeleteVertexArrays.xhtml +glDeleteVertexArraysAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt +glDepthBoundsEXT https://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt +glDepthBoundsdNV https://www.opengl.org/registry/specs/NV/depth_buffer_float.txt +glDepthFunc https://www.opengl.org/sdk/docs/man/xhtml/glDepthFunc.xml +glDepthFunc https://www.opengl.org/sdk/docs/man3/xhtml/glDepthFunc.xml +glDepthFunc https://www.opengl.org/sdk/docs/man4/html/glDepthFunc.xhtml +glDepthMask https://www.opengl.org/sdk/docs/man/xhtml/glDepthMask.xml +glDepthMask https://www.opengl.org/sdk/docs/man3/xhtml/glDepthMask.xml +glDepthMask https://www.opengl.org/sdk/docs/man4/html/glDepthMask.xhtml +glDepthRange https://www.opengl.org/sdk/docs/man/xhtml/glDepthRange.xml +glDepthRange https://www.opengl.org/sdk/docs/man3/xhtml/glDepthRange.xml +glDepthRange https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml +glDepthRangeArrayv https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glDepthRangeArrayv https://www.opengl.org/sdk/docs/man4/html/glDepthRangeArray.xhtml +glDepthRangeIndexed https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glDepthRangeIndexed https://www.opengl.org/sdk/docs/man4/html/glDepthRangeIndexed.xhtml +glDepthRangedNV https://www.opengl.org/registry/specs/NV/depth_buffer_float.txt +glDepthRangef https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt +glDepthRangef https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml +glDepthRangefOES https://www.opengl.org/registry/specs/OES/OES_single_precision.txt +glDepthRangexOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glDetachObjectARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glDetachShader https://www.opengl.org/sdk/docs/man/xhtml/glDetachShader.xml +glDetachShader https://www.opengl.org/sdk/docs/man3/xhtml/glDetachShader.xml +glDetachShader https://www.opengl.org/sdk/docs/man4/html/glDetachShader.xhtml +glDetailTexFuncSGIS https://www.opengl.org/registry/specs/SGIS/detail_texture.txt +glDisable https://www.opengl.org/sdk/docs/man/xhtml/glEnable.xml +glDisable https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml +glDisable https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml +glDisableClientState https://www.opengl.org/sdk/docs/man/xhtml/glEnableClientState.xml +glDisableClientStateIndexedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glDisableClientStateiEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glDisableIndexedEXT https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glDisableIndexedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glDisableIndexedEXT https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt +glDisableVertexArrayAttribEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glDisableVertexArrayEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glDisableVertexAttribAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt +glDisableVertexAttribArray https://www.opengl.org/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml +glDisableVertexAttribArray https://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml +glDisableVertexAttribArray https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml +glDisableVertexAttribArrayARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glDisableVertexAttribArrayARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glDisablei https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml +glDisablei https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml +glDrawArrays https://www.opengl.org/sdk/docs/man/xhtml/glDrawArrays.xml +glDrawArrays https://www.opengl.org/sdk/docs/man3/xhtml/glDrawArrays.xml +glDrawArrays https://www.opengl.org/sdk/docs/man4/html/glDrawArrays.xhtml +glDrawArraysEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glDrawArraysIndirect https://www.opengl.org/registry/specs/ARB/draw_indirect.txt +glDrawArraysIndirect https://www.opengl.org/sdk/docs/man4/html/glDrawArraysIndirect.xhtml +glDrawArraysInstanced https://www.opengl.org/sdk/docs/man3/xhtml/glDrawArraysInstanced.xml +glDrawArraysInstanced https://www.opengl.org/sdk/docs/man4/html/glDrawArraysInstanced.xhtml +glDrawArraysInstancedARB https://www.opengl.org/registry/specs/ARB/draw_instanced.txt +glDrawArraysInstancedBaseInstance https://www.opengl.org/registry/specs/ARB/base_instance.txt +glDrawArraysInstancedEXT https://www.opengl.org/registry/specs/EXT/draw_instanced.txt +glDrawBuffer https://www.opengl.org/sdk/docs/man/xhtml/glDrawBuffer.xml +glDrawBuffer https://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffer.xml +glDrawBuffer https://www.opengl.org/sdk/docs/man4/html/glDrawBuffer.xhtml +glDrawBuffers https://www.opengl.org/sdk/docs/man/xhtml/glDrawBuffers.xml +glDrawBuffers https://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffers.xml +glDrawBuffers https://www.opengl.org/sdk/docs/man4/html/glDrawBuffers.xhtml +glDrawBuffersARB https://www.opengl.org/registry/specs/ARB/draw_buffers.txt +glDrawBuffersATI https://www.opengl.org/registry/specs/ATI/draw_buffers.txt +glDrawElementArrayAPPLE https://www.opengl.org/registry/specs/APPLE/element_array.txt +glDrawElementArrayATI https://www.opengl.org/registry/specs/ATI/element_array.txt +glDrawElements https://www.opengl.org/sdk/docs/man/xhtml/glDrawElements.xml +glDrawElements https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElements.xml +glDrawElements https://www.opengl.org/sdk/docs/man4/html/glDrawElements.xhtml +glDrawElementsBaseVertex https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt +glDrawElementsBaseVertex https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsBaseVertex.xml +glDrawElementsBaseVertex https://www.opengl.org/sdk/docs/man4/html/glDrawElementsBaseVertex.xhtml +glDrawElementsIndirect https://www.opengl.org/registry/specs/ARB/draw_indirect.txt +glDrawElementsIndirect https://www.opengl.org/sdk/docs/man4/html/glDrawElementsIndirect.xhtml +glDrawElementsInstanced https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstanced.xml +glDrawElementsInstanced https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstanced.xhtml +glDrawElementsInstancedARB https://www.opengl.org/registry/specs/ARB/draw_instanced.txt +glDrawElementsInstancedBaseInstance https://www.opengl.org/registry/specs/ARB/base_instance.txt +glDrawElementsInstancedBaseVertex https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt +glDrawElementsInstancedBaseVertex https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstancedBaseVertex.xml +glDrawElementsInstancedBaseVertex https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstancedBaseVertex.xhtml +glDrawElementsInstancedBaseVertexBaseInstance https://www.opengl.org/registry/specs/ARB/base_instance.txt +glDrawElementsInstancedEXT https://www.opengl.org/registry/specs/EXT/draw_instanced.txt +glDrawMeshArraysSUN https://www.opengl.org/registry/specs/SUN/mesh_array.txt +glDrawPixels https://www.opengl.org/sdk/docs/man/xhtml/glDrawPixels.xml +glDrawRangeElementArrayAPPLE https://www.opengl.org/registry/specs/APPLE/element_array.txt +glDrawRangeElementArrayATI https://www.opengl.org/registry/specs/ATI/element_array.txt +glDrawRangeElements https://www.opengl.org/sdk/docs/man/xhtml/glDrawRangeElements.xml +glDrawRangeElements https://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml +glDrawRangeElements https://www.opengl.org/sdk/docs/man4/html/glDrawRangeElements.xhtml +glDrawRangeElementsBaseVertex https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt +glDrawRangeElementsBaseVertex https://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml +glDrawRangeElementsBaseVertex https://www.opengl.org/sdk/docs/man4/html/glDrawRangeElementsBaseVertex.xhtml +glDrawTransformFeedback https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt +glDrawTransformFeedback https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedback.xhtml +glDrawTransformFeedbackInstanced https://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt +glDrawTransformFeedbackNV https://www.opengl.org/registry/specs/NV/transform_feedback2.txt +glDrawTransformFeedbackStream https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt +glDrawTransformFeedbackStream https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStream.xhtml +glDrawTransformFeedbackStreamInstanced https://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt +glEdgeFlag https://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlag.xml +glEdgeFlagFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glEdgeFlagPointer https://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlagPointer.xml +glEdgeFlagPointerEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glEdgeFlagv https://www.opengl.org/sdk/docs/man/xhtml/glEdgeFlag.xml +glElementPointerAPPLE https://www.opengl.org/registry/specs/APPLE/element_array.txt +glElementPointerATI https://www.opengl.org/registry/specs/ATI/element_array.txt +glEnable https://www.opengl.org/registry/specs/SGIX/instruments.txt +glEnable https://www.opengl.org/sdk/docs/man/xhtml/glEnable.xml +glEnable https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml +glEnable https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml +glEnableClientState https://www.opengl.org/sdk/docs/man/xhtml/glEnableClientState.xml +glEnableClientStateIndexedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glEnableClientStateiEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glEnableIndexedEXT https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glEnableIndexedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glEnableIndexedEXT https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt +glEnableVertexArrayAttribEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glEnableVertexArrayEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glEnableVertexAttribAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt +glEnableVertexAttribArray https://www.opengl.org/sdk/docs/man/xhtml/glEnableVertexAttribArray.xml +glEnableVertexAttribArray https://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml +glEnableVertexAttribArray https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml +glEnableVertexAttribArrayARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glEnableVertexAttribArrayARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glEnablei https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml +glEnablei https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml +glEnd https://www.opengl.org/sdk/docs/man/xhtml/glBegin.xml +glEndConditionalRender https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml +glEndConditionalRender https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml +glEndConditionalRenderNV https://www.opengl.org/registry/specs/NV/conditional_render.txt +glEndList https://www.opengl.org/sdk/docs/man/xhtml/glNewList.xml +glEndOcclusionQueryNV https://www.opengl.org/registry/specs/NV/occlusion_query.txt +glEndPerfMonitorAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glEndQuery https://www.opengl.org/sdk/docs/man/xhtml/glBeginQuery.xml +glEndQuery https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml +glEndQuery https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml +glEndQueryARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glEndQueryIndexed https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt +glEndQueryIndexed https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml +glEndSceneEXT https://www.opengl.org/registry/specs/EXT/scene_marker.txt +glEndTransformFeedback https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml +glEndTransformFeedback https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml +glEndTransformFeedbackEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glEndTransformFeedbackNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glEndVideoCaptureNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glEvalCoord1d https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalCoord1dv https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalCoord1f https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalCoord1fv https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalCoord2d https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalCoord2dv https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalCoord2f https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalCoord2fv https://www.opengl.org/sdk/docs/man/xhtml/glEvalCoord.xml +glEvalMapsNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glEvalMesh1 https://www.opengl.org/sdk/docs/man/xhtml/glEvalMesh.xml +glEvalMesh2 https://www.opengl.org/sdk/docs/man/xhtml/glEvalMesh.xml +glEvalPoint1 https://www.opengl.org/sdk/docs/man/xhtml/glEvalPoint.xml +glEvalPoint2 https://www.opengl.org/sdk/docs/man/xhtml/glEvalPoint.xml +glExecuteProgramNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glFeedbackBuffer https://www.opengl.org/sdk/docs/man/xhtml/glFeedbackBuffer.xml +glFeedbackBufferxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glFenceSync https://www.opengl.org/registry/specs/ARB/sync.txt +glFenceSync https://www.opengl.org/sdk/docs/man3/xhtml/glFenceSync.xml +glFenceSync https://www.opengl.org/sdk/docs/man4/html/glFenceSync.xhtml +glFinalCombinerInputNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glFinish https://www.opengl.org/sdk/docs/man/xhtml/glFinish.xml +glFinish https://www.opengl.org/sdk/docs/man3/xhtml/glFinish.xml +glFinish https://www.opengl.org/sdk/docs/man4/html/glFinish.xhtml +glFinishAsyncSGIX https://www.opengl.org/registry/specs/SGIX/async.txt +glFinishFenceAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glFinishFenceNV https://www.opengl.org/registry/specs/NV/fence.txt +glFinishObjectAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glFinishTextureSUNX https://www.opengl.org/registry/specs/SUNX/constant_data.txt +glFlush https://www.opengl.org/sdk/docs/man/xhtml/glFlush.xml +glFlush https://www.opengl.org/sdk/docs/man3/xhtml/glFlush.xml +glFlush https://www.opengl.org/sdk/docs/man4/html/glFlush.xhtml +glFlushMappedBufferRange https://www.opengl.org/registry/specs/ARB/map_buffer_range.txt +glFlushMappedBufferRange https://www.opengl.org/sdk/docs/man3/xhtml/glFlushMappedBufferRange.xml +glFlushMappedBufferRange https://www.opengl.org/sdk/docs/man4/html/glFlushMappedBufferRange.xhtml +glFlushMappedBufferRangeAPPLE https://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt +glFlushMappedNamedBufferRangeEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glFlushPixelDataRangeNV https://www.opengl.org/registry/specs/NV/pixel_data_range.txt +glFlushRasterSGIX https://www.opengl.org/registry/specs/SGIX/flush_raster.txt +glFlushStaticDataIBM https://www.opengl.org/registry/specs/IBM/static_data.txt +glFlushVertexArrayRangeAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt +glFlushVertexArrayRangeNV https://www.opengl.org/registry/specs/NV/vertex_array_range.txt +glFogCoordFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glFogCoordPointer https://www.opengl.org/sdk/docs/man/xhtml/glFogCoordPointer.xml +glFogCoordPointerEXT https://www.opengl.org/registry/specs/EXT/fog_coord.txt +glFogCoordd https://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml +glFogCoorddv https://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml +glFogCoordf https://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml +glFogCoordfv https://www.opengl.org/sdk/docs/man/xhtml/glFogCoord.xml +glFogCoordhNV https://www.opengl.org/registry/specs/NV/half_float.txt +glFogCoordhvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glFogFuncSGIS https://www.opengl.org/registry/specs/SGIS/fog_func.txt +glFogf https://www.opengl.org/sdk/docs/man/xhtml/glFog.xml +glFogfv https://www.opengl.org/sdk/docs/man/xhtml/glFog.xml +glFogi https://www.opengl.org/sdk/docs/man/xhtml/glFog.xml +glFogiv https://www.opengl.org/sdk/docs/man/xhtml/glFog.xml +glFragmentColorMaterialEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentColorMaterialSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightModelfEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightModelfSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightModelfvEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightModelfvSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightModeliEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightModeliSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightModelivEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightModelivSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightfEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightfSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightfvEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightfvSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightiEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightiSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentLightivEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentLightivSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentMaterialfEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentMaterialfSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentMaterialfvEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentMaterialfvSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentMaterialiEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentMaterialiSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFragmentMaterialivEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glFragmentMaterialivSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glFrameTerminatorGREMEDY https://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt +glFrameZoomSGIX https://www.opengl.org/registry/specs/SGIX/framezoom.txt +glFramebufferDrawBufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glFramebufferDrawBuffersEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glFramebufferReadBufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glFramebufferRenderbuffer https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glFramebufferRenderbuffer https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferRenderbuffer.xml +glFramebufferRenderbuffer https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml +glFramebufferRenderbufferEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glFramebufferTexture https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml +glFramebufferTexture https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml +glFramebufferTexture1D https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glFramebufferTexture1D https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml +glFramebufferTexture1D https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml +glFramebufferTexture1DEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glFramebufferTexture2D https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glFramebufferTexture2D https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml +glFramebufferTexture2D https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml +glFramebufferTexture2DEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glFramebufferTexture3D https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glFramebufferTexture3D https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml +glFramebufferTexture3D https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml +glFramebufferTexture3DEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glFramebufferTextureARB https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt +glFramebufferTextureEXT https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt +glFramebufferTextureEXT https://www.opengl.org/registry/specs/NV/geometry_program4.txt +glFramebufferTextureFaceARB https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt +glFramebufferTextureFaceEXT https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt +glFramebufferTextureFaceEXT https://www.opengl.org/registry/specs/NV/geometry_program4.txt +glFramebufferTextureLayer https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glFramebufferTextureLayer https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTextureLayer.xml +glFramebufferTextureLayer https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml +glFramebufferTextureLayerARB https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt +glFramebufferTextureLayerEXT https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt +glFramebufferTextureLayerEXT https://www.opengl.org/registry/specs/EXT/texture_array.txt +glFramebufferTextureLayerEXT https://www.opengl.org/registry/specs/NV/geometry_program4.txt +glFreeObjectBufferATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glFrontFace https://www.opengl.org/sdk/docs/man/xhtml/glFrontFace.xml +glFrontFace https://www.opengl.org/sdk/docs/man3/xhtml/glFrontFace.xml +glFrontFace https://www.opengl.org/sdk/docs/man4/html/glFrontFace.xhtml +glFrustum https://www.opengl.org/sdk/docs/man/xhtml/glFrustum.xml +glFrustumfOES https://www.opengl.org/registry/specs/OES/OES_single_precision.txt +glFrustumxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGenArraySetsEXT https://www.opengl.org/registry/specs/EXT/vertex_array_set.txt +glGenAsyncMarkersSGIX https://www.opengl.org/registry/specs/SGIX/async.txt +glGenBuffers https://www.opengl.org/sdk/docs/man/xhtml/glGenBuffers.xml +glGenBuffers https://www.opengl.org/sdk/docs/man3/xhtml/glGenBuffers.xml +glGenBuffers https://www.opengl.org/sdk/docs/man4/html/glGenBuffers.xhtml +glGenBuffersARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glGenFencesAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glGenFencesNV https://www.opengl.org/registry/specs/NV/fence.txt +glGenFramebuffers https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glGenFramebuffers https://www.opengl.org/sdk/docs/man3/xhtml/glGenFramebuffers.xml +glGenFramebuffers https://www.opengl.org/sdk/docs/man4/html/glGenFramebuffers.xhtml +glGenFramebuffersEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glGenLists https://www.opengl.org/sdk/docs/man/xhtml/glGenLists.xml +glGenNamesAMD https://www.opengl.org/registry/specs/AMD/name_gen_delete.txt +glGenOcclusionQueriesNV https://www.opengl.org/registry/specs/NV/occlusion_query.txt +glGenPathsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGenPerfMonitorsAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glGenProgramPipelines https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glGenProgramPipelines https://www.opengl.org/sdk/docs/man4/html/glGenProgramPipelines.xhtml +glGenProgramsARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glGenProgramsARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGenProgramsNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGenQueries https://www.opengl.org/sdk/docs/man/xhtml/glGenQueries.xml +glGenQueries https://www.opengl.org/sdk/docs/man3/xhtml/glGenQueries.xml +glGenQueries https://www.opengl.org/sdk/docs/man4/html/glGenQueries.xhtml +glGenQueriesARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glGenRenderbuffers https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glGenRenderbuffers https://www.opengl.org/sdk/docs/man3/xhtml/glGenRenderbuffers.xml +glGenRenderbuffers https://www.opengl.org/sdk/docs/man4/html/glGenRenderbuffers.xhtml +glGenRenderbuffersEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glGenSamplers https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glGenSamplers https://www.opengl.org/sdk/docs/man3/xhtml/glGenSamplers.xml +glGenSamplers https://www.opengl.org/sdk/docs/man4/html/glGenSamplers.xhtml +glGenTextures https://www.opengl.org/sdk/docs/man/xhtml/glGenTextures.xml +glGenTextures https://www.opengl.org/sdk/docs/man3/xhtml/glGenTextures.xml +glGenTextures https://www.opengl.org/sdk/docs/man4/html/glGenTextures.xhtml +glGenTexturesEXT https://www.opengl.org/registry/specs/EXT/texture_object.txt +glGenTransformFeedbacks https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt +glGenTransformFeedbacks https://www.opengl.org/sdk/docs/man4/html/glGenTransformFeedbacks.xhtml +glGenTransformFeedbacksNV https://www.opengl.org/registry/specs/NV/transform_feedback2.txt +glGenVertexArrays https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt +glGenVertexArrays https://www.opengl.org/sdk/docs/man3/xhtml/glGenVertexArrays.xml +glGenVertexArrays https://www.opengl.org/sdk/docs/man4/html/glGenVertexArrays.xhtml +glGenVertexArraysAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt +glGenerateMipmap https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glGenerateMipmap https://www.opengl.org/sdk/docs/man3/xhtml/glGenerateMipmap.xml +glGenerateMipmap https://www.opengl.org/sdk/docs/man4/html/glGenerateMipmap.xhtml +glGenerateMipmapEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glGenerateMultiTexMipmapEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGenerateTextureMipmapEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetActiveAttrib https://www.opengl.org/sdk/docs/man/xhtml/glGetActiveAttrib.xml +glGetActiveAttrib https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveAttrib.xml +glGetActiveAttrib https://www.opengl.org/sdk/docs/man4/html/glGetActiveAttrib.xhtml +glGetActiveAttribARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glGetActiveSubroutineName https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glGetActiveSubroutineName https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineName.xhtml +glGetActiveSubroutineUniformName https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glGetActiveSubroutineUniformName https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineUniformName.xhtml +glGetActiveSubroutineUniformiv https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glGetActiveSubroutineUniformiv https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineUniform.xhtml +glGetActiveUniform https://www.opengl.org/sdk/docs/man/xhtml/glGetActiveUniform.xml +glGetActiveUniform https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniform.xml +glGetActiveUniform https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniform.xhtml +glGetActiveUniformARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetActiveUniformBlockName https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glGetActiveUniformBlockName https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlockName.xml +glGetActiveUniformBlockName https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformBlockName.xhtml +glGetActiveUniformBlockiv https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glGetActiveUniformBlockiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlock.xml +glGetActiveUniformBlockiv https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformBlock.xhtml +glGetActiveUniformName https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glGetActiveUniformName https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformName.xml +glGetActiveUniformName https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformName.xhtml +glGetActiveUniformsiv https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glGetActiveUniformsiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformsiv.xml +glGetActiveUniformsiv https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformsiv.xhtml +glGetActiveVaryingNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glGetArrayObjectfvATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glGetArrayObjectivATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glGetAttachedObjectsARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetAttachedShaders https://www.opengl.org/sdk/docs/man/xhtml/glGetAttachedShaders.xml +glGetAttachedShaders https://www.opengl.org/sdk/docs/man3/xhtml/glGetAttachedShaders.xml +glGetAttachedShaders https://www.opengl.org/sdk/docs/man4/html/glGetAttachedShaders.xhtml +glGetAttribLocation https://www.opengl.org/sdk/docs/man/xhtml/glGetAttribLocation.xml +glGetAttribLocation https://www.opengl.org/sdk/docs/man3/xhtml/glGetAttribLocation.xml +glGetAttribLocation https://www.opengl.org/sdk/docs/man4/html/glGetAttribLocation.xhtml +glGetAttribLocationARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glGetBooleanIndexedvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetBooleanIndexedvEXT https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt +glGetBooleanIndexedvEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glGetBooleanIndexedvEXT https://www.opengl.org/registry/specs/NV/explicit_multisample.txt +glGetBooleanIndexedvEXT https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glGetBooleani_v https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetBooleani_v https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetBooleanv https://www.opengl.org/sdk/docs/man/xhtml/glGet.xml +glGetBooleanv https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetBooleanv https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetBufferParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glGetBufferParameteriv.xml +glGetBufferParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferParameter.xml +glGetBufferParameteriv https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml +glGetBufferParameterivARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glGetBufferParameterui64vNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glGetBufferPointerv https://www.opengl.org/sdk/docs/man/xhtml/glGetBufferPointerv.xml +glGetBufferPointerv https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferPointerv.xml +glGetBufferPointerv https://www.opengl.org/sdk/docs/man4/html/glGetBufferPointerv.xhtml +glGetBufferPointervARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glGetBufferSubData https://www.opengl.org/sdk/docs/man/xhtml/glGetBufferSubData.xml +glGetBufferSubData https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferSubData.xml +glGetBufferSubData https://www.opengl.org/sdk/docs/man4/html/glGetBufferSubData.xhtml +glGetBufferSubDataARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glGetClipPlane https://www.opengl.org/sdk/docs/man/xhtml/glGetClipPlane.xml +glGetClipPlanefOES https://www.opengl.org/registry/specs/OES/OES_single_precision.txt +glGetClipPlanexOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetColorTable https://www.opengl.org/sdk/docs/man/xhtml/glGetColorTable.xml +glGetColorTableEXT https://www.opengl.org/registry/specs/EXT/paletted_texture.txt +glGetColorTableParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glGetColorTableParameter.xml +glGetColorTableParameterfvEXT https://www.opengl.org/registry/specs/EXT/paletted_texture.txt +glGetColorTableParameterfvSGI https://www.opengl.org/registry/specs/SGI/color_table.txt +glGetColorTableParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glGetColorTableParameter.xml +glGetColorTableParameterivEXT https://www.opengl.org/registry/specs/EXT/paletted_texture.txt +glGetColorTableParameterivSGI https://www.opengl.org/registry/specs/SGI/color_table.txt +glGetColorTableSGI https://www.opengl.org/registry/specs/SGI/color_table.txt +glGetCombinerInputParameterfvNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glGetCombinerInputParameterivNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glGetCombinerOutputParameterfvNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glGetCombinerOutputParameterivNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glGetCombinerStageParameterfvNV https://www.opengl.org/registry/specs/NV/register_combiners2.txt +glGetCompressedMultiTexImageEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetCompressedTexImage https://www.opengl.org/sdk/docs/man/xhtml/glGetCompressedTexImage.xml +glGetCompressedTexImage https://www.opengl.org/sdk/docs/man3/xhtml/glGetCompressedTexImage.xml +glGetCompressedTexImage https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml +glGetCompressedTexImageARB https://www.opengl.org/registry/specs/ARB/texture_compression.txt +glGetCompressedTextureImageEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetConvolutionFilter https://www.opengl.org/sdk/docs/man/xhtml/glGetConvolutionFilter.xml +glGetConvolutionFilterEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glGetConvolutionParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glGetConvolutionParameter.xml +glGetConvolutionParameterfvEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glGetConvolutionParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glGetConvolutionParameter.xml +glGetConvolutionParameterivEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glGetConvolutionParameterxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetDebugMessageLogAMD https://www.opengl.org/registry/specs/AMD/debug_output.txt +glGetDebugMessageLogARB https://www.opengl.org/registry/specs/ARB/debug_output.txt +glGetDetailTexFuncSGIS https://www.opengl.org/registry/specs/SGIS/detail_texture.txt +glGetDoubleIndexedvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetDoublei_v https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glGetDoublei_vEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetDoublev https://www.opengl.org/sdk/docs/man/xhtml/glGet.xml +glGetDoublev https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetDoublev https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetError https://www.opengl.org/sdk/docs/man/xhtml/glGetError.xml +glGetError https://www.opengl.org/sdk/docs/man3/xhtml/glGetError.xml +glGetError https://www.opengl.org/sdk/docs/man4/html/glGetError.xhtml +glGetFenceivNV https://www.opengl.org/registry/specs/NV/fence.txt +glGetFinalCombinerInputParameterfvNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glGetFinalCombinerInputParameterivNV https://www.opengl.org/registry/specs/NV/register_combiners.txt +glGetFixedvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetFloatIndexedvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetFloati_v https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glGetFloati_vEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetFloatv https://www.opengl.org/sdk/docs/man/xhtml/glGet.xml +glGetFloatv https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetFloatv https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetFogFuncSGIS https://www.opengl.org/registry/specs/SGIS/fog_func.txt +glGetFragDataIndex https://www.opengl.org/registry/specs/ARB/blend_func_extended.txt +glGetFragDataIndex https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataIndex.xml +glGetFragDataIndex https://www.opengl.org/sdk/docs/man4/html/glGetFragDataIndex.xhtml +glGetFragDataLocation https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataLocation.xml +glGetFragDataLocation https://www.opengl.org/sdk/docs/man4/html/glGetFragDataLocation.xhtml +glGetFragDataLocationEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glGetFragmentLightfvEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glGetFragmentLightfvSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glGetFragmentLightivEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glGetFragmentLightivSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glGetFragmentMaterialfvEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glGetFragmentMaterialfvSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glGetFragmentMaterialivEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glGetFragmentMaterialivSGIX https://www.opengl.org/registry/specs/SGIX/fragment_specular_lighting.txt +glGetFramebufferAttachmentParameter https://www.opengl.org/sdk/docs/man3/xhtml/glGetFramebufferAttachmentParameter.xml +glGetFramebufferAttachmentParameter https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml +glGetFramebufferAttachmentParameteriv https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glGetFramebufferAttachmentParameterivEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glGetFramebufferParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetGraphicsResetStatusARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetHandleARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetHistogram https://www.opengl.org/sdk/docs/man/xhtml/glGetHistogram.xml +glGetHistogramEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glGetHistogramParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glGetHistogramParameter.xml +glGetHistogramParameterfvEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glGetHistogramParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glGetHistogramParameter.xml +glGetHistogramParameterivEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glGetHistogramParameterxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetImageTransformParameterfvHP https://www.opengl.org/registry/specs/HP/image_transform.txt +glGetImageTransformParameterivHP https://www.opengl.org/registry/specs/HP/image_transform.txt +glGetInfoLogARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetInstrumentsSGIX https://www.opengl.org/registry/specs/SGIX/instruments.txt +glGetInteger64i_v https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetInteger64i_v https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetInteger64v https://www.opengl.org/registry/specs/ARB/sync.txt +glGetInteger64v https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetInteger64v https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetIntegerIndexedivEXT https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glGetIntegerIndexedvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetIntegerIndexedvEXT https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt +glGetIntegerIndexedvEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glGetIntegerIndexedvEXT https://www.opengl.org/registry/specs/NV/explicit_multisample.txt +glGetIntegerIndexedvEXT https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt +glGetIntegerIndexedvEXT https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glGetIntegeri_v https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glGetIntegeri_v https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetIntegeri_v https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetIntegerui64i_vNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glGetIntegerui64vNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glGetIntegerv https://www.opengl.org/registry/specs/SGIX/instruments.txt +glGetIntegerv https://www.opengl.org/sdk/docs/man/xhtml/glGet.xml +glGetIntegerv https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml +glGetIntegerv https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml +glGetInternalformativ https://www.opengl.org/registry/specs/ARB/internalformat_query.txt +glGetLightfv https://www.opengl.org/sdk/docs/man/xhtml/glGetLight.xml +glGetLightiv https://www.opengl.org/sdk/docs/man/xhtml/glGetLight.xml +glGetLightxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetListParameterfvSGIX https://www.opengl.org/registry/specs/SGIX/list_priority.txt +glGetListParameterivSGIX https://www.opengl.org/registry/specs/SGIX/list_priority.txt +glGetMapAttribParameterfvNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glGetMapAttribParameterivNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glGetMapControlPointsNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glGetMapParameterfvNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glGetMapParameterivNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glGetMapdv https://www.opengl.org/sdk/docs/man/xhtml/glGetMap.xml +glGetMapfv https://www.opengl.org/sdk/docs/man/xhtml/glGetMap.xml +glGetMapiv https://www.opengl.org/sdk/docs/man/xhtml/glGetMap.xml +glGetMapxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetMaterialfv https://www.opengl.org/sdk/docs/man/xhtml/glGetMaterial.xml +glGetMaterialiv https://www.opengl.org/sdk/docs/man/xhtml/glGetMaterial.xml +glGetMaterialxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetMinmax https://www.opengl.org/sdk/docs/man/xhtml/glGetMinmax.xml +glGetMinmaxEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glGetMinmaxParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glGetMinmaxParameter.xml +glGetMinmaxParameterfvEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glGetMinmaxParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glGetMinmaxParameter.xml +glGetMinmaxParameterivEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glGetMultiTexEnvfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexEnvivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexGendvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexGenfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexGenivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexImageEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexLevelParameterfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexLevelParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexParameterIivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexParameterIuivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexParameterfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultiTexParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetMultisamplefv https://www.opengl.org/registry/specs/ARB/texture_multisample.txt +glGetMultisamplefv https://www.opengl.org/sdk/docs/man3/xhtml/glGetMultisample.xml +glGetMultisamplefv https://www.opengl.org/sdk/docs/man4/html/glGetMultisample.xhtml +glGetMultisamplefvNV https://www.opengl.org/registry/specs/NV/explicit_multisample.txt +glGetNamedBufferParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedBufferParameterui64vNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glGetNamedBufferPointervEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedBufferSubDataEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedFramebufferAttachmentParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedProgramLocalParameterIivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedProgramLocalParameterIuivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedProgramLocalParameterdvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedProgramLocalParameterfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedProgramStringEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedProgramivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedRenderbufferParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetNamedStringARB https://www.opengl.org/registry/specs/ARB/shading_language_include.txt +glGetNamedStringivARB https://www.opengl.org/registry/specs/ARB/shading_language_include.txt +glGetObjectBufferfvATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glGetObjectBufferivATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glGetObjectParameterfvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetObjectParameterivAPPLE https://www.opengl.org/registry/specs/APPLE/object_purgeable.txt +glGetObjectParameterivARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetOcclusionQueryivNV https://www.opengl.org/registry/specs/NV/occlusion_query.txt +glGetOcclusionQueryuivNV https://www.opengl.org/registry/specs/NV/occlusion_query.txt +glGetPathColorGenfvNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathColorGenivNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathCommandsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathCoordsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathDashArrayNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathLengthNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathMetricRangeNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathMetricsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathParameterfvNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathParameterivNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathSpacingNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathTexGenfvNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPathTexGenivNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glGetPerfMonitorCounterDataAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glGetPerfMonitorCounterInfoAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glGetPerfMonitorCounterStringAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glGetPerfMonitorCountersAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glGetPerfMonitorGroupStringAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glGetPerfMonitorGroupsAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glGetPixelMapfv https://www.opengl.org/sdk/docs/man/xhtml/glGetPixelMap.xml +glGetPixelMapuiv https://www.opengl.org/sdk/docs/man/xhtml/glGetPixelMap.xml +glGetPixelMapusv https://www.opengl.org/sdk/docs/man/xhtml/glGetPixelMap.xml +glGetPixelTransformParameterfvEXT https://www.opengl.org/registry/specs/EXT/pixel_transform.txt +glGetPixelTransformParameterivEXT https://www.opengl.org/registry/specs/EXT/pixel_transform.txt +glGetPointerIndexedvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetPointeri_vEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetPointerv https://www.opengl.org/registry/specs/ARB/debug_output.txt +glGetPointerv https://www.opengl.org/sdk/docs/man/xhtml/glGetPointerv.xml +glGetPointervEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glGetPointervEXT https://www.opengl.org/registry/specs/SGIX/instruments.txt +glGetPolygonStipple https://www.opengl.org/sdk/docs/man/xhtml/glGetPolygonStipple.xml +glGetProgramBinary https://www.opengl.org/registry/specs/ARB/get_program_binary.txt +glGetProgramBinary https://www.opengl.org/sdk/docs/man4/html/glGetProgramBinary.xhtml +glGetProgramEnvParameterIivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glGetProgramEnvParameterIuivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glGetProgramEnvParameterdvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glGetProgramEnvParameterdvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetProgramEnvParameterfvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glGetProgramEnvParameterfvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetProgramInfoLog https://www.opengl.org/sdk/docs/man/xhtml/glGetProgramInfoLog.xml +glGetProgramInfoLog https://www.opengl.org/sdk/docs/man3/xhtml/glGetProgramInfoLog.xml +glGetProgramInfoLog https://www.opengl.org/sdk/docs/man4/html/glGetProgramInfoLog.xhtml +glGetProgramLocalParameterIivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glGetProgramLocalParameterIuivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glGetProgramLocalParameterdvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glGetProgramLocalParameterdvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetProgramLocalParameterdvARB https://www.opengl.org/registry/specs/NV/fragment_program.txt +glGetProgramLocalParameterfvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glGetProgramLocalParameterfvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetProgramLocalParameterfvARB https://www.opengl.org/registry/specs/NV/fragment_program.txt +glGetProgramNamedParameterdvNV https://www.opengl.org/registry/specs/NV/fragment_program.txt +glGetProgramNamedParameterfvNV https://www.opengl.org/registry/specs/NV/fragment_program.txt +glGetProgramParameterdvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetProgramParameterfvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetProgramPipelineInfoLog https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glGetProgramPipelineInfoLog https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipelineInfoLog.xhtml +glGetProgramPipelineiv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glGetProgramPipelineiv https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipeline.xhtml +glGetProgramStageiv https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glGetProgramStageiv https://www.opengl.org/sdk/docs/man4/html/glGetProgramStage.xhtml +glGetProgramStringARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glGetProgramStringARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetProgramStringNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetProgramiv https://www.opengl.org/sdk/docs/man/xhtml/glGetProgram.xml +glGetProgramiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetProgram.xml +glGetProgramiv https://www.opengl.org/sdk/docs/man4/html/glGetProgram.xhtml +glGetProgramivARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glGetProgramivARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetProgramivNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetQueryIndexediv https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt +glGetQueryIndexediv https://www.opengl.org/sdk/docs/man4/html/glGetQueryIndexed.xhtml +glGetQueryObjecti64v https://www.opengl.org/registry/specs/ARB/timer_query.txt +glGetQueryObjecti64v https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml +glGetQueryObjecti64v https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml +glGetQueryObjecti64vEXT https://www.opengl.org/registry/specs/EXT/timer_query.txt +glGetQueryObjectiv https://www.opengl.org/sdk/docs/man/xhtml/glGetQueryObject.xml +glGetQueryObjectiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml +glGetQueryObjectiv https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml +glGetQueryObjectivARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glGetQueryObjectui64v https://www.opengl.org/registry/specs/ARB/timer_query.txt +glGetQueryObjectui64v https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml +glGetQueryObjectui64v https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml +glGetQueryObjectui64vEXT https://www.opengl.org/registry/specs/EXT/timer_query.txt +glGetQueryObjectuiv https://www.opengl.org/sdk/docs/man/xhtml/glGetQueryObject.xml +glGetQueryObjectuiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml +glGetQueryObjectuiv https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml +glGetQueryObjectuivARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glGetQueryiv https://www.opengl.org/sdk/docs/man/xhtml/glGetQueryiv.xml +glGetQueryiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryiv.xml +glGetQueryiv https://www.opengl.org/sdk/docs/man4/html/glGetQueryiv.xhtml +glGetQueryivARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glGetRenderbufferParameteriv https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glGetRenderbufferParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glGetRenderbufferParameter.xml +glGetRenderbufferParameteriv https://www.opengl.org/sdk/docs/man4/html/glGetRenderbufferParameter.xhtml +glGetRenderbufferParameterivEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glGetSamplerParameterIiv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glGetSamplerParameterIuiv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glGetSamplerParameterfv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glGetSamplerParameterfv https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml +glGetSamplerParameterfv https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml +glGetSamplerParameteriv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glGetSamplerParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml +glGetSamplerParameteriv https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml +glGetSeparableFilter https://www.opengl.org/sdk/docs/man/xhtml/glGetSeparableFilter.xml +glGetSeparableFilterEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glGetShaderInfoLog https://www.opengl.org/sdk/docs/man/xhtml/glGetShaderInfoLog.xml +glGetShaderInfoLog https://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderInfoLog.xml +glGetShaderInfoLog https://www.opengl.org/sdk/docs/man4/html/glGetShaderInfoLog.xhtml +glGetShaderPrecisionFormat https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt +glGetShaderPrecisionFormat https://www.opengl.org/sdk/docs/man4/html/glGetShaderPrecisionFormat.xhtml +glGetShaderSource https://www.opengl.org/sdk/docs/man/xhtml/glGetShaderSource.xml +glGetShaderSource https://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderSource.xml +glGetShaderSource https://www.opengl.org/sdk/docs/man4/html/glGetShaderSource.xhtml +glGetShaderSourceARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetShaderiv https://www.opengl.org/sdk/docs/man/xhtml/glGetShader.xml +glGetShaderiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetShader.xml +glGetShaderiv https://www.opengl.org/sdk/docs/man4/html/glGetShader.xhtml +glGetSharpenTexFuncSGIS https://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt +glGetString https://www.opengl.org/sdk/docs/man/xhtml/glGetString.xml +glGetString https://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml +glGetString https://www.opengl.org/sdk/docs/man4/html/glGetString.xhtml +glGetStringi https://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml +glGetStringi https://www.opengl.org/sdk/docs/man4/html/glGetString.xhtml +glGetSubroutineIndex https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glGetSubroutineIndex https://www.opengl.org/sdk/docs/man4/html/glGetSubroutineIndex.xhtml +glGetSubroutineUniformLocation https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glGetSubroutineUniformLocation https://www.opengl.org/sdk/docs/man4/html/glGetSubroutineUniformLocation.xhtml +glGetSynciv https://www.opengl.org/registry/specs/ARB/sync.txt +glGetSynciv https://www.opengl.org/sdk/docs/man3/xhtml/glGetSync.xml +glGetSynciv https://www.opengl.org/sdk/docs/man4/html/glGetSync.xhtml +glGetTexEnvfv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexEnv.xml +glGetTexEnviv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexEnv.xml +glGetTexEnvxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetTexFilterFuncSGIS https://www.opengl.org/registry/specs/SGIS/texture_filter4.txt +glGetTexGendv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexGen.xml +glGetTexGenfv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexGen.xml +glGetTexGeniv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexGen.xml +glGetTexGenxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetTexImage https://www.opengl.org/sdk/docs/man/xhtml/glGetTexImage.xml +glGetTexImage https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexImage.xml +glGetTexImage https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml +glGetTexLevelParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexLevelParameter.xml +glGetTexLevelParameterfv https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml +glGetTexLevelParameterfv https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml +glGetTexLevelParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexLevelParameter.xml +glGetTexLevelParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml +glGetTexLevelParameteriv https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml +glGetTexLevelParameterxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetTexParameterPointervAPPLE https://www.opengl.org/registry/specs/APPLE/texture_range.txt +glGetTexParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexParameter.xml +glGetTexParameterfv https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml +glGetTexParameterfv https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml +glGetTexParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glGetTexParameter.xml +glGetTexParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml +glGetTexParameteriv https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml +glGetTexParameterxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glGetTextureImageEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetTextureLevelParameterfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetTextureLevelParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetTextureParameterIivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetTextureParameterIuivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetTextureParameterfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetTextureParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetTrackMatrixivNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetTransformFeedbackVarying https://www.opengl.org/sdk/docs/man3/xhtml/glGetTransformFeedbackVarying.xml +glGetTransformFeedbackVarying https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedbackVarying.xhtml +glGetTransformFeedbackVaryingEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glGetTransformFeedbackVaryingNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glGetUniformBlockIndex https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glGetUniformBlockIndex https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformBlockIndex.xml +glGetUniformBlockIndex https://www.opengl.org/sdk/docs/man4/html/glGetUniformBlockIndex.xhtml +glGetUniformBufferSizeEXT https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt +glGetUniformIndices https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glGetUniformIndices https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformIndices.xml +glGetUniformIndices https://www.opengl.org/sdk/docs/man4/html/glGetUniformIndices.xhtml +glGetUniformLocation https://www.opengl.org/sdk/docs/man/xhtml/glGetUniformLocation.xml +glGetUniformLocation https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformLocation.xml +glGetUniformLocation https://www.opengl.org/sdk/docs/man4/html/glGetUniformLocation.xhtml +glGetUniformLocationARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetUniformOffsetEXT https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt +glGetUniformSubroutineuiv https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glGetUniformSubroutineuiv https://www.opengl.org/sdk/docs/man4/html/glGetUniformSubroutine.xhtml +glGetUniformdv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glGetUniformfv https://www.opengl.org/sdk/docs/man/xhtml/glGetUniform.xml +glGetUniformfv https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml +glGetUniformfv https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml +glGetUniformfvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetUniformi64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glGetUniformiv https://www.opengl.org/sdk/docs/man/xhtml/glGetUniform.xml +glGetUniformiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml +glGetUniformiv https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml +glGetUniformivARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glGetUniformui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glGetUniformui64vNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glGetUniformuivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glGetVariantArrayObjectfvATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glGetVariantArrayObjectivATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glGetVaryingLocationNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glGetVertexArrayIntegeri_vEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetVertexArrayIntegervEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetVertexArrayPointeri_vEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetVertexArrayPointervEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glGetVertexAttribArrayObjectfvATI https://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt +glGetVertexAttribArrayObjectivATI https://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt +glGetVertexAttribIiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml +glGetVertexAttribIiv https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml +glGetVertexAttribIivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glGetVertexAttribIivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glGetVertexAttribIuiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml +glGetVertexAttribIuiv https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml +glGetVertexAttribIuivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glGetVertexAttribIuivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glGetVertexAttribLdv https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glGetVertexAttribLdv https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml +glGetVertexAttribLdvEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glGetVertexAttribLi64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glGetVertexAttribLui64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glGetVertexAttribPointerv https://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttribPointerv.xml +glGetVertexAttribPointerv https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttribPointerv.xml +glGetVertexAttribPointerv https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttribPointerv.xhtml +glGetVertexAttribPointervARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetVertexAttribPointervARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glGetVertexAttribPointervNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetVertexAttribdv https://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttrib.xml +glGetVertexAttribdv https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml +glGetVertexAttribdv https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml +glGetVertexAttribdvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetVertexAttribdvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glGetVertexAttribdvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetVertexAttribfv https://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttrib.xml +glGetVertexAttribfv https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml +glGetVertexAttribfv https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml +glGetVertexAttribfvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetVertexAttribfvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glGetVertexAttribfvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetVertexAttribiv https://www.opengl.org/sdk/docs/man/xhtml/glGetVertexAttrib.xml +glGetVertexAttribiv https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml +glGetVertexAttribiv https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml +glGetVertexAttribivARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glGetVertexAttribivARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glGetVertexAttribivNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glGetVideoCaptureivNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glGetVideoi64vNV https://www.opengl.org/registry/specs/NV/present_video.txt +glGetVideoivNV https://www.opengl.org/registry/specs/NV/present_video.txt +glGetVideoui64vNV https://www.opengl.org/registry/specs/NV/present_video.txt +glGetVideouivNV https://www.opengl.org/registry/specs/NV/present_video.txt +glGetnColorTableARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnCompressedTexImageARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnConvolutionFilterARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnHistogramARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnMapdvARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnMapfvARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnMapivARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnMinmaxARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnPixelMapfvARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnPixelMapuivARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnPixelMapusvARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnPolygonStippleARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnSeparableFilterARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnTexImageARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnUniformdvARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnUniformfvARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnUniformivARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGetnUniformuivARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glGlobalAlphaFactorbSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glGlobalAlphaFactordSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glGlobalAlphaFactorfSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glGlobalAlphaFactoriSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glGlobalAlphaFactorsSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glGlobalAlphaFactorubSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glGlobalAlphaFactoruiSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glGlobalAlphaFactorusSUN https://www.opengl.org/registry/specs/SUN/global_alpha.txt +glHint https://www.opengl.org/sdk/docs/man/xhtml/glHint.xml +glHint https://www.opengl.org/sdk/docs/man3/xhtml/glHint.xml +glHint https://www.opengl.org/sdk/docs/man4/html/glHint.xhtml +glHistogram https://www.opengl.org/sdk/docs/man/xhtml/glHistogram.xml +glHistogramEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glImageTransformParameterfHP https://www.opengl.org/registry/specs/HP/image_transform.txt +glImageTransformParameterfvHP https://www.opengl.org/registry/specs/HP/image_transform.txt +glImageTransformParameteriHP https://www.opengl.org/registry/specs/HP/image_transform.txt +glImageTransformParameterivHP https://www.opengl.org/registry/specs/HP/image_transform.txt +glImportSyncEXT https://www.opengl.org/registry/specs/EXT/x11_sync_object.txt +glIndexFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glIndexMask https://www.opengl.org/sdk/docs/man/xhtml/glIndexMask.xml +glIndexPointer https://www.opengl.org/sdk/docs/man/xhtml/glIndexPointer.xml +glIndexPointerEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glIndexd https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexdv https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexf https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexfv https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexi https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexiv https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexs https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexsv https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexub https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glIndexubv https://www.opengl.org/sdk/docs/man/xhtml/glIndex.xml +glInitNames https://www.opengl.org/sdk/docs/man/xhtml/glInitNames.xml +glInstrumentsBufferSGIX https://www.opengl.org/registry/specs/SGIX/instruments.txt +glInterleavedArrays https://www.opengl.org/sdk/docs/man/xhtml/glInterleavedArrays.xml +glInterpolatePathsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glIsArraySetEXT https://www.opengl.org/registry/specs/EXT/vertex_array_set.txt +glIsAsyncMarkerSGIX https://www.opengl.org/registry/specs/SGIX/async.txt +glIsBuffer https://www.opengl.org/sdk/docs/man/xhtml/glIsBuffer.xml +glIsBuffer https://www.opengl.org/sdk/docs/man3/xhtml/glIsBuffer.xml +glIsBuffer https://www.opengl.org/sdk/docs/man4/html/glIsBuffer.xhtml +glIsBufferARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glIsBufferResidentNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glIsEnabled https://www.opengl.org/sdk/docs/man/xhtml/glIsEnabled.xml +glIsEnabled https://www.opengl.org/sdk/docs/man3/xhtml/glIsEnabled.xml +glIsEnabled https://www.opengl.org/sdk/docs/man4/html/glIsEnabled.xhtml +glIsEnabledIndexedEXT https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glIsEnabledIndexedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glIsEnabledIndexedEXT https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt +glIsFenceAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glIsFenceNV https://www.opengl.org/registry/specs/NV/fence.txt +glIsFramebuffer https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glIsFramebuffer https://www.opengl.org/sdk/docs/man3/xhtml/glIsFramebuffer.xml +glIsFramebuffer https://www.opengl.org/sdk/docs/man4/html/glIsFramebuffer.xhtml +glIsFramebufferEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glIsList https://www.opengl.org/sdk/docs/man/xhtml/glIsList.xml +glIsNameAMD https://www.opengl.org/registry/specs/AMD/name_gen_delete.txt +glIsNamedBufferResidentNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glIsNamedStringARB https://www.opengl.org/registry/specs/ARB/shading_language_include.txt +glIsObjectBufferATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glIsOcclusionQueryNV https://www.opengl.org/registry/specs/NV/occlusion_query.txt +glIsPathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glIsPointInFillPathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glIsPointInStrokePathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glIsProgram https://www.opengl.org/sdk/docs/man/xhtml/glIsProgram.xml +glIsProgram https://www.opengl.org/sdk/docs/man3/xhtml/glIsProgram.xml +glIsProgram https://www.opengl.org/sdk/docs/man4/html/glIsProgram.xhtml +glIsProgramARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glIsProgramARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glIsProgramNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glIsProgramPipeline https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glIsProgramPipeline https://www.opengl.org/sdk/docs/man4/html/glIsProgramPipeline.xhtml +glIsQuery https://www.opengl.org/sdk/docs/man/xhtml/glIsQuery.xml +glIsQuery https://www.opengl.org/sdk/docs/man3/xhtml/glIsQuery.xml +glIsQuery https://www.opengl.org/sdk/docs/man4/html/glIsQuery.xhtml +glIsQueryARB https://www.opengl.org/registry/specs/ARB/occlusion_query.txt +glIsRenderbuffer https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glIsRenderbuffer https://www.opengl.org/sdk/docs/man3/xhtml/glIsRenderbuffer.xml +glIsRenderbuffer https://www.opengl.org/sdk/docs/man4/html/glIsRenderbuffer.xhtml +glIsRenderbufferEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glIsSampler https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glIsSampler https://www.opengl.org/sdk/docs/man3/xhtml/glIsSampler.xml +glIsSampler https://www.opengl.org/sdk/docs/man4/html/glIsSampler.xhtml +glIsShader https://www.opengl.org/sdk/docs/man/xhtml/glIsShader.xml +glIsShader https://www.opengl.org/sdk/docs/man3/xhtml/glIsShader.xml +glIsShader https://www.opengl.org/sdk/docs/man4/html/glIsShader.xhtml +glIsSync https://www.opengl.org/registry/specs/ARB/sync.txt +glIsSync https://www.opengl.org/sdk/docs/man3/xhtml/glIsSync.xml +glIsSync https://www.opengl.org/sdk/docs/man4/html/glIsSync.xhtml +glIsTexture https://www.opengl.org/sdk/docs/man/xhtml/glIsTexture.xml +glIsTexture https://www.opengl.org/sdk/docs/man3/xhtml/glIsTexture.xml +glIsTexture https://www.opengl.org/sdk/docs/man4/html/glIsTexture.xhtml +glIsTextureEXT https://www.opengl.org/registry/specs/EXT/texture_object.txt +glIsTransformFeedback https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt +glIsTransformFeedback https://www.opengl.org/sdk/docs/man4/html/glIsTransformFeedback.xhtml +glIsTransformFeedbackNV https://www.opengl.org/registry/specs/NV/transform_feedback2.txt +glIsVertexArray https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt +glIsVertexArray https://www.opengl.org/sdk/docs/man3/xhtml/glIsVertexArray.xml +glIsVertexArray https://www.opengl.org/sdk/docs/man4/html/glIsVertexArray.xhtml +glIsVertexArrayAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt +glIsVertexAttribEnabledAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt +glJoinSwapGroupSGIX https://www.opengl.org/registry/specs/SGIX/swap_group.txt +glLightEnviEXT https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt +glLightModelf https://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml +glLightModelfv https://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml +glLightModeli https://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml +glLightModeliv https://www.opengl.org/sdk/docs/man/xhtml/glLightModel.xml +glLightf https://www.opengl.org/sdk/docs/man/xhtml/glLight.xml +glLightfv https://www.opengl.org/sdk/docs/man/xhtml/glLight.xml +glLighti https://www.opengl.org/sdk/docs/man/xhtml/glLight.xml +glLightiv https://www.opengl.org/sdk/docs/man/xhtml/glLight.xml +glLineStipple https://www.opengl.org/sdk/docs/man/xhtml/glLineStipple.xml +glLineWidth https://www.opengl.org/sdk/docs/man/xhtml/glLineWidth.xml +glLineWidth https://www.opengl.org/sdk/docs/man3/xhtml/glLineWidth.xml +glLineWidth https://www.opengl.org/sdk/docs/man4/html/glLineWidth.xhtml +glLineWidthxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glLinkProgram https://www.opengl.org/sdk/docs/man/xhtml/glLinkProgram.xml +glLinkProgram https://www.opengl.org/sdk/docs/man3/xhtml/glLinkProgram.xml +glLinkProgram https://www.opengl.org/sdk/docs/man4/html/glLinkProgram.xhtml +glLinkProgramARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glListBase https://www.opengl.org/sdk/docs/man/xhtml/glListBase.xml +glListParameterfSGIX https://www.opengl.org/registry/specs/SGIX/list_priority.txt +glListParameterfvSGIX https://www.opengl.org/registry/specs/SGIX/list_priority.txt +glListParameteriSGIX https://www.opengl.org/registry/specs/SGIX/list_priority.txt +glListParameterivSGIX https://www.opengl.org/registry/specs/SGIX/list_priority.txt +glLoadIdentity https://www.opengl.org/sdk/docs/man/xhtml/glLoadIdentity.xml +glLoadMatrixd https://www.opengl.org/sdk/docs/man/xhtml/glLoadMatrix.xml +glLoadMatrixf https://www.opengl.org/sdk/docs/man/xhtml/glLoadMatrix.xml +glLoadMatrixxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glLoadName https://www.opengl.org/sdk/docs/man/xhtml/glLoadName.xml +glLoadProgramNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glLoadTransposeMatrixd https://www.opengl.org/sdk/docs/man/xhtml/glLoadTransposeMatrix.xml +glLoadTransposeMatrixf https://www.opengl.org/sdk/docs/man/xhtml/glLoadTransposeMatrix.xml +glLoadTransposeMatrixxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glLogicOp https://www.opengl.org/sdk/docs/man/xhtml/glLogicOp.xml +glLogicOp https://www.opengl.org/sdk/docs/man3/xhtml/glLogicOp.xml +glLogicOp https://www.opengl.org/sdk/docs/man4/html/glLogicOp.xhtml +glMakeBufferNonResidentNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glMakeBufferResidentNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glMakeNamedBufferNonResidentNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glMakeNamedBufferResidentNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glMap1d https://www.opengl.org/sdk/docs/man/xhtml/glMap1.xml +glMap1f https://www.opengl.org/sdk/docs/man/xhtml/glMap1.xml +glMap1xOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glMap2d https://www.opengl.org/sdk/docs/man/xhtml/glMap2.xml +glMap2f https://www.opengl.org/sdk/docs/man/xhtml/glMap2.xml +glMap2xOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glMapBuffer https://www.opengl.org/sdk/docs/man/xhtml/glMapBuffer.xml +glMapBuffer https://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml +glMapBuffer https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml +glMapBufferRange https://www.opengl.org/sdk/docs/man3/xhtml/glMapBufferRange.xml +glMapBufferRange https://www.opengl.org/sdk/docs/man4/html/glMapBufferRange.xhtml +glMapControlPointsNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glMapGrid1d https://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml +glMapGrid1f https://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml +glMapGrid1xOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glMapGrid2d https://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml +glMapGrid2f https://www.opengl.org/sdk/docs/man/xhtml/glMapGrid.xml +glMapGrid2xOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glMapNamedBufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMapParameterfvNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glMapParameterivNV https://www.opengl.org/registry/specs/NV/evaluators.txt +glMapVertexAttrib1dAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt +glMapVertexAttrib1fAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt +glMapVertexAttrib2dAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt +glMapVertexAttrib2fAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt +glMaterialf https://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml +glMaterialfv https://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml +glMateriali https://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml +glMaterialiv https://www.opengl.org/sdk/docs/man/xhtml/glMaterial.xml +glMatrixFrustumEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixIndexPointerARB https://www.opengl.org/registry/specs/ARB/matrix_palette.txt +glMatrixLoadIdentityEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixLoadTransposedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixLoadTransposefEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixLoaddEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixLoadfEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixMode https://www.opengl.org/sdk/docs/man/xhtml/glMatrixMode.xml +glMatrixMultTransposedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixMultTransposefEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixMultdEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixMultfEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixOrthoEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixPopEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixPushEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixRotatedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixRotatefEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixScaledEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixScalefEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixTranslatedEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMatrixTranslatefEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMemoryBarrier https://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt +glMemoryBarrierEXT https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt +glMinSampleShading https://www.opengl.org/sdk/docs/man4/html/glMinSampleShading.xhtml +glMinSampleShadingARB https://www.opengl.org/registry/specs/ARB/sample_shading.txt +glMinmax https://www.opengl.org/sdk/docs/man/xhtml/glMinmax.xml +glMinmaxEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glMultMatrixd https://www.opengl.org/sdk/docs/man/xhtml/glMultMatrix.xml +glMultMatrixf https://www.opengl.org/sdk/docs/man/xhtml/glMultMatrix.xml +glMultMatrixxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glMultTransposeMatrixd https://www.opengl.org/sdk/docs/man/xhtml/glMultTransposeMatrix.xml +glMultTransposeMatrixf https://www.opengl.org/sdk/docs/man/xhtml/glMultTransposeMatrix.xml +glMultTransposeMatrixxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glMultiDrawArrays https://www.opengl.org/sdk/docs/man/xhtml/glMultiDrawArrays.xml +glMultiDrawArrays https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawArrays.xml +glMultiDrawArrays https://www.opengl.org/sdk/docs/man4/html/glMultiDrawArrays.xhtml +glMultiDrawArraysEXT https://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt +glMultiDrawArraysIndirectAMD https://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt +glMultiDrawElementArrayAPPLE https://www.opengl.org/registry/specs/APPLE/element_array.txt +glMultiDrawElements https://www.opengl.org/sdk/docs/man/xhtml/glMultiDrawElements.xml +glMultiDrawElements https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElements.xml +glMultiDrawElements https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElements.xhtml +glMultiDrawElementsBaseVertex https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt +glMultiDrawElementsBaseVertex https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElementsBaseVertex.xml +glMultiDrawElementsBaseVertex https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsBaseVertex.xhtml +glMultiDrawElementsEXT https://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt +glMultiDrawElementsIndirectAMD https://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt +glMultiDrawRangeElementArrayAPPLE https://www.opengl.org/registry/specs/APPLE/element_array.txt +glMultiModeDrawArraysIBM https://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt +glMultiModeDrawElementsIBM https://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt +glMultiTexBufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexCoord1d https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord1dv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord1f https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord1fv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord1hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord1hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord1i https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord1iv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord1s https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord1sv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2d https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2dv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2f https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2fv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord2hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord2i https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2iv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2s https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord2sv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3d https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3dv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3f https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3fv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord3i https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3iv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3s https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord3sv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4d https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4dv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4f https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4fv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord4hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glMultiTexCoord4i https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4iv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4s https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoord4sv https://www.opengl.org/sdk/docs/man/xhtml/glMultiTexCoord.xml +glMultiTexCoordP1ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordP1uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordP2ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordP2uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordP3ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordP3uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordP4ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordP4uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glMultiTexCoordPointerEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexEnvfEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexEnvfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexEnviEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexEnvivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexGendEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexGendvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexGenfEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexGenfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexGeniEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexGenivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexParameterIivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexParameterIuivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexParameterfEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexParameterfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexParameteriEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexRenderbufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexSubImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexSubImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glMultiTexSubImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedBufferDataEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedBufferSubDataEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedCopyBufferSubDataEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedFramebufferRenderbufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedFramebufferTexture1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedFramebufferTexture2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedFramebufferTexture3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedFramebufferTextureEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedFramebufferTextureFaceEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedFramebufferTextureLayerEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameter4dEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameter4dvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameter4fEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameter4fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameterI4iEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameterI4ivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameterI4uiEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameterI4uivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParameters4fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParametersI4ivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramLocalParametersI4uivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedProgramStringEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedRenderbufferStorageEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedRenderbufferStorageMultisampleCoverageEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedRenderbufferStorageMultisampleEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glNamedStringARB https://www.opengl.org/registry/specs/ARB/shading_language_include.txt +glNewList https://www.opengl.org/sdk/docs/man/xhtml/glNewList.xml +glNewObjectBufferATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glNormal3b https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3bv https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3d https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3dv https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3f https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3fVertex3fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glNormal3fVertex3fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glNormal3fv https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glNormal3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glNormal3i https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3iv https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3s https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormal3sv https://www.opengl.org/sdk/docs/man/xhtml/glNormal.xml +glNormalFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glNormalP3ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glNormalP3uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glNormalPointer https://www.opengl.org/sdk/docs/man/xhtml/glNormalPointer.xml +glNormalPointerEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glNormalPointervINTEL https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt +glObjectPurgeableAPPLE https://www.opengl.org/registry/specs/APPLE/object_purgeable.txt +glObjectUnpurgeableAPPLE https://www.opengl.org/registry/specs/APPLE/object_purgeable.txt +glOrtho https://www.opengl.org/sdk/docs/man/xhtml/glOrtho.xml +glOrthofOES https://www.opengl.org/registry/specs/OES/OES_single_precision.txt +glOrthoxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glPassThrough https://www.opengl.org/sdk/docs/man/xhtml/glPassThrough.xml +glPassThroughxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glPatchParameterfv https://www.opengl.org/registry/specs/ARB/tessellation_shader.txt +glPatchParameterfv https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml +glPatchParameteri https://www.opengl.org/registry/specs/ARB/tessellation_shader.txt +glPatchParameteri https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml +glPathColorGenNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathCommandsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathCoordsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathCoverDepthFuncNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathDashArrayNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathFogGenNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathGlyphRangeNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathGlyphsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathParameterfNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathParameterfvNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathParameteriNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathParameterivNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathStencilDepthOffsetNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathStencilFuncNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathStringNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathSubCommandsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathSubCoordsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPathTexGenNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPauseTransformFeedback https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt +glPauseTransformFeedback https://www.opengl.org/sdk/docs/man4/html/glPauseTransformFeedback.xhtml +glPauseTransformFeedbackNV https://www.opengl.org/registry/specs/NV/transform_feedback2.txt +glPixelDataRangeNV https://www.opengl.org/registry/specs/NV/pixel_data_range.txt +glPixelMapfv https://www.opengl.org/sdk/docs/man/xhtml/glPixelMap.xml +glPixelMapuiv https://www.opengl.org/sdk/docs/man/xhtml/glPixelMap.xml +glPixelMapusv https://www.opengl.org/sdk/docs/man/xhtml/glPixelMap.xml +glPixelStoref https://www.opengl.org/sdk/docs/man/xhtml/glPixelStore.xml +glPixelStoref https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml +glPixelStoref https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml +glPixelStorei https://www.opengl.org/sdk/docs/man/xhtml/glPixelStore.xml +glPixelStorei https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml +glPixelStorei https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml +glPixelTexGenSGIX https://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt +glPixelTransferf https://www.opengl.org/sdk/docs/man/xhtml/glPixelTransfer.xml +glPixelTransferi https://www.opengl.org/sdk/docs/man/xhtml/glPixelTransfer.xml +glPixelTransferxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glPixelTransformParameterfEXT https://www.opengl.org/registry/specs/EXT/pixel_transform.txt +glPixelTransformParameterfvEXT https://www.opengl.org/registry/specs/EXT/pixel_transform.txt +glPixelTransformParameteriEXT https://www.opengl.org/registry/specs/EXT/pixel_transform.txt +glPixelTransformParameterivEXT https://www.opengl.org/registry/specs/EXT/pixel_transform.txt +glPixelZoom https://www.opengl.org/sdk/docs/man/xhtml/glPixelZoom.xml +glPixelZoomxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glPointAlongPathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glPointParameterf https://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml +glPointParameterf https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml +glPointParameterf https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml +glPointParameterfARB https://www.opengl.org/registry/specs/ARB/point_parameters.txt +glPointParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml +glPointParameterfv https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml +glPointParameterfv https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml +glPointParameterfvARB https://www.opengl.org/registry/specs/ARB/point_parameters.txt +glPointParameteri https://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml +glPointParameteri https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml +glPointParameteri https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml +glPointParameteriNV https://www.opengl.org/registry/specs/NV/point_sprite.txt +glPointParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glPointParameter.xml +glPointParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml +glPointParameteriv https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml +glPointParameterivNV https://www.opengl.org/registry/specs/NV/point_sprite.txt +glPointParameterxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glPointSize https://www.opengl.org/sdk/docs/man/xhtml/glPointSize.xml +glPointSize https://www.opengl.org/sdk/docs/man3/xhtml/glPointSize.xml +glPointSize https://www.opengl.org/sdk/docs/man4/html/glPointSize.xhtml +glPointSizexOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glPollAsyncSGIX https://www.opengl.org/registry/specs/SGIX/async.txt +glPollInstrumentsSGIX https://www.opengl.org/registry/specs/SGIX/instruments.txt +glPolygonMode https://www.opengl.org/sdk/docs/man/xhtml/glPolygonMode.xml +glPolygonMode https://www.opengl.org/sdk/docs/man3/xhtml/glPolygonMode.xml +glPolygonMode https://www.opengl.org/sdk/docs/man4/html/glPolygonMode.xhtml +glPolygonOffset https://www.opengl.org/sdk/docs/man/xhtml/glPolygonOffset.xml +glPolygonOffset https://www.opengl.org/sdk/docs/man3/xhtml/glPolygonOffset.xml +glPolygonOffset https://www.opengl.org/sdk/docs/man4/html/glPolygonOffset.xhtml +glPolygonOffsetEXT https://www.opengl.org/registry/specs/EXT/polygon_offset.txt +glPolygonOffsetxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glPolygonStipple https://www.opengl.org/sdk/docs/man/xhtml/glPolygonStipple.xml +glPopAttrib https://www.opengl.org/sdk/docs/man/xhtml/glPushAttrib.xml +glPopClientAttrib https://www.opengl.org/sdk/docs/man/xhtml/glPushClientAttrib.xml +glPopMatrix https://www.opengl.org/sdk/docs/man/xhtml/glPushMatrix.xml +glPopName https://www.opengl.org/sdk/docs/man/xhtml/glPushName.xml +glPresentFrameDualFillNV https://www.opengl.org/registry/specs/NV/present_video.txt +glPresentFrameKeyedNV https://www.opengl.org/registry/specs/NV/present_video.txt +glPrimitiveRestartIndex https://www.opengl.org/sdk/docs/man3/xhtml/glPrimitiveRestartIndex.xml +glPrimitiveRestartIndex https://www.opengl.org/sdk/docs/man4/html/glPrimitiveRestartIndex.xhtml +glPrimitiveRestartIndexNV https://www.opengl.org/registry/specs/NV/primitive_restart.txt +glPrimitiveRestartNV https://www.opengl.org/registry/specs/NV/primitive_restart.txt +glPrioritizeTextures https://www.opengl.org/sdk/docs/man/xhtml/glPrioritizeTextures.xml +glPrioritizeTexturesEXT https://www.opengl.org/registry/specs/EXT/texture_object.txt +glPrioritizeTexturesxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glProgramBinary https://www.opengl.org/registry/specs/ARB/get_program_binary.txt +glProgramBinary https://www.opengl.org/sdk/docs/man4/html/glProgramBinary.xhtml +glProgramBufferParametersIivNV https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt +glProgramBufferParametersIuivNV https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt +glProgramBufferParametersfvNV https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt +glProgramEnvParameter4dARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramEnvParameter4dARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramEnvParameter4dvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramEnvParameter4dvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramEnvParameter4fARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramEnvParameter4fARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramEnvParameter4fvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramEnvParameter4fvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramEnvParameterI4iNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramEnvParameterI4ivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramEnvParameterI4uiNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramEnvParameterI4uivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramEnvParametersI4ivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramEnvParametersI4uivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramLocalParameter4dARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramLocalParameter4dARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramLocalParameter4dARB https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramLocalParameter4dvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramLocalParameter4dvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramLocalParameter4dvARB https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramLocalParameter4fARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramLocalParameter4fARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramLocalParameter4fARB https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramLocalParameter4fvARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramLocalParameter4fvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramLocalParameter4fvARB https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramLocalParameterI4iNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramLocalParameterI4ivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramLocalParameterI4uiNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramLocalParameterI4uivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramLocalParametersI4ivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramLocalParametersI4uivNV https://www.opengl.org/registry/specs/NV/gpu_program4.txt +glProgramNamedParameter4dNV https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramNamedParameter4dvNV https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramNamedParameter4fNV https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramNamedParameter4fvNV https://www.opengl.org/registry/specs/NV/fragment_program.txt +glProgramParameter4dNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glProgramParameter4dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glProgramParameter4fNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glProgramParameter4fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glProgramParameteri https://www.opengl.org/registry/specs/ARB/get_program_binary.txt +glProgramParameteri https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramParameteri https://www.opengl.org/sdk/docs/man4/html/glProgramParameter.xhtml +glProgramParameteriARB https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt +glProgramParameteriEXT https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt +glProgramParameters4dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glProgramParameters4fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glProgramStringARB https://www.opengl.org/registry/specs/ARB/fragment_program.txt +glProgramStringARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glProgramUniform1d https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1dEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform1dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform1f https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1f https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform1fEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform1fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform1fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform1i https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1i https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform1i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform1i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform1iEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform1iv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1iv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform1ivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform1ui https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1ui https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform1ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform1ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform1uiEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform1uiv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform1uiv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform1uivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform2d https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2dEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform2dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform2f https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2f https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform2fEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform2fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform2fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform2i https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2i https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform2i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform2i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform2iEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform2iv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2iv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform2ivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform2ui https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2ui https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform2ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform2ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform2uiEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform2uiv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform2uiv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform2uivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform3d https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3dEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform3dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform3f https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3f https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform3fEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform3fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform3fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform3i https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3i https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform3i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform3i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform3iEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform3iv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3iv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform3ivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform3ui https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3ui https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform3ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform3ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform3uiEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform3uiv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform3uiv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform3uivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform4d https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4dEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform4dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniform4f https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4f https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform4fEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform4fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform4fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform4i https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4i https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform4i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform4i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform4iEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform4iv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4iv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform4ivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform4ui https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4ui https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform4ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform4ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glProgramUniform4uiEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniform4uiv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniform4uiv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniform4uivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix2dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix2dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix2fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix2fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix2fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix2x3dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix2x3dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix2x3fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix2x3fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix2x3fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix2x4dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix2x4dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix2x4fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix2x4fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix2x4fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix3dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix3dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix3fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix3fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix3fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix3x2dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix3x2dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix3x2fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix3x2fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix3x2fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix3x4dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix3x4dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix3x4fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix3x4fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix3x4fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix4dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix4dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix4fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix4fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix4fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix4x2dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix4x2dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix4x2fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix4x2fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix4x2fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformMatrix4x3dv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix4x3dvEXT https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glProgramUniformMatrix4x3fv https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glProgramUniformMatrix4x3fv https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml +glProgramUniformMatrix4x3fvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glProgramUniformui64NV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glProgramUniformui64vNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glProgramVertexLimitNV https://www.opengl.org/registry/specs/NV/geometry_program4.txt +glProvokingVertex https://www.opengl.org/registry/specs/ARB/provoking_vertex.txt +glProvokingVertex https://www.opengl.org/sdk/docs/man3/xhtml/glProvokingVertex.xml +glProvokingVertex https://www.opengl.org/sdk/docs/man4/html/glProvokingVertex.xhtml +glProvokingVertexEXT https://www.opengl.org/registry/specs/EXT/provoking_vertex.txt +glPushAttrib https://www.opengl.org/sdk/docs/man/xhtml/glPushAttrib.xml +glPushClientAttrib https://www.opengl.org/sdk/docs/man/xhtml/glPushClientAttrib.xml +glPushClientAttribDefaultEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glPushMatrix https://www.opengl.org/sdk/docs/man/xhtml/glPushMatrix.xml +glPushName https://www.opengl.org/sdk/docs/man/xhtml/glPushName.xml +glQueryCounter https://www.opengl.org/registry/specs/ARB/timer_query.txt +glQueryCounter https://www.opengl.org/sdk/docs/man3/xhtml/glQueryCounter.xml +glQueryCounter https://www.opengl.org/sdk/docs/man4/html/glQueryCounter.xhtml +glQueryMatrixxOES https://www.opengl.org/registry/specs/OES/OES_query_matrix.txt +glQueryMaxSwapBarriersSGIX https://www.opengl.org/registry/specs/SGIX/swap_barrier.txt +glRasterPos2d https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos2dv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos2f https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos2fv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos2i https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos2iv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos2s https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos2sv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3d https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3dv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3f https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3fv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3i https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3iv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3s https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos3sv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4d https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4dv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4f https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4fv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4i https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4iv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4s https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glRasterPos4sv https://www.opengl.org/sdk/docs/man/xhtml/glRasterPos.xml +glReadBuffer https://www.opengl.org/sdk/docs/man/xhtml/glReadBuffer.xml +glReadBuffer https://www.opengl.org/sdk/docs/man3/xhtml/glReadBuffer.xml +glReadBuffer https://www.opengl.org/sdk/docs/man4/html/glReadBuffer.xhtml +glReadInstrumentsSGIX https://www.opengl.org/registry/specs/SGIX/instruments.txt +glReadPixels https://www.opengl.org/sdk/docs/man/xhtml/glReadPixels.xml +glReadPixels https://www.opengl.org/sdk/docs/man3/xhtml/glReadPixels.xml +glReadPixels https://www.opengl.org/sdk/docs/man4/html/glReadPixels.xhtml +glReadnPixelsARB https://www.opengl.org/registry/specs/ARB/robustness.txt +glRectd https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRectdv https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRectf https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRectfv https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRecti https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRectiv https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRects https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRectsv https://www.opengl.org/sdk/docs/man/xhtml/glRect.xml +glRectxOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glRectxvOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glReferencePlaneSGIX https://www.opengl.org/registry/specs/SGIX/reference_plane.txt +glReleaseShaderCompiler https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt +glReleaseShaderCompiler https://www.opengl.org/sdk/docs/man4/html/glReleaseShaderCompiler.xhtml +glRenderMode https://www.opengl.org/sdk/docs/man/xhtml/glRenderMode.xml +glRenderbufferStorage https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glRenderbufferStorage https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorage.xml +glRenderbufferStorage https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorage.xhtml +glRenderbufferStorageEXT https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt +glRenderbufferStorageMultisample https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt +glRenderbufferStorageMultisample https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorageMultisample.xml +glRenderbufferStorageMultisample https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorageMultisample.xhtml +glRenderbufferStorageMultisampleCoverageNV https://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt +glRenderbufferStorageMultisampleEXT https://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt +glReplacementCodePointerSUN https://www.opengl.org/registry/specs/SUN/triangle_list.txt +glReplacementCodeubSUN https://www.opengl.org/registry/specs/SUN/triangle_list.txt +glReplacementCodeubvSUN https://www.opengl.org/registry/specs/SUN/triangle_list.txt +glReplacementCodeuiSUN https://www.opengl.org/registry/specs/SUN/triangle_list.txt +glReplacementCodeuivSUN https://www.opengl.org/registry/specs/SUN/triangle_list.txt +glReplacementCodeusSUN https://www.opengl.org/registry/specs/SUN/triangle_list.txt +glReplacementCodeusvSUN https://www.opengl.org/registry/specs/SUN/triangle_list.txt +glRequestResidentProgramsNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glResetHistogram https://www.opengl.org/sdk/docs/man/xhtml/glResetHistogram.xml +glResetHistogramEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glResetMinmax https://www.opengl.org/sdk/docs/man/xhtml/glResetMinmax.xml +glResetMinmaxEXT https://www.opengl.org/registry/specs/EXT/histogram.txt +glResizeBuffersMESA https://www.opengl.org/registry/specs/MESA/resize_buffers.txt +glResumeTransformFeedback https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt +glResumeTransformFeedback https://www.opengl.org/sdk/docs/man4/html/glResumeTransformFeedback.xhtml +glResumeTransformFeedbackNV https://www.opengl.org/registry/specs/NV/transform_feedback2.txt +glRotated https://www.opengl.org/sdk/docs/man/xhtml/glRotate.xml +glRotatef https://www.opengl.org/sdk/docs/man/xhtml/glRotate.xml +glRotatexOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glSampleCoverage https://www.opengl.org/sdk/docs/man/xhtml/glSampleCoverage.xml +glSampleCoverage https://www.opengl.org/sdk/docs/man3/xhtml/glSampleCoverage.xml +glSampleCoverage https://www.opengl.org/sdk/docs/man4/html/glSampleCoverage.xhtml +glSampleCoverageARB https://www.opengl.org/registry/specs/ARB/multisample.txt +glSampleCoverageOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glSampleMaskEXT https://www.opengl.org/registry/specs/EXT/wgl_multisample.txt +glSampleMaskIndexedNV https://www.opengl.org/registry/specs/NV/explicit_multisample.txt +glSampleMaskSGIS https://www.opengl.org/registry/specs/SGIS/multisample.txt +glSampleMaski https://www.opengl.org/registry/specs/ARB/texture_multisample.txt +glSampleMaski https://www.opengl.org/sdk/docs/man3/xhtml/glSampleMaski.xml +glSampleMaski https://www.opengl.org/sdk/docs/man4/html/glSampleMaski.xhtml +glSamplePatternEXT https://www.opengl.org/registry/specs/EXT/wgl_multisample.txt +glSamplePatternSGIS https://www.opengl.org/registry/specs/SGIS/multisample.txt +glSamplerParameterIiv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glSamplerParameterIuiv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glSamplerParameterf https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glSamplerParameterf https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml +glSamplerParameterf https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml +glSamplerParameterfv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glSamplerParameterfv https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml +glSamplerParameterfv https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml +glSamplerParameteri https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glSamplerParameteri https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml +glSamplerParameteri https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml +glSamplerParameteriv https://www.opengl.org/registry/specs/ARB/sampler_objects.txt +glSamplerParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml +glSamplerParameteriv https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml +glScaled https://www.opengl.org/sdk/docs/man/xhtml/glScale.xml +glScalef https://www.opengl.org/sdk/docs/man/xhtml/glScale.xml +glScalexOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glScissor https://www.opengl.org/sdk/docs/man/xhtml/glScissor.xml +glScissor https://www.opengl.org/sdk/docs/man3/xhtml/glScissor.xml +glScissor https://www.opengl.org/sdk/docs/man4/html/glScissor.xhtml +glScissorArrayv https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glScissorArrayv https://www.opengl.org/sdk/docs/man4/html/glScissorArray.xhtml +glScissorIndexed https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glScissorIndexed https://www.opengl.org/sdk/docs/man4/html/glScissorIndexed.xhtml +glScissorIndexedv https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glScissorIndexedv https://www.opengl.org/sdk/docs/man4/html/glScissorIndexed.xhtml +glSecondaryColor3b https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3bv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3d https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3dv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3f https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3fv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glSecondaryColor3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glSecondaryColor3i https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3iv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3s https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3sv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3ub https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3ubv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3ui https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3uiv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3us https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColor3usv https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColor.xml +glSecondaryColorFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glSecondaryColorP3ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glSecondaryColorP3uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glSecondaryColorPointer https://www.opengl.org/sdk/docs/man/xhtml/glSecondaryColorPointer.xml +glSecondaryColorPointerEXT https://www.opengl.org/registry/specs/EXT/secondary_color.txt +glSelectBuffer https://www.opengl.org/sdk/docs/man/xhtml/glSelectBuffer.xml +glSelectPerfMonitorCountersAMD https://www.opengl.org/registry/specs/AMD/performance_monitor.txt +glSeparableFilter2D https://www.opengl.org/sdk/docs/man/xhtml/glSeparableFilter2D.xml +glSeparableFilter2DEXT https://www.opengl.org/registry/specs/EXT/convolution.txt +glSetFenceAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glSetFenceNV https://www.opengl.org/registry/specs/NV/fence.txt +glSetMultisamplefvAMD https://www.opengl.org/registry/specs/AMD/sample_positions.txt +glShadeModel https://www.opengl.org/sdk/docs/man/xhtml/glShadeModel.xml +glShaderBinary https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt +glShaderBinary https://www.opengl.org/sdk/docs/man4/html/glShaderBinary.xhtml +glShaderSource https://www.opengl.org/sdk/docs/man/xhtml/glShaderSource.xml +glShaderSource https://www.opengl.org/sdk/docs/man3/xhtml/glShaderSource.xml +glShaderSource https://www.opengl.org/sdk/docs/man4/html/glShaderSource.xhtml +glShaderSourceARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glSharpenTexFuncSGIS https://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt +glSpriteParameterfSGIX https://www.opengl.org/registry/specs/SGIX/sprite.txt +glSpriteParameterfvSGIX https://www.opengl.org/registry/specs/SGIX/sprite.txt +glSpriteParameteriSGIX https://www.opengl.org/registry/specs/SGIX/sprite.txt +glSpriteParameterivSGIX https://www.opengl.org/registry/specs/SGIX/sprite.txt +glStartInstrumentsSGIX https://www.opengl.org/registry/specs/SGIX/instruments.txt +glStencilClearTagEXT https://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt +glStencilFillPathInstancedNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glStencilFillPathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glStencilFunc https://www.opengl.org/sdk/docs/man/xhtml/glStencilFunc.xml +glStencilFunc https://www.opengl.org/sdk/docs/man3/xhtml/glStencilFunc.xml +glStencilFunc https://www.opengl.org/sdk/docs/man4/html/glStencilFunc.xhtml +glStencilFuncSeparate https://www.opengl.org/sdk/docs/man/xhtml/glStencilFuncSeparate.xml +glStencilFuncSeparate https://www.opengl.org/sdk/docs/man3/xhtml/glStencilFuncSeparate.xml +glStencilFuncSeparate https://www.opengl.org/sdk/docs/man4/html/glStencilFuncSeparate.xhtml +glStencilMask https://www.opengl.org/sdk/docs/man/xhtml/glStencilMask.xml +glStencilMask https://www.opengl.org/sdk/docs/man3/xhtml/glStencilMask.xml +glStencilMask https://www.opengl.org/sdk/docs/man4/html/glStencilMask.xhtml +glStencilMaskSeparate https://www.opengl.org/sdk/docs/man/xhtml/glStencilMaskSeparate.xml +glStencilMaskSeparate https://www.opengl.org/sdk/docs/man3/xhtml/glStencilMaskSeparate.xml +glStencilMaskSeparate https://www.opengl.org/sdk/docs/man4/html/glStencilMaskSeparate.xhtml +glStencilOp https://www.opengl.org/sdk/docs/man/xhtml/glStencilOp.xml +glStencilOp https://www.opengl.org/sdk/docs/man3/xhtml/glStencilOp.xml +glStencilOp https://www.opengl.org/sdk/docs/man4/html/glStencilOp.xhtml +glStencilOpSeparate https://www.opengl.org/sdk/docs/man/xhtml/glStencilOpSeparate.xml +glStencilOpSeparate https://www.opengl.org/sdk/docs/man3/xhtml/glStencilOpSeparate.xml +glStencilOpSeparate https://www.opengl.org/sdk/docs/man4/html/glStencilOpSeparate.xhtml +glStencilStrokePathInstancedNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glStencilStrokePathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glStopInstrumentsSGIX https://www.opengl.org/registry/specs/SGIX/instruments.txt +glStringMarkerGREMEDY https://www.opengl.org/registry/specs/GREMEDY/string_marker.txt +glTagSampleBufferSGIX https://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt +glTangentPointerEXT https://www.opengl.org/registry/specs/EXT/coordinate_frame.txt +glTbufferMask3DFX https://www.opengl.org/registry/specs/3DFX/tbuffer.txt +glTessellationFactorAMD https://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt +glTessellationModeAMD https://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt +glTestFenceAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glTestFenceNV https://www.opengl.org/registry/specs/NV/fence.txt +glTestObjectAPPLE https://www.opengl.org/registry/specs/APPLE/fence.txt +glTexBuffer https://www.opengl.org/sdk/docs/man3/xhtml/glTexBuffer.xml +glTexBuffer https://www.opengl.org/sdk/docs/man4/html/glTexBuffer.xhtml +glTexBufferARB https://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt +glTexBufferEXT https://www.opengl.org/registry/specs/EXT/texture_buffer_object.txt +glTexCoord1d https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord1dv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord1f https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord1fv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord1hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord1hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord1i https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord1iv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord1s https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord1sv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2d https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2dv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2f https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2fColor4ubVertex3fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glTexCoord2fColor4ubVertex3fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glTexCoord2fVertex3fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glTexCoord2fVertex3fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glTexCoord2fv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord2hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord2i https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2iv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2s https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord2sv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3d https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3dv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3f https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3fv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord3i https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3iv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3s https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord3sv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4d https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4dv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4f https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4fVertex4fSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glTexCoord4fVertex4fvSUN https://www.opengl.org/registry/specs/SUN/vertex.txt +glTexCoord4fv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord4hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glTexCoord4i https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4iv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4s https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoord4sv https://www.opengl.org/sdk/docs/man/xhtml/glTexCoord.xml +glTexCoordFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glTexCoordP1ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordP1uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordP2ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordP2uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordP3ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordP3uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordP4ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordP4uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glTexCoordPointer https://www.opengl.org/sdk/docs/man/xhtml/glTexCoordPointer.xml +glTexCoordPointerEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glTexCoordPointervINTEL https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt +glTexEnvf https://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml +glTexEnvfv https://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml +glTexEnvi https://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml +glTexEnviv https://www.opengl.org/sdk/docs/man/xhtml/glTexEnv.xml +glTexFilterFuncSGIS https://www.opengl.org/registry/specs/SGIS/texture_filter4.txt +glTexGend https://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml +glTexGendv https://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml +glTexGenf https://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml +glTexGenfv https://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml +glTexGeni https://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml +glTexGeniv https://www.opengl.org/sdk/docs/man/xhtml/glTexGen.xml +glTexImage1D https://www.opengl.org/sdk/docs/man/xhtml/glTexImage1D.xml +glTexImage1D https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage1D.xml +glTexImage1D https://www.opengl.org/sdk/docs/man4/html/glTexImage1D.xhtml +glTexImage2D https://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml +glTexImage2D https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2D.xml +glTexImage2D https://www.opengl.org/sdk/docs/man4/html/glTexImage2D.xhtml +glTexImage2DMultisample https://www.opengl.org/registry/specs/ARB/texture_multisample.txt +glTexImage2DMultisample https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2DMultisample.xml +glTexImage2DMultisample https://www.opengl.org/sdk/docs/man4/html/glTexImage2DMultisample.xhtml +glTexImage2DMultisampleCoverageNV https://www.opengl.org/registry/specs/NV/texture_multisample.txt +glTexImage3D https://www.opengl.org/sdk/docs/man/xhtml/glTexImage3D.xml +glTexImage3D https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3D.xml +glTexImage3D https://www.opengl.org/sdk/docs/man4/html/glTexImage3D.xhtml +glTexImage3DEXT https://www.opengl.org/registry/specs/EXT/texture3D.txt +glTexImage3DMultisample https://www.opengl.org/registry/specs/ARB/texture_multisample.txt +glTexImage3DMultisample https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3DMultisample.xml +glTexImage3DMultisample https://www.opengl.org/sdk/docs/man4/html/glTexImage3DMultisample.xhtml +glTexImage3DMultisampleCoverageNV https://www.opengl.org/registry/specs/NV/texture_multisample.txt +glTexImage4DSGIS https://www.opengl.org/registry/specs/SGIS/texture4D.txt +glTexParameterIiv https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml +glTexParameterIiv https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml +glTexParameterIivEXT https://www.opengl.org/registry/specs/EXT/texture_integer.txt +glTexParameterIuiv https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml +glTexParameterIuiv https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml +glTexParameterIuivEXT https://www.opengl.org/registry/specs/EXT/texture_integer.txt +glTexParameterf https://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml +glTexParameterf https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml +glTexParameterf https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml +glTexParameterfv https://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml +glTexParameterfv https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml +glTexParameterfv https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml +glTexParameteri https://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml +glTexParameteri https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml +glTexParameteri https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml +glTexParameteriv https://www.opengl.org/sdk/docs/man/xhtml/glTexParameter.xml +glTexParameteriv https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml +glTexParameteriv https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml +glTexRenderbufferNV https://www.opengl.org/registry/specs/NV/explicit_multisample.txt +glTexStorage1D https://www.opengl.org/registry/specs/ARB/texture_storage.txt +glTexStorage2D https://www.opengl.org/registry/specs/ARB/texture_storage.txt +glTexStorage3D https://www.opengl.org/registry/specs/ARB/texture_storage.txt +glTexSubImage1D https://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage1D.xml +glTexSubImage1D https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage1D.xml +glTexSubImage1D https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml +glTexSubImage1DEXT https://www.opengl.org/registry/specs/EXT/subtexture.txt +glTexSubImage2D https://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage2D.xml +glTexSubImage2D https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage2D.xml +glTexSubImage2D https://www.opengl.org/sdk/docs/man4/html/glTexSubImage2D.xhtml +glTexSubImage2DEXT https://www.opengl.org/registry/specs/EXT/subtexture.txt +glTexSubImage3D https://www.opengl.org/sdk/docs/man/xhtml/glTexSubImage3D.xml +glTexSubImage3D https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage3D.xml +glTexSubImage3D https://www.opengl.org/sdk/docs/man4/html/glTexSubImage3D.xhtml +glTexSubImage3DEXT https://www.opengl.org/registry/specs/EXT/subtexture.txt +glTexSubImage4DSGIS https://www.opengl.org/registry/specs/SGIS/texture4D.txt +glTextureBarrierNV https://www.opengl.org/registry/specs/NV/texture_barrier.txt +glTextureBufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureColorMaskSGIS https://www.opengl.org/registry/specs/SGIS/texture_color_mask.txt +glTextureFogSGIX https://www.opengl.org/registry/specs/SGIX/fog_texture.txt +glTextureImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureImage2DMultisampleCoverageNV https://www.opengl.org/registry/specs/NV/texture_multisample.txt +glTextureImage2DMultisampleNV https://www.opengl.org/registry/specs/NV/texture_multisample.txt +glTextureImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureImage3DMultisampleCoverageNV https://www.opengl.org/registry/specs/NV/texture_multisample.txt +glTextureImage3DMultisampleNV https://www.opengl.org/registry/specs/NV/texture_multisample.txt +glTextureLightEXT https://www.opengl.org/registry/specs/EXT/light_texture.txt +glTextureMaterialEXT https://www.opengl.org/registry/specs/EXT/light_texture.txt +glTextureNormalEXT https://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt +glTextureParameterIivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureParameterIuivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureParameterfEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureParameterfvEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureParameteriEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureParameterivEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureRangeAPPLE https://www.opengl.org/registry/specs/APPLE/texture_range.txt +glTextureRenderbufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureStorage1DEXT https://www.opengl.org/registry/specs/ARB/texture_storage.txt +glTextureStorage2DEXT https://www.opengl.org/registry/specs/ARB/texture_storage.txt +glTextureStorage3DEXT https://www.opengl.org/registry/specs/ARB/texture_storage.txt +glTextureSubImage1DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureSubImage2DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTextureSubImage3DEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glTrackMatrixNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glTransformFeedbackAttribsNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glTransformFeedbackVaryings https://www.opengl.org/sdk/docs/man3/xhtml/glTransformFeedbackVaryings.xml +glTransformFeedbackVaryings https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackVaryings.xhtml +glTransformFeedbackVaryingsEXT https://www.opengl.org/registry/specs/EXT/transform_feedback.txt +glTransformFeedbackVaryingsNV https://www.opengl.org/registry/specs/NV/transform_feedback.txt +glTransformPathNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glTranslated https://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml +glTranslatef https://www.opengl.org/sdk/docs/man/xhtml/glTranslate.xml +glTranslatexOES https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt +glUniform1d https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform1dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform1f https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform1f https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform1f https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform1fARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform1fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform1fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform1fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform1fvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform1i https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform1i https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform1i https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform1i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform1i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform1iARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform1iv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform1iv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform1iv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform1ivARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform1ui https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform1ui https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform1ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform1ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform1uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniform1uiv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform1uiv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform1uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniform2d https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform2dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform2f https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform2f https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform2f https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform2fARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform2fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform2fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform2fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform2fvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform2i https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform2i https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform2i https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform2i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform2i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform2iARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform2iv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform2iv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform2iv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform2ivARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform2ui https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform2ui https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform2ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform2ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform2uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniform2uiv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform2uiv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform2uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniform3d https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform3dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform3f https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform3f https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform3f https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform3fARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform3fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform3fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform3fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform3fvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform3i https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform3i https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform3i https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform3i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform3i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform3iARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform3iv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform3iv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform3iv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform3ivARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform3ui https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform3ui https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform3ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform3ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform3uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniform3uiv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform3uiv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform3uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniform4d https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform4dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniform4f https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform4f https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform4f https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform4fARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform4fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform4fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform4fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform4fvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform4i https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform4i https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform4i https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform4i64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform4i64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform4iARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform4iv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniform4iv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform4iv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform4ivARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniform4ui https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform4ui https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform4ui64NV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform4ui64vNV https://www.opengl.org/registry/specs/NV/gpu_shader5.txt +glUniform4uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniform4uiv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniform4uiv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniform4uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glUniformBlockBinding https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt +glUniformBlockBinding https://www.opengl.org/sdk/docs/man3/xhtml/glUniformBlockBinding.xml +glUniformBlockBinding https://www.opengl.org/sdk/docs/man4/html/glUniformBlockBinding.xhtml +glUniformBufferEXT https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt +glUniformMatrix2dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix2fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix2fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix2fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix2fvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniformMatrix2x3dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix2x3fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix2x3fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix2x3fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix2x4dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix2x4fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix2x4fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix2x4fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix3dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix3fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix3fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix3fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix3fvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniformMatrix3x2dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix3x2fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix3x2fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix3x2fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix3x4dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix3x4fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix3x4fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix3x4fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix4dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix4fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix4fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix4fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix4fvARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUniformMatrix4x2dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix4x2fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix4x2fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix4x2fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformMatrix4x3dv https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt +glUniformMatrix4x3fv https://www.opengl.org/sdk/docs/man/xhtml/glUniform.xml +glUniformMatrix4x3fv https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml +glUniformMatrix4x3fv https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml +glUniformSubroutinesuiv https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt +glUniformSubroutinesuiv https://www.opengl.org/sdk/docs/man4/html/glUniformSubroutines.xhtml +glUniformui64NV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glUniformui64vNV https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt +glUnmapBuffer https://www.opengl.org/sdk/docs/man/xhtml/glMapBuffer.xml +glUnmapBuffer https://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml +glUnmapBuffer https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml +glUnmapBufferARB https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt +glUnmapNamedBufferEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glUnmapObjectBufferATI https://www.opengl.org/registry/specs/ATI/map_object_buffer.txt +glUpdateObjectBufferATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glUseProgram https://www.opengl.org/sdk/docs/man/xhtml/glUseProgram.xml +glUseProgram https://www.opengl.org/sdk/docs/man3/xhtml/glUseProgram.xml +glUseProgram https://www.opengl.org/sdk/docs/man4/html/glUseProgram.xhtml +glUseProgramObjectARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glUseProgramStages https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glUseProgramStages https://www.opengl.org/sdk/docs/man4/html/glUseProgramStages.xhtml +glUseShaderProgramEXT https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt +glValidateProgram https://www.opengl.org/sdk/docs/man/xhtml/glValidateProgram.xml +glValidateProgram https://www.opengl.org/sdk/docs/man3/xhtml/glValidateProgram.xml +glValidateProgram https://www.opengl.org/sdk/docs/man4/html/glValidateProgram.xhtml +glValidateProgramARB https://www.opengl.org/registry/specs/ARB/shader_objects.txt +glValidateProgramPipeline https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt +glValidateProgramPipeline https://www.opengl.org/sdk/docs/man4/html/glValidateProgramPipeline.xhtml +glVariantArrayObjectATI https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt +glVertex2d https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex2dv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex2f https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex2fv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex2hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertex2hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertex2i https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex2iv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex2s https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex2sv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3d https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3dv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3f https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3fv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertex3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertex3i https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3iv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3s https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex3sv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4d https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4dv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4f https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4fv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertex4hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertex4i https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4iv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4s https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertex4sv https://www.opengl.org/sdk/docs/man/xhtml/glVertex.xml +glVertexArrayColorOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayEdgeFlagOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayFogCoordOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayIndexOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayMultiTexCoordOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayNormalOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayParameteriAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt +glVertexArrayRangeAPPLE https://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt +glVertexArrayRangeNV https://www.opengl.org/registry/specs/NV/vertex_array_range.txt +glVertexArraySecondaryColorOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayTexCoordOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayVertexAttribIOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayVertexAttribLOffsetEXT https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexArrayVertexAttribLOffsetEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexArrayVertexAttribOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexArrayVertexOffsetEXT https://www.opengl.org/registry/specs/EXT/direct_state_access.txt +glVertexAttrib1d https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib1d https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib1d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib1dARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib1dARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib1dNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib1dv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib1dv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib1dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib1dvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib1dvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib1dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib1f https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib1f https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib1f https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib1fARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib1fARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib1fNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib1fv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib1fv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib1fv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib1fvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib1fvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib1fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib1hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib1hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib1s https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib1s https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib1s https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib1sARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib1sARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib1sNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib1sv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib1sv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib1sv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib1svARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib1svARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib1svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib2d https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib2d https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib2d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib2dARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib2dARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib2dNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib2dv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib2dv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib2dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib2dvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib2dvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib2dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib2f https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib2f https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib2f https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib2fARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib2fARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib2fNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib2fv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib2fv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib2fv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib2fvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib2fvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib2fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib2hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib2hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib2s https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib2s https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib2s https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib2sARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib2sARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib2sNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib2sv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib2sv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib2sv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib2svARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib2svARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib2svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib3d https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib3d https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib3d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib3dARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib3dARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib3dNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib3dv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib3dv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib3dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib3dvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib3dvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib3dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib3f https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib3f https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib3f https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib3fARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib3fARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib3fNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib3fv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib3fv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib3fv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib3fvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib3fvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib3fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib3hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib3s https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib3s https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib3s https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib3sARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib3sARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib3sNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib3sv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib3sv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib3sv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib3svARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib3svARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib3svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4Nbv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4Nbv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4Nbv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4NbvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4NbvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4Niv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4Niv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4Niv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4NivARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4NivARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4Nsv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4Nsv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4Nsv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4NsvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4NsvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4Nub https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4Nub https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4Nub https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4NubARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4NubARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4Nubv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4Nubv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4Nubv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4NubvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4NubvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4Nuiv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4Nuiv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4Nuiv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4NuivARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4NuivARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4Nusv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4Nusv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4Nusv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4NusvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4NusvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4bv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4bv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4bv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4bvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4bvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4d https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4d https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4dARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4dARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4dNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4dv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4dv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4dvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4dvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4f https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4f https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4f https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4fARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4fARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4fNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4fv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4fv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4fv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4fvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4fvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4hNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib4hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttrib4iv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4iv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4iv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4ivARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4ivARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4s https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4s https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4s https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4sARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4sARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4sNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4sv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4sv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4sv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4svARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4svARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4ubNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4ubv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4ubv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4ubv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4ubvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4ubvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4ubvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttrib4uiv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4uiv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4uiv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4uivARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4uivARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttrib4usv https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttrib.xml +glVertexAttrib4usv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttrib4usv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttrib4usvARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttrib4usvARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttribArrayObjectATI https://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt +glVertexAttribDivisor https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribDivisor.xml +glVertexAttribDivisor https://www.opengl.org/sdk/docs/man4/html/glVertexAttribDivisor.xhtml +glVertexAttribDivisorARB https://www.opengl.org/registry/specs/ARB/instanced_arrays.txt +glVertexAttribFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glVertexAttribI1i https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI1i https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI1iEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI1iEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI1iv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI1iv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI1ivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI1ivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI1ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI1ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI1uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI1uiEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI1uiv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI1uiv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI1uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI1uivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI2i https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI2i https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI2iEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI2iEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI2iv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI2iv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI2ivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI2ivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI2ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI2ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI2uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI2uiEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI2uiv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI2uiv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI2uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI2uivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI3i https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI3i https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI3iEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI3iEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI3iv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI3iv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI3ivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI3ivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI3ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI3ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI3uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI3uiEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI3uiv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI3uiv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI3uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI3uivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4bv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4bv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4bvEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4bvEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4i https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4i https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4iEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4iEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4iv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4iv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4ivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4ivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4sv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4sv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4svEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4svEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4ubv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4ubv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4ubvEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4ubvEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4uiEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4uiEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4uiv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4uiv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4uivEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4uivEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribI4usv https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribI4usv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribI4usvEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribI4usvEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribIFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glVertexAttribIPointer https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml +glVertexAttribIPointer https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml +glVertexAttribIPointerEXT https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt +glVertexAttribIPointerEXT https://www.opengl.org/registry/specs/NV/vertex_program4.txt +glVertexAttribL1d https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL1d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL1dEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL1dv https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL1dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL1dvEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL1i64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL1i64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL1ui64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL1ui64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL2d https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL2d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL2dEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL2dv https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL2dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL2dvEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL2i64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL2i64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL2ui64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL2ui64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL3d https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL3d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL3dEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL3dv https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL3dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL3dvEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL3i64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL3i64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL3ui64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL3ui64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL4d https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL4d https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL4dEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL4dv https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribL4dv https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribL4dvEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribL4i64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL4i64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL4ui64NV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribL4ui64vNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribLFormatNV https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt +glVertexAttribLPointer https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt +glVertexAttribLPointer https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml +glVertexAttribLPointerEXT https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt +glVertexAttribP1ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribP1ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribP1ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribP1uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribP2ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribP2ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribP2ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribP2uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribP3ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribP3ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribP3ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribP3uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribP4ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribP4ui https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml +glVertexAttribP4ui https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml +glVertexAttribP4uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexAttribPointer https://www.opengl.org/sdk/docs/man/xhtml/glVertexAttribPointer.xml +glVertexAttribPointer https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml +glVertexAttribPointer https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml +glVertexAttribPointerARB https://www.opengl.org/registry/specs/ARB/vertex_program.txt +glVertexAttribPointerARB https://www.opengl.org/registry/specs/ARB/vertex_shader.txt +glVertexAttribPointerNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs1dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs1fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs1hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttribs1svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs2dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs2fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs2hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttribs2svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs3dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs3fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs3hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttribs3svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs4dvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs4fvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs4hvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexAttribs4svNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexAttribs4ubvNV https://www.opengl.org/registry/specs/NV/vertex_program.txt +glVertexBlendARB https://www.opengl.org/registry/specs/ARB/vertex_blend.txt +glVertexFormatNV https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt +glVertexP2ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexP2uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexP3ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexP3uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexP4ui https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexP4uiv https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt +glVertexPointer https://www.opengl.org/sdk/docs/man/xhtml/glVertexPointer.xml +glVertexPointerEXT https://www.opengl.org/registry/specs/EXT/vertex_array.txt +glVertexPointervINTEL https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt +glVertexWeighthNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVertexWeighthvNV https://www.opengl.org/registry/specs/NV/half_float.txt +glVideoCaptureNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glViewport https://www.opengl.org/sdk/docs/man/xhtml/glViewport.xml +glViewport https://www.opengl.org/sdk/docs/man3/xhtml/glViewport.xml +glViewport https://www.opengl.org/sdk/docs/man4/html/glViewport.xhtml +glViewportArrayv https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glViewportArrayv https://www.opengl.org/sdk/docs/man4/html/glViewportArray.xhtml +glViewportIndexedf https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glViewportIndexedf https://www.opengl.org/sdk/docs/man4/html/glViewportIndexed.xhtml +glViewportIndexedfv https://www.opengl.org/registry/specs/ARB/viewport_array.txt +glViewportIndexedfv https://www.opengl.org/sdk/docs/man4/html/glViewportIndexed.xhtml +glWaitSync https://www.opengl.org/registry/specs/ARB/sync.txt +glWaitSync https://www.opengl.org/sdk/docs/man3/xhtml/glWaitSync.xml +glWaitSync https://www.opengl.org/sdk/docs/man4/html/glWaitSync.xhtml +glWeightPathsNV https://www.opengl.org/registry/specs/NV/path_rendering.txt +glWeightPointerARB https://www.opengl.org/registry/specs/ARB/vertex_blend.txt +glWindowPos2d https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2dARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2dMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos2dv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2dvARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2dvMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos2f https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2fARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2fMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos2fv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2fvARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2fvMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos2i https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2iARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2iMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos2iv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2ivARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2ivMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos2s https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2sARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2sMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos2sv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos2svARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos2svMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3d https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3dARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3dMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3dv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3dvARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3dvMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3f https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3fARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3fMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3fv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3fvARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3fvMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3i https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3iARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3iMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3iv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3ivARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3ivMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3s https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3sARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3sMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos3sv https://www.opengl.org/sdk/docs/man/xhtml/glWindowPos.xml +glWindowPos3svARB https://www.opengl.org/registry/specs/ARB/window_pos.txt +glWindowPos3svMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4dMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4dvMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4fMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4fvMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4iMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4ivMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4sMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glWindowPos4svMESA https://www.opengl.org/registry/specs/MESA/window_pos.txt +glXAssociateDMPbufferSGIX https://www.opengl.org/registry/specs/SGIX/dmbuffer.txt +glXBindChannelToWindowSGIX https://www.opengl.org/registry/specs/SGIX/video_resize.txt +glXBindHyperpipeSGIX https://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt +glXBindSwapBarrierNV https://www.opengl.org/registry/specs/NV/glx_swap_group.txt +glXBindVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glXBindVideoDeviceNV https://www.opengl.org/registry/specs/NV/present_video.txt +glXBlitContextFramebufferAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXChannelRectSGIX https://www.opengl.org/registry/specs/SGIX/video_resize.txt +glXChannelRectSyncSGIX https://www.opengl.org/registry/specs/SGIX/video_resize.txt +glXChooseFBConfig https://www.opengl.org/sdk/docs/man/xhtml/glXChooseFBConfig.xml +glXChooseVisual https://www.opengl.org/sdk/docs/man/xhtml/glXChooseVisual.xml +glXCopyContext https://www.opengl.org/sdk/docs/man/xhtml/glXCopyContext.xml +glXCopySubBufferMESA https://www.opengl.org/registry/specs/MESA/copy_sub_buffer.txt +glXCreateAssociatedContextAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXCreateAssociatedContextAttribsAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXCreateContext https://www.opengl.org/sdk/docs/man/xhtml/glXCreateContext.xml +glXCreateContextAttribsARB https://www.opengl.org/registry/specs/ARB/glx_create_context.txt +glXCreateContextWithConfigSGIX https://www.opengl.org/registry/specs/SGIX/fbconfig.txt +glXCreateGLXPbufferSGIX https://www.opengl.org/registry/specs/SGIX/pbuffer.txt +glXCreateGLXPixmap https://www.opengl.org/sdk/docs/man/xhtml/glXCreateGLXPixmap.xml +glXCreateGLXPixmapMESA https://www.opengl.org/registry/specs/MESA/pixmap_colormap.txt +glXCreateGLXPixmapWithConfigSGIX https://www.opengl.org/registry/specs/SGIX/fbconfig.txt +glXCreateGLXVideoSourceSGIX https://www.opengl.org/registry/specs/SGIX/video_source.txt +glXCreateNewContext https://www.opengl.org/sdk/docs/man/xhtml/glXCreateNewContext.xml +glXCreatePbuffer https://www.opengl.org/sdk/docs/man/xhtml/glXCreatePbuffer.xml +glXCreatePixmap https://www.opengl.org/sdk/docs/man/xhtml/glXCreatePixmap.xml +glXCreateWindow https://www.opengl.org/sdk/docs/man/xhtml/glXCreateWindow.xml +glXCushionSGI https://www.opengl.org/registry/specs/SGI/cushion.txt +glXDeleteAssociatedContextAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXDestroyContext https://www.opengl.org/sdk/docs/man/xhtml/glXDestroyContext.xml +glXDestroyGLXPbufferSGIX https://www.opengl.org/registry/specs/SGIX/pbuffer.txt +glXDestroyGLXPixmap https://www.opengl.org/sdk/docs/man/xhtml/glXDestroyGLXPixmap.xml +glXDestroyGLXVideoSourceSGIX https://www.opengl.org/registry/specs/SGIX/video_source.txt +glXDestroyHyperpipeConfigSGIX https://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt +glXDestroyPbuffer https://www.opengl.org/sdk/docs/man/xhtml/glXDestroyPbuffer.xml +glXDestroyPixmap https://www.opengl.org/sdk/docs/man/xhtml/glXDestroyPixmap.xml +glXDestroyWindow https://www.opengl.org/sdk/docs/man/xhtml/glXDestroyWindow.xml +glXEnumerateVideoCaptureDevicesNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glXFreeContextEXT https://www.opengl.org/registry/specs/EXT/import_context.txt +glXFreeContextEXT https://www.opengl.org/sdk/docs/man/xhtml/glXFreeContextEXT.xml +glXGetAGPOffsetMESA https://www.opengl.org/registry/specs/MESA/agp_offset.txt +glXGetClientString https://www.opengl.org/sdk/docs/man/xhtml/glXGetClientString.xml +glXGetConfig https://www.opengl.org/sdk/docs/man/xhtml/glXGetConfig.xml +glXGetContextGPUIDAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXGetContextIDEXT https://www.opengl.org/registry/specs/EXT/import_context.txt +glXGetContextIDEXT https://www.opengl.org/sdk/docs/man/xhtml/glXGetContextIDEXT.xml +glXGetCurrentAssociatedContextAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXGetCurrentContext https://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentContext.xml +glXGetCurrentDisplay https://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentDisplay.xml +glXGetCurrentDrawable https://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentDrawable.xml +glXGetCurrentReadDrawable https://www.opengl.org/sdk/docs/man/xhtml/glXGetCurrentReadDrawable.xml +glXGetCurrentReadDrawableSGI https://www.opengl.org/registry/specs/SGI/make_current_read.txt +glXGetFBConfigAttrib https://www.opengl.org/sdk/docs/man/xhtml/glXGetFBConfigAttrib.xml +glXGetFBConfigAttribSGIX https://www.opengl.org/registry/specs/SGIX/fbconfig.txt +glXGetFBConfigFromVisualSGIX https://www.opengl.org/registry/specs/SGIX/fbconfig.txt +glXGetFBConfigs https://www.opengl.org/sdk/docs/man/xhtml/glXGetFBConfigs.xml +glXGetGPUIDsAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXGetGPUInfoAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXGetMscRateOML https://www.opengl.org/registry/specs/OML/glx_sync_control.txt +glXGetProcAddress https://www.opengl.org/sdk/docs/man/xhtml/glXGetProcAddress.xml +glXGetSelectedEvent https://www.opengl.org/sdk/docs/man/xhtml/glXGetSelectedEvent.xml +glXGetSelectedEventSGIX https://www.opengl.org/registry/specs/SGIX/pbuffer.txt +glXGetSyncValuesOML https://www.opengl.org/registry/specs/OML/glx_sync_control.txt +glXGetTransparentIndexSUN https://www.opengl.org/registry/specs/SUN/get_transparent_index.txt +glXGetVideoSyncSGI https://www.opengl.org/registry/specs/SGI/video_sync.txt +glXGetVisualFromFBConfig https://www.opengl.org/sdk/docs/man/xhtml/glXGetVisualFromFBConfig.xml +glXHyperpipeAttribSGIX https://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt +glXHyperpipeConfigSGIX https://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt +glXImportContextEXT https://www.opengl.org/registry/specs/EXT/import_context.txt +glXImportContextEXT https://www.opengl.org/sdk/docs/man/xhtml/glXImportContextEXT.xml +glXIsDirect https://www.opengl.org/sdk/docs/man/xhtml/glXIsDirect.xml +glXJoinSwapGroupNV https://www.opengl.org/registry/specs/NV/glx_swap_group.txt +glXLockVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glXMakeAssociatedContextCurrentAMD https://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt +glXMakeContextCurrent https://www.opengl.org/sdk/docs/man/xhtml/glXMakeContextCurrent.xml +glXMakeCurrent https://www.opengl.org/sdk/docs/man/xhtml/glXMakeCurrent.xml +glXMakeCurrentReadSGI https://www.opengl.org/registry/specs/SGI/make_current_read.txt +glXQueryChannelDeltasSGIX https://www.opengl.org/registry/specs/SGIX/video_resize.txt +glXQueryChannelRectSGIX https://www.opengl.org/registry/specs/SGIX/video_resize.txt +glXQueryContext https://www.opengl.org/sdk/docs/man/xhtml/glXQueryContext.xml +glXQueryContextInfoEXT https://www.opengl.org/registry/specs/EXT/import_context.txt +glXQueryContextInfoEXT https://www.opengl.org/sdk/docs/man/xhtml/glXQueryContextInfoEXT.xml +glXQueryDrawable https://www.opengl.org/sdk/docs/man/xhtml/glXQueryDrawable.xml +glXQueryExtension https://www.opengl.org/sdk/docs/man/xhtml/glXQueryExtension.xml +glXQueryExtensionsString https://www.opengl.org/sdk/docs/man/xhtml/glXQueryExtensionsString.xml +glXQueryFrameCountNV https://www.opengl.org/registry/specs/NV/glx_swap_group.txt +glXQueryGLXPbufferSGIX https://www.opengl.org/registry/specs/SGIX/pbuffer.txt +glXQueryHyperpipeAttribSGIX https://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt +glXQueryHyperpipeBestAttribSGIX https://www.opengl.org/registry/specs/SGIX/hyperpipe_group.txt +glXQueryMaxSwapGroupsNV https://www.opengl.org/registry/specs/NV/glx_swap_group.txt +glXQueryServerString https://www.opengl.org/sdk/docs/man/xhtml/glXQueryServerString.xml +glXQuerySwapGroupNV https://www.opengl.org/registry/specs/NV/glx_swap_group.txt +glXQueryVersion https://www.opengl.org/sdk/docs/man/xhtml/glXQueryVersion.xml +glXQueryVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glXReleaseBuffersMESA https://www.opengl.org/registry/specs/MESA/release_buffers.txt +glXReleaseVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt +glXResetFrameCountNV https://www.opengl.org/registry/specs/NV/glx_swap_group.txt +glXSelectEvent https://www.opengl.org/sdk/docs/man/xhtml/glXSelectEvent.xml +glXSelectEventSGIX https://www.opengl.org/registry/specs/SGIX/pbuffer.txt +glXSet3DfxModeMESA https://www.opengl.org/registry/specs/MESA/set_3dfx_mode.txt +glXSwapBuffers https://www.opengl.org/sdk/docs/man/xhtml/glXSwapBuffers.xml +glXSwapBuffersMscOML https://www.opengl.org/registry/specs/OML/glx_sync_control.txt +glXSwapIntervalEXT https://www.opengl.org/registry/specs/EXT/swap_control.txt +glXSwapIntervalSGI https://www.opengl.org/registry/specs/SGI/swap_control.txt +glXUseXFont https://www.opengl.org/sdk/docs/man/xhtml/glXUseXFont.xml +glXWaitForMscOML https://www.opengl.org/registry/specs/OML/glx_sync_control.txt +glXWaitForSbcOML https://www.opengl.org/registry/specs/OML/glx_sync_control.txt +glXWaitGL https://www.opengl.org/sdk/docs/man/xhtml/glXWaitGL.xml +glXWaitVideoSyncSGI https://www.opengl.org/registry/specs/SGI/video_sync.txt +glXWaitX https://www.opengl.org/sdk/docs/man/xhtml/glXWaitX.xml +gluBeginCurve https://www.opengl.org/sdk/docs/man/xhtml/gluBeginCurve.xml +gluBeginPolygon https://www.opengl.org/sdk/docs/man/xhtml/gluBeginPolygon.xml +gluBeginSurface https://www.opengl.org/sdk/docs/man/xhtml/gluBeginSurface.xml +gluBeginTrim https://www.opengl.org/sdk/docs/man/xhtml/gluBeginTrim.xml +gluBuild1DMipmapLevels https://www.opengl.org/sdk/docs/man/xhtml/gluBuild1DMipmapLevels.xml +gluBuild1DMipmaps https://www.opengl.org/sdk/docs/man/xhtml/gluBuild1DMipmaps.xml +gluBuild2DMipmapLevels https://www.opengl.org/sdk/docs/man/xhtml/gluBuild2DMipmapLevels.xml +gluBuild2DMipmaps https://www.opengl.org/sdk/docs/man/xhtml/gluBuild2DMipmaps.xml +gluBuild3DMipmapLevels https://www.opengl.org/sdk/docs/man/xhtml/gluBuild3DMipmapLevels.xml +gluBuild3DMipmaps https://www.opengl.org/sdk/docs/man/xhtml/gluBuild3DMipmaps.xml +gluCheckExtension https://www.opengl.org/sdk/docs/man/xhtml/gluCheckExtension.xml +gluCylinder https://www.opengl.org/sdk/docs/man/xhtml/gluCylinder.xml +gluDeleteNurbsRenderer https://www.opengl.org/sdk/docs/man/xhtml/gluDeleteNurbsRenderer.xml +gluDeleteQuadric https://www.opengl.org/sdk/docs/man/xhtml/gluDeleteQuadric.xml +gluDeleteTess https://www.opengl.org/sdk/docs/man/xhtml/gluDeleteTess.xml +gluDisk https://www.opengl.org/sdk/docs/man/xhtml/gluDisk.xml +gluEndCurve https://www.opengl.org/sdk/docs/man/xhtml/gluBeginCurve.xml +gluEndPolygon https://www.opengl.org/sdk/docs/man/xhtml/gluBeginPolygon.xml +gluEndSurface https://www.opengl.org/sdk/docs/man/xhtml/gluBeginSurface.xml +gluEndTrim https://www.opengl.org/sdk/docs/man/xhtml/gluBeginTrim.xml +gluErrorString https://www.opengl.org/sdk/docs/man/xhtml/gluErrorString.xml +gluGetNurbsProperty https://www.opengl.org/sdk/docs/man/xhtml/gluGetNurbsProperty.xml +gluGetString https://www.opengl.org/sdk/docs/man/xhtml/gluGetString.xml +gluGetTessProperty https://www.opengl.org/sdk/docs/man/xhtml/gluGetTessProperty.xml +gluLoadSamplingMatrices https://www.opengl.org/sdk/docs/man/xhtml/gluLoadSamplingMatrices.xml +gluLookAt https://www.opengl.org/sdk/docs/man/xhtml/gluLookAt.xml +gluNewNurbsRenderer https://www.opengl.org/sdk/docs/man/xhtml/gluNewNurbsRenderer.xml +gluNewQuadric https://www.opengl.org/sdk/docs/man/xhtml/gluNewQuadric.xml +gluNewTess https://www.opengl.org/sdk/docs/man/xhtml/gluNewTess.xml +gluNextContour https://www.opengl.org/sdk/docs/man/xhtml/gluNextContour.xml +gluNurbsCallback https://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCallback.xml +gluNurbsCallbackData https://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCallbackData.xml +gluNurbsCallbackDataEXT https://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCallbackDataEXT.xml +gluNurbsCurve https://www.opengl.org/sdk/docs/man/xhtml/gluNurbsCurve.xml +gluNurbsProperty https://www.opengl.org/sdk/docs/man/xhtml/gluNurbsProperty.xml +gluNurbsSurface https://www.opengl.org/sdk/docs/man/xhtml/gluNurbsSurface.xml +gluOrtho2D https://www.opengl.org/sdk/docs/man/xhtml/gluOrtho2D.xml +gluPartialDisk https://www.opengl.org/sdk/docs/man/xhtml/gluPartialDisk.xml +gluPerspective https://www.opengl.org/sdk/docs/man/xhtml/gluPerspective.xml +gluPickMatrix https://www.opengl.org/sdk/docs/man/xhtml/gluPickMatrix.xml +gluProject https://www.opengl.org/sdk/docs/man/xhtml/gluProject.xml +gluPwlCurve https://www.opengl.org/sdk/docs/man/xhtml/gluPwlCurve.xml +gluQuadricCallback https://www.opengl.org/sdk/docs/man/xhtml/gluQuadricCallback.xml +gluQuadricDrawStyle https://www.opengl.org/sdk/docs/man/xhtml/gluQuadricDrawStyle.xml +gluQuadricNormals https://www.opengl.org/sdk/docs/man/xhtml/gluQuadricNormals.xml +gluQuadricOrientation https://www.opengl.org/sdk/docs/man/xhtml/gluQuadricOrientation.xml +gluQuadricTexture https://www.opengl.org/sdk/docs/man/xhtml/gluQuadricTexture.xml +gluScaleImage https://www.opengl.org/sdk/docs/man/xhtml/gluScaleImage.xml +gluSphere https://www.opengl.org/sdk/docs/man/xhtml/gluSphere.xml +gluTessBeginContour https://www.opengl.org/sdk/docs/man/xhtml/gluTessBeginContour.xml +gluTessBeginPolygon https://www.opengl.org/sdk/docs/man/xhtml/gluTessBeginPolygon.xml +gluTessCallback https://www.opengl.org/sdk/docs/man/xhtml/gluTessCallback.xml +gluTessEndContour https://www.opengl.org/sdk/docs/man/xhtml/gluTessBeginContour.xml +gluTessEndPolygon https://www.opengl.org/sdk/docs/man/xhtml/gluTessEndPolygon.xml +gluTessNormal https://www.opengl.org/sdk/docs/man/xhtml/gluTessNormal.xml +gluTessProperty https://www.opengl.org/sdk/docs/man/xhtml/gluTessProperty.xml +gluTessVertex https://www.opengl.org/sdk/docs/man/xhtml/gluTessVertex.xml +gluTexFilterFuncSGI https://www.opengl.org/registry/specs/SGI/filter4_parameters.txt +gluUnProject https://www.opengl.org/sdk/docs/man/xhtml/gluUnProject.xml +gluUnProject4 https://www.opengl.org/sdk/docs/man/xhtml/gluUnProject4.xml +sizeof https://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt +wglAssociateImageBufferEventsI3D https://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt +wglBeginFrameTrackingI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt +wglBindDisplayColorTableEXT https://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt +wglBindSwapBarrierNV https://www.opengl.org/registry/specs/NV/wgl_swap_group.txt +wglBindVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt +wglBindVideoDeviceNV https://www.opengl.org/registry/specs/NV/present_video.txt +wglBlitContextFramebufferAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt wglChoosePixelFormat http://msdn.microsoft.com/en-us/library/dd318284.aspx -wglChoosePixelFormatARB http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt -wglChoosePixelFormatEXT http://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt +wglChoosePixelFormatARB https://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt +wglChoosePixelFormatEXT https://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt wglCopyContext http://msdn.microsoft.com/en-us/library/dd374378.aspx -wglCreateAssociatedContextAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt -wglCreateAssociatedContextAttribsAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt -wglCreateBufferRegionARB http://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt +wglCreateAssociatedContextAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglCreateAssociatedContextAttribsAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglCreateBufferRegionARB https://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt wglCreateContext http://msdn.microsoft.com/en-us/library/dd374379.aspx -wglCreateContextAttribsARB http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt -wglCreateDisplayColorTableEXT http://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt -wglCreateImageBufferI3D http://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt +wglCreateContextAttribsARB https://www.opengl.org/registry/specs/ARB/wgl_create_context.txt +wglCreateDisplayColorTableEXT https://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt +wglCreateImageBufferI3D https://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt wglCreateLayerContext http://msdn.microsoft.com/en-us/library/dd374380.aspx -wglCreatePbufferARB http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt -wglCreatePbufferEXT http://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt -wglDXCloseDeviceNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDXLockObjectsNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDXObjectAccessNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDXOpenDeviceNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDXRegisterObjectNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDXSetResourceShareHandleNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDXUnlockObjectsNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDXUnregisterObjectNV http://www.opengl.org/registry/specs/NV/DX_interop.txt -wglDeleteAssociatedContextAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt -wglDeleteBufferRegionARB http://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt +wglCreatePbufferARB https://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt +wglCreatePbufferEXT https://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt +wglDXCloseDeviceNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDXLockObjectsNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDXObjectAccessNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDXOpenDeviceNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDXRegisterObjectNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDXSetResourceShareHandleNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDXUnlockObjectsNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDXUnregisterObjectNV https://www.opengl.org/registry/specs/NV/DX_interop.txt +wglDeleteAssociatedContextAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglDeleteBufferRegionARB https://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt wglDeleteContext http://msdn.microsoft.com/en-us/library/dd374381.aspx wglDescribeLayerPlane http://msdn.microsoft.com/en-us/library/dd374382.aspx wglDescribePixelFormat http://msdn.microsoft.com/en-us/library/dd318302.aspx -wglDestroyDisplayColorTableEXT http://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt -wglDestroyImageBufferI3D http://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt -wglDestroyPbufferARB http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt -wglDestroyPbufferEXT http://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt -wglDisableFrameLockI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt -wglDisableGenlockI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglEnableFrameLockI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt -wglEnableGenlockI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglEndFrameTrackingI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt -wglEnumerateVideoCaptureDevicesNV http://www.opengl.org/registry/specs/NV/video_capture.txt -wglEnumerateVideoDevicesNV http://www.opengl.org/registry/specs/NV/present_video.txt -wglGenlockSampleRateI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglGenlockSourceDelayI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglGenlockSourceEdgeI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglGenlockSourceI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglGetContextGPUIDAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt -wglGetCurrentAssociatedContextAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglDestroyDisplayColorTableEXT https://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt +wglDestroyImageBufferI3D https://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt +wglDestroyPbufferARB https://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt +wglDestroyPbufferEXT https://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt +wglDisableFrameLockI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt +wglDisableGenlockI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglEnableFrameLockI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt +wglEnableGenlockI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglEndFrameTrackingI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt +wglEnumerateVideoCaptureDevicesNV https://www.opengl.org/registry/specs/NV/video_capture.txt +wglEnumerateVideoDevicesNV https://www.opengl.org/registry/specs/NV/present_video.txt +wglGenlockSampleRateI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGenlockSourceDelayI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGenlockSourceEdgeI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGenlockSourceI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGetContextGPUIDAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglGetCurrentAssociatedContextAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt wglGetCurrentContext http://msdn.microsoft.com/en-us/library/dd374383.aspx wglGetCurrentDC http://msdn.microsoft.com/en-us/library/dd374384.aspx -wglGetCurrentReadDCARB http://www.opengl.org/registry/specs/ARB/wgl_make_current_read.txt -wglGetCurrentReadDCEXT http://www.opengl.org/registry/specs/EXT/wgl_make_current_read.txt -wglGetDigitalVideoParametersI3D http://www.opengl.org/registry/specs/I3D/wgl_digital_video_control.txt -wglGetFrameUsageI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt -wglGetGPUIDsAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt -wglGetGPUInfoAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt -wglGetGammaTableI3D http://www.opengl.org/registry/specs/I3D/wgl_gamma.txt -wglGetGammaTableParametersI3D http://www.opengl.org/registry/specs/I3D/wgl_gamma.txt -wglGetGenlockSampleRateI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglGetGenlockSourceDelayI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglGetGenlockSourceEdgeI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglGetGenlockSourceI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGetCurrentReadDCARB https://www.opengl.org/registry/specs/ARB/wgl_make_current_read.txt +wglGetCurrentReadDCEXT https://www.opengl.org/registry/specs/EXT/wgl_make_current_read.txt +wglGetDigitalVideoParametersI3D https://www.opengl.org/registry/specs/I3D/wgl_digital_video_control.txt +wglGetFrameUsageI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt +wglGetGPUIDsAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglGetGPUInfoAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglGetGammaTableI3D https://www.opengl.org/registry/specs/I3D/wgl_gamma.txt +wglGetGammaTableParametersI3D https://www.opengl.org/registry/specs/I3D/wgl_gamma.txt +wglGetGenlockSampleRateI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGetGenlockSourceDelayI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGetGenlockSourceEdgeI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglGetGenlockSourceI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt wglGetLayerPaletteEntries http://msdn.microsoft.com/en-us/library/dd374385.aspx -wglGetMscRateOML http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt -wglGetPbufferDCARB http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt -wglGetPbufferDCEXT http://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt +wglGetMscRateOML https://www.opengl.org/registry/specs/OML/wgl_sync_control.txt +wglGetPbufferDCARB https://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt +wglGetPbufferDCEXT https://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt wglGetPixelFormat http://msdn.microsoft.com/en-us/library/dd318349.aspx -wglGetPixelFormatAttribfvARB http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt -wglGetPixelFormatAttribfvEXT http://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt -wglGetPixelFormatAttribivARB http://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt -wglGetPixelFormatAttribivEXT http://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt +wglGetPixelFormatAttribfvARB https://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt +wglGetPixelFormatAttribfvEXT https://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt +wglGetPixelFormatAttribivARB https://www.opengl.org/registry/specs/ARB/wgl_pixel_format.txt +wglGetPixelFormatAttribivEXT https://www.opengl.org/registry/specs/EXT/wgl_pixel_format.txt wglGetProcAddress http://msdn.microsoft.com/en-us/library/dd374386.aspx -wglGetSwapIntervalEXT http://www.opengl.org/registry/specs/EXT/wgl_swap_control.txt -wglGetSyncValuesOML http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt -wglIsEnabledFrameLockI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt -wglIsEnabledGenlockI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglJoinSwapGroupNV http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt -wglLoadDisplayColorTableEXT http://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt -wglLockVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt -wglMakeAssociatedContextCurrentAMD http://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt -wglMakeContextCurrentARB http://www.opengl.org/registry/specs/ARB/wgl_make_current_read.txt -wglMakeContextCurrentEXT http://www.opengl.org/registry/specs/EXT/wgl_make_current_read.txt +wglGetSwapIntervalEXT https://www.opengl.org/registry/specs/EXT/wgl_swap_control.txt +wglGetSyncValuesOML https://www.opengl.org/registry/specs/OML/wgl_sync_control.txt +wglIsEnabledFrameLockI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt +wglIsEnabledGenlockI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglJoinSwapGroupNV https://www.opengl.org/registry/specs/NV/wgl_swap_group.txt +wglLoadDisplayColorTableEXT https://www.opengl.org/registry/specs/EXT/wgl_display_color_table.txt +wglLockVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt +wglMakeAssociatedContextCurrentAMD https://www.opengl.org/registry/specs/AMD/wgl_gpu_association.txt +wglMakeContextCurrentARB https://www.opengl.org/registry/specs/ARB/wgl_make_current_read.txt +wglMakeContextCurrentEXT https://www.opengl.org/registry/specs/EXT/wgl_make_current_read.txt wglMakeCurrent http://msdn.microsoft.com/en-us/library/dd374387.aspx -wglQueryCurrentContextNV http://www.opengl.org/registry/specs/NV/present_video.txt -wglQueryFrameCountNV http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt -wglQueryFrameLockMasterI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt -wglQueryFrameTrackingI3D http://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt -wglQueryGenlockMaxSourceDelayI3D http://www.opengl.org/registry/specs/I3D/wgl_genlock.txt -wglQueryMaxSwapGroupsNV http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt -wglQueryPbufferARB http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt -wglQueryPbufferEXT http://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt -wglQuerySwapGroupNV http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt -wglQueryVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt +wglQueryCurrentContextNV https://www.opengl.org/registry/specs/NV/present_video.txt +wglQueryFrameCountNV https://www.opengl.org/registry/specs/NV/wgl_swap_group.txt +wglQueryFrameLockMasterI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_lock.txt +wglQueryFrameTrackingI3D https://www.opengl.org/registry/specs/I3D/wgl_swap_frame_usage.txt +wglQueryGenlockMaxSourceDelayI3D https://www.opengl.org/registry/specs/I3D/wgl_genlock.txt +wglQueryMaxSwapGroupsNV https://www.opengl.org/registry/specs/NV/wgl_swap_group.txt +wglQueryPbufferARB https://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt +wglQueryPbufferEXT https://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt +wglQuerySwapGroupNV https://www.opengl.org/registry/specs/NV/wgl_swap_group.txt +wglQueryVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt wglRealizeLayerPalette http://msdn.microsoft.com/en-us/library/dd374388.aspx -wglReleaseImageBufferEventsI3D http://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt -wglReleasePbufferDCARB http://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt -wglReleasePbufferDCEXT http://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt -wglReleaseVideoCaptureDeviceNV http://www.opengl.org/registry/specs/NV/video_capture.txt -wglResetFrameCountNV http://www.opengl.org/registry/specs/NV/wgl_swap_group.txt -wglRestoreBufferRegionARB http://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt -wglSaveBufferRegionARB http://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt -wglSetDigitalVideoParametersI3D http://www.opengl.org/registry/specs/I3D/wgl_digital_video_control.txt -wglSetGammaTableI3D http://www.opengl.org/registry/specs/I3D/wgl_gamma.txt -wglSetGammaTableParametersI3D http://www.opengl.org/registry/specs/I3D/wgl_gamma.txt +wglReleaseImageBufferEventsI3D https://www.opengl.org/registry/specs/I3D/wgl_image_buffer.txt +wglReleasePbufferDCARB https://www.opengl.org/registry/specs/ARB/wgl_pbuffer.txt +wglReleasePbufferDCEXT https://www.opengl.org/registry/specs/EXT/wgl_pbuffer.txt +wglReleaseVideoCaptureDeviceNV https://www.opengl.org/registry/specs/NV/video_capture.txt +wglResetFrameCountNV https://www.opengl.org/registry/specs/NV/wgl_swap_group.txt +wglRestoreBufferRegionARB https://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt +wglSaveBufferRegionARB https://www.opengl.org/registry/specs/ARB/wgl_buffer_region.txt +wglSetDigitalVideoParametersI3D https://www.opengl.org/registry/specs/I3D/wgl_digital_video_control.txt +wglSetGammaTableI3D https://www.opengl.org/registry/specs/I3D/wgl_gamma.txt +wglSetGammaTableParametersI3D https://www.opengl.org/registry/specs/I3D/wgl_gamma.txt wglSetLayerPaletteEntries http://msdn.microsoft.com/en-us/library/dd374389.aspx wglSetPixelFormat http://msdn.microsoft.com/en-us/library/dd369049.aspx -wglSetStereoEmitterState3DL http://www.opengl.org/registry/specs/3DL/stereo_control.txt +wglSetStereoEmitterState3DL https://www.opengl.org/registry/specs/3DL/stereo_control.txt wglShareLists http://msdn.microsoft.com/en-us/library/dd374390.aspx wglSwapBuffers http://msdn.microsoft.com/en-us/library/dd369060.aspx -wglSwapBuffersMscOML http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt -wglSwapIntervalEXT http://www.opengl.org/registry/specs/EXT/wgl_swap_control.txt +wglSwapBuffersMscOML https://www.opengl.org/registry/specs/OML/wgl_sync_control.txt +wglSwapIntervalEXT https://www.opengl.org/registry/specs/EXT/wgl_swap_control.txt wglSwapLayerBuffers http://msdn.microsoft.com/en-us/library/dd374391.aspx -wglSwapLayerBuffersMscOML http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt +wglSwapLayerBuffersMscOML https://www.opengl.org/registry/specs/OML/wgl_sync_control.txt wglUseFontBitmaps http://msdn.microsoft.com/en-us/library/dd374392.aspx wglUseFontOutlines http://msdn.microsoft.com/en-us/library/dd374393.aspx -wglWaitForMscOML http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt -wglWaitForSbcOML http://www.opengl.org/registry/specs/OML/wgl_sync_control.txt +wglWaitForMscOML https://www.opengl.org/registry/specs/OML/wgl_sync_control.txt +wglWaitForSbcOML https://www.opengl.org/registry/specs/OML/wgl_sync_control.txt diff --git a/gui/retracer.cpp b/gui/retracer.cpp index f3f1feb8..02f01454 100644 --- a/gui/retracer.cpp +++ b/gui/retracer.cpp @@ -12,7 +12,8 @@ #include <QList> #include <QImage> -#include <qjson/parser.h> +#include "qubjson.h" + /** * Wrapper around a QProcess which enforces IO to block . @@ -137,7 +138,8 @@ Retracer::Retracer(QObject *parent) m_captureCall(0), m_profileGpu(false), m_profileCpu(false), - m_profilePixels(false) + m_profilePixels(false), + m_profileMemory(false) { qRegisterMetaType<QList<ApiTraceError> >(); } @@ -222,16 +224,22 @@ bool Retracer::isProfilingPixels() const return m_profilePixels; } +bool Retracer::isProfilingMemory() const +{ + return m_profileMemory; +} + bool Retracer::isProfiling() const { - return m_profileGpu || m_profileCpu || m_profilePixels; + return m_profileGpu || m_profileCpu || m_profilePixels | m_profileMemory; } -void Retracer::setProfiling(bool gpu, bool cpu, bool pixels) +void Retracer::setProfiling(bool gpu, bool cpu, bool pixels, bool memory) { m_profileGpu = gpu; m_profileCpu = cpu; m_profilePixels = pixels; + m_profileMemory = memory; } void Retracer::setCaptureAtCallNumber(qlonglong num) @@ -264,46 +272,44 @@ void Retracer::setCaptureThumbnails(bool enable) m_captureThumbnails = enable; } -/** - * Starting point for the retracing thread. - * - * Overrides QThread::run(). - */ -void Retracer::run() +void Retracer::addThumbnailToCapture(qlonglong num) { - QString msg = QLatin1String("Replay finished!"); + if (!m_thumbnailsToCapture.contains(num)) { + m_thumbnailsToCapture.append(num); + } +} - /* - * Construct command line - */ +void Retracer::resetThumbnailsToCapture() +{ + m_thumbnailsToCapture.clear(); +} - QString prog; - QStringList arguments; +QString Retracer::thumbnailCallSet() const +{ + QString callSet; - switch (m_api) { - case trace::API_GL: - prog = QLatin1String("glretrace"); - break; - case trace::API_EGL: - prog = QLatin1String("eglretrace"); - break; - case trace::API_DX: - case trace::API_D3D7: - case trace::API_D3D8: - case trace::API_D3D9: - case trace::API_DXGI: -#ifdef Q_OS_WIN - prog = QLatin1String("d3dretrace"); -#else - prog = QLatin1String("wine"); - arguments << QLatin1String("d3dretrace.exe"); -#endif - break; - default: - emit finished(QLatin1String("Unsupported API")); - return; + bool isFirst = true; + + foreach (qlonglong callIndex, m_thumbnailsToCapture) { + // TODO: detect contiguous ranges + if (!isFirst) { + callSet.append(QLatin1String(",")); + } else { + isFirst = false; + } + + //emit "callIndex" + callSet.append(QString::number(callIndex)); } + //qDebug() << QLatin1String("debug: call set to capture: ") << callSet; + return callSet; +} + +QStringList Retracer::retraceArguments() const +{ + QStringList arguments; + if (m_singlethread) { arguments << QLatin1String("--singlethread"); } @@ -315,7 +321,13 @@ void Retracer::run() if (m_captureState) { arguments << QLatin1String("-D"); arguments << QString::number(m_captureCall); + arguments << QLatin1String("--dump-format"); + arguments << QLatin1String("ubjson"); } else if (m_captureThumbnails) { + if (!m_thumbnailsToCapture.isEmpty()) { + arguments << QLatin1String("-S"); + arguments << thumbnailCallSet(); + } arguments << QLatin1String("-s"); // emit snapshots arguments << QLatin1String("-"); // emit to stdout } else if (isProfiling()) { @@ -330,19 +342,65 @@ void Retracer::run() if (m_profilePixels) { arguments << QLatin1String("--ppd"); } + + if (m_profileMemory) { + arguments << QLatin1String("--pmem"); + } } else { - if (m_doubleBuffered) { - arguments << QLatin1String("--db"); - } else { + if (!m_doubleBuffered) { arguments << QLatin1String("--sb"); } if (m_benchmarking) { arguments << QLatin1String("-b"); + } else { + arguments << QLatin1String("-d"); } } + return arguments; +} - arguments << m_fileName; +/** + * Starting point for the retracing thread. + * + * Overrides QThread::run(). + */ +void Retracer::run() +{ + QString msg = QLatin1String("Replay finished!"); + + /* + * Construct command line + */ + + QString prog; + QStringList arguments; + + switch (m_api) { + case trace::API_GL: + prog = QLatin1String("glretrace"); + break; + case trace::API_EGL: + prog = QLatin1String("eglretrace"); + break; + case trace::API_DX: + case trace::API_D3D7: + case trace::API_D3D8: + case trace::API_D3D9: + case trace::API_DXGI: +#ifdef Q_OS_WIN + prog = QLatin1String("d3dretrace"); +#else + prog = QLatin1String("wine"); + arguments << QLatin1String("d3dretrace.exe"); +#endif + break; + default: + emit finished(QLatin1String("Unsupported API")); + return; + } + + arguments << retraceArguments() << m_fileName; /* * Support remote execution on a separate target. @@ -358,6 +416,15 @@ void Retracer::run() * Start the process. */ + { + QDebug debug(QtDebugMsg); + debug << "Running:"; + debug << prog; + foreach (const QString &argument, arguments) { + debug << argument; + } + } + QProcess process; process.start(prog, arguments, QIODevice::ReadOnly); @@ -370,7 +437,7 @@ void Retracer::run() * Process standard output */ - QList<QImage> thumbnails; + ImageHash thumbnails; QVariantMap parsedJson; trace::Profile* profile = NULL; @@ -379,32 +446,8 @@ void Retracer::run() BlockingIODevice io(&process); if (m_captureState) { - /* - * Parse JSON from the output. - * - * XXX: QJSON's scanner is inneficient as it abuses single - * character QIODevice::peek (not cheap), instead of maintaining a - * lookahead character on its own. - */ - - bool ok = false; - QJson::Parser jsonParser; - - // Allow Nan/Infinity - jsonParser.allowSpecialNumbers(true); -#if 0 - parsedJson = jsonParser.parse(&io, &ok).toMap(); -#else - /* - * XXX: QJSON expects blocking IO, and it looks like - * BlockingIODevice does not work reliably in all cases. - */ + parsedJson = decodeUBJSONObject(&io).toMap(); process.waitForFinished(-1); - parsedJson = jsonParser.parse(&process, &ok).toMap(); -#endif - if (!ok) { - msg = QLatin1String("failed to parse JSON"); - } } else if (m_captureThumbnails) { /* * Parse concatenated PNM images from output. @@ -454,7 +497,7 @@ void Retracer::run() } QImage thumb = thumbnail(snapshot); - thumbnails.append(thumb); + thumbnails.insert(info.commentNumber, thumb); } Q_ASSERT(process.state() != QProcess::Running); diff --git a/gui/retracer.h b/gui/retracer.h index 4e92642b..bd395e2c 100644 --- a/gui/retracer.h +++ b/gui/retracer.h @@ -1,7 +1,7 @@ -#ifndef RETRACER_H -#define RETRACER_H +#pragma once #include "trace_api.hpp" +#include "apitrace.h" #include "apitracecall.h" #include <QThread> @@ -40,8 +40,9 @@ public: bool isProfilingGpu() const; bool isProfilingCpu() const; bool isProfilingPixels() const; + bool isProfilingMemory() const; bool isProfiling() const; - void setProfiling(bool gpu, bool cpu, bool pixels); + void setProfiling(bool gpu, bool cpu, bool pixels, bool memory); void setCaptureAtCallNumber(qlonglong num); qlonglong captureAtCallNumber() const; @@ -52,11 +53,17 @@ public: bool captureThumbnails() const; void setCaptureThumbnails(bool enable); + void addThumbnailToCapture(qlonglong num); + void resetThumbnailsToCapture(); + QString thumbnailCallSet() const; + + QStringList retraceArguments() const; + signals: void finished(const QString &output); void foundState(ApiTraceState *state); void foundProfile(trace::Profile *profile); - void foundThumbnails(const QList<QImage> &thumbnails); + void foundThumbnails(const ImageHash &thumbnails); void error(const QString &msg); void retraceErrors(const QList<ApiTraceError> &errors); @@ -77,6 +84,9 @@ private: bool m_profileGpu; bool m_profileCpu; bool m_profilePixels; -}; + bool m_profileMemory; -#endif + QProcessEnvironment m_processEnvironment; + + QList<qlonglong> m_thumbnailsToCapture; +}; diff --git a/gui/saverthread.cpp b/gui/saverthread.cpp index 4ad83c58..e9e5a3fa 100644 --- a/gui/saverthread.cpp +++ b/gui/saverthread.cpp @@ -253,6 +253,16 @@ public: m_editedValue = new trace::String(newString); } + virtual void visit(trace::WString *node) + { + QString str = m_variant.toString(); + size_t len = str.length(); + wchar_t *newString = new wchar_t[len + 1]; + str.toWCharArray(newString); + newString[len] = 0; + m_editedValue = new trace::WString(newString); + } + virtual void visit(trace::Enum *e) { m_editedValue = e; @@ -364,6 +374,7 @@ void SaverThread::run() } else { writer.writeCall(call); } + delete call; } writer.close(); diff --git a/gui/saverthread.h b/gui/saverthread.h index e8c6889f..f53296e1 100644 --- a/gui/saverthread.h +++ b/gui/saverthread.h @@ -1,5 +1,4 @@ -#ifndef SAVERTHREAD_H -#define SAVERTHREAD_H +#pragma once #include "apitrace.h" @@ -31,6 +30,3 @@ private: QString m_writeFileName; QSet<ApiTraceCall*> m_editedCalls; }; - - -#endif diff --git a/gui/searchwidget.h b/gui/searchwidget.h index f59b4a0c..6415ef28 100644 --- a/gui/searchwidget.h +++ b/gui/searchwidget.h @@ -1,5 +1,4 @@ -#ifndef SEARCHWIDGET_H -#define SEARCHWIDGET_H +#pragma once #include "ui_searchwidget.h" #include <QPalette> @@ -34,5 +33,3 @@ private: Ui_SearchWidget m_ui; QPalette m_origPalette; }; - -#endif diff --git a/gui/settingsdialog.cpp b/gui/settingsdialog.cpp index c44b1074..0f6f1c9c 100644 --- a/gui/settingsdialog.cpp +++ b/gui/settingsdialog.cpp @@ -1,6 +1,8 @@ #include "settingsdialog.h" +#include <QFileDialog> #include <QMessageBox> +#include <QSettings> SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent), @@ -27,6 +29,26 @@ SettingsDialog::SettingsDialog(QWidget *parent) connect(showFilterEdit, SIGNAL(textEdited(const QString &)), SLOT(regexpChanged(const QString&))); + connect(adbPathEdit, SIGNAL(textEdited(const QString &)), + SLOT(adbPathChanged(const QString&))); + + + { + QSettings s; + s.beginGroup(QLatin1String("android")); + adbPathEdit->setText(s.value(QLatin1String("adbPath"), adbPathEdit->text()).toString()); + stdoutPort->setValue(s.value(QLatin1String("stdoutPort"), stdoutPort->value()).toInt()); + stderrPort->setValue(s.value(QLatin1String("stderrPort"), stderrPort->value()).toInt()); + s.endGroup(); + } + + connect(chooseAdbPath, SIGNAL(clicked()), + SLOT(chooseAdbPathPushed())); + connect(stdoutPort, SIGNAL(valueChanged(int)), + SLOT(stdoutPortChanged(int))); + connect(stderrPort, SIGNAL(valueChanged(int)), + SLOT(stderrPortChanged(int))); + showFilterCB->setCurrentIndex(0); showFilterEdit->setText(m_showFilters.constBegin().value().pattern()); } @@ -139,6 +161,44 @@ void SettingsDialog::regexpChanged(const QString &pattern) } } +void SettingsDialog::adbPathChanged(const QString &adbPath) +{ + QSettings s; + s.beginGroup(QLatin1String("android")); + s.setValue(QLatin1String("adbPath"), adbPath); + s.endGroup(); +} + +void SettingsDialog::chooseAdbPathPushed() +{ + QString fileName = QFileDialog::getOpenFileName(this, + tr("Choose adb path"), adbPathEdit->text(), QLatin1String("ADB (adb" +#ifdef Q_OS_WIN + ".exe" +#endif + ")")); + if (!fileName.isEmpty()) { + adbPathEdit->setText(fileName); + adbPathChanged(fileName); + } +} + +void SettingsDialog::stdoutPortChanged(int port) +{ + QSettings s; + s.beginGroup(QLatin1String("android")); + s.setValue(QLatin1String("stdoutPort"), port); + s.endGroup(); +} + +void SettingsDialog::stderrPortChanged(int port) +{ + QSettings s; + s.beginGroup(QLatin1String("android")); + s.setValue(QLatin1String("stderrPort"), port); + s.endGroup(); +} + void SettingsDialog::setFilterModel(ApiTraceFilter *filter) { m_filter = filter; diff --git a/gui/settingsdialog.h b/gui/settingsdialog.h index b676b9df..aa2db34f 100644 --- a/gui/settingsdialog.h +++ b/gui/settingsdialog.h @@ -1,5 +1,4 @@ -#ifndef SETTINGSDIALOG_H -#define SETTINGSDIALOG_H +#pragma once #include "trace_api.hpp" #include "apitracefilter.h" @@ -16,16 +15,20 @@ public: void accept(); void setFilterModel(ApiTraceFilter *filter); + private slots: void changeRegexp(const QString &name); void regexpChanged(const QString &pattern); + void adbPathChanged(const QString &adbPath); + void chooseAdbPathPushed(); + void stdoutPortChanged(int port); + void stderrPortChanged(int port); private: void filtersFromModel(const ApiTraceFilter *model); void filtersToModel(ApiTraceFilter *model); + private: QMap<QString, QRegExp> m_showFilters; ApiTraceFilter *m_filter; }; - -#endif diff --git a/gui/shaderssourcewidget.h b/gui/shaderssourcewidget.h index 9a5c3228..d40ea6e8 100644 --- a/gui/shaderssourcewidget.h +++ b/gui/shaderssourcewidget.h @@ -1,5 +1,4 @@ -#ifndef SHADERSSOURCEWIDGET_H -#define SHADERSSOURCEWIDGET_H +#pragma once #include "ui_shaderssourcewidget.h" #include <QWidget> @@ -22,5 +21,3 @@ private: QMap<QString, QString> m_sources; GLSLEdit *m_edit; }; - -#endif diff --git a/gui/thumbnail.h b/gui/thumbnail.h index 23155648..9cf8fca6 100644 --- a/gui/thumbnail.h +++ b/gui/thumbnail.h @@ -1,5 +1,4 @@ -#ifndef THUMBNAIL_H -#define THUMBNAIL_H +#pragma once #define THUMBNAIL_SIZE 64 @@ -9,5 +8,3 @@ inline QImage thumbnail(const QImage &image, Qt::TransformationMode transformationMode = Qt::FastTransformation) { return image.scaled(THUMBNAIL_SIZE, THUMBNAIL_SIZE, Qt::KeepAspectRatio, transformationMode); } - -#endif diff --git a/gui/tracedialog.h b/gui/tracedialog.h index 0ebe13ad..cf45833d 100644 --- a/gui/tracedialog.h +++ b/gui/tracedialog.h @@ -1,5 +1,4 @@ -#ifndef TRACEDIALOG_H -#define TRACEDIALOG_H +#pragma once #include "ui_tracedialog.h" #include <QDialog> @@ -22,5 +21,3 @@ private slots: private: bool isFileOk(const QString &fileName); }; - -#endif diff --git a/gui/traceloader.cpp b/gui/traceloader.cpp index 59f8803e..483f9912 100644 --- a/gui/traceloader.cpp +++ b/gui/traceloader.cpp @@ -34,7 +34,6 @@ TraceLoader::~TraceLoader() { m_parser.close(); qDeleteAll(m_signatures); - qDeleteAll(m_enumSignatures); } void TraceLoader::loadTrace(const QString &filename) @@ -45,9 +44,7 @@ void TraceLoader::loadTrace(const QString &filename) if (!m_frameBookmarks.isEmpty()) { qDeleteAll(m_signatures); - qDeleteAll(m_enumSignatures); m_signatures.clear(); - m_enumSignatures.clear(); m_frameBookmarks.clear(); m_createdFrames.clear(); m_parser.close(); @@ -58,14 +55,19 @@ void TraceLoader::loadTrace(const QString &filename) return; } + if (!m_parser.supportsOffsets()) { + emit parseProblem( + "This trace in compressed in a format that does not allow random seeking.\n" + "Please repack the trace with `apitrace repack`." + ); + m_parser.close(); + return; + } + emit startedParsing(); - if (m_parser.supportsOffsets()) { - scanTrace(); - } else { - //Load the entire file into memory - parseTrace(); - } + scanTrace(); + emit guessedApi(static_cast<int>(m_parser.api)); emit finishedParsing(); } @@ -169,63 +171,6 @@ void TraceLoader::scanTrace() emit framesLoaded(frames); } -void TraceLoader::parseTrace() -{ - QList<ApiTraceFrame*> frames; - int frameCount = 0; - int lastPercentReport = 0; - - ApiTraceFrame *currentFrame = new ApiTraceFrame(); - currentFrame->number = frameCount; - - FrameContents frameCalls; - while (frameCalls.load(this, currentFrame, m_helpHash, m_parser)) { - - if (frameCalls.topLevelCount() == frameCalls.allCallsCount()) { - currentFrame->setCalls(frameCalls.allCalls(), - frameCalls.allCalls(), - frameCalls.binaryDataSize()); - } else { - currentFrame->setCalls(frameCalls.topLevelCalls(), - frameCalls.allCalls(), - frameCalls.binaryDataSize()); - } - frames.append(currentFrame); - if (frames.count() >= FRAMES_TO_CACHE) { - emit framesLoaded(frames); - frames.clear(); - } - if (m_parser.percentRead() - lastPercentReport >= 5) { - emit parsed(m_parser.percentRead()); - lastPercentReport = m_parser.percentRead(); - } - ++frameCount; - currentFrame = new ApiTraceFrame(); - currentFrame->number = frameCount; - - frameCalls.reset(); - } - - //last frames won't have markers - // it's just a bunch of Delete calls for every object - // after the last SwapBuffers - if (!frameCalls.isEmpty()) { - if (frameCalls.topLevelCount() == frameCalls.allCallsCount()) { - currentFrame->setCalls(frameCalls.allCalls(), - frameCalls.allCalls(), - frameCalls.binaryDataSize()); - } else { - currentFrame->setCalls(frameCalls.topLevelCalls(), - frameCalls.allCalls(), - frameCalls.binaryDataSize()); - } - frames.append(currentFrame); - } - if (frames.count()) { - emit framesLoaded(frames); - } -} - ApiTraceCallSignature * TraceLoader::signature(unsigned id) { @@ -242,49 +187,32 @@ void TraceLoader::addSignature(unsigned id, ApiTraceCallSignature *signature) m_signatures[id] = signature; } -ApiTraceEnumSignature * TraceLoader::enumSignature(unsigned id) -{ - if (id >= m_enumSignatures.count()) { - m_enumSignatures.resize(id + 1); - return NULL; - } else { - return m_enumSignatures[id]; - } -} - -void TraceLoader::addEnumSignature(unsigned id, ApiTraceEnumSignature *signature) -{ - m_enumSignatures[id] = signature; -} - void TraceLoader::searchNext(const ApiTrace::SearchRequest &request) { Q_ASSERT(m_parser.supportsOffsets()); - if (m_parser.supportsOffsets()) { - int startFrame = m_createdFrames.indexOf(request.frame); - const FrameBookmark &frameBookmark = m_frameBookmarks[startFrame]; - m_parser.setBookmark(frameBookmark.start); - trace::Call *call = 0; - while ((call = m_parser.parse_call())) { - - if (callContains(call, request.text, request.cs)) { - unsigned frameIdx = callInFrame(call->no); - ApiTraceFrame *frame = m_createdFrames[frameIdx]; - const QVector<ApiTraceCall*> calls = - fetchFrameContents(frame); - for (int i = 0; i < calls.count(); ++i) { - if (calls[i]->index() == call->no) { - emit searchResult(request, ApiTrace::SearchResult_Found, - calls[i]); - break; - } + int startFrame = m_createdFrames.indexOf(request.frame); + const FrameBookmark &frameBookmark = m_frameBookmarks[startFrame]; + m_parser.setBookmark(frameBookmark.start); + trace::Call *call = 0; + while ((call = m_parser.parse_call())) { + + if (callContains(call, request.text, request.cs)) { + unsigned frameIdx = callInFrame(call->no); + ApiTraceFrame *frame = m_createdFrames[frameIdx]; + const QVector<ApiTraceCall*> calls = + fetchFrameContents(frame); + for (int i = 0; i < calls.count(); ++i) { + if (calls[i]->index() == call->no) { + emit searchResult(request, ApiTrace::SearchResult_Found, + calls[i]); + break; } - delete call; - return; } - delete call; + return; } + + delete call; } emit searchResult(request, ApiTrace::SearchResult_NotFound, 0); } @@ -292,40 +220,38 @@ void TraceLoader::searchNext(const ApiTrace::SearchRequest &request) void TraceLoader::searchPrev(const ApiTrace::SearchRequest &request) { Q_ASSERT(m_parser.supportsOffsets()); - if (m_parser.supportsOffsets()) { - int startFrame = m_createdFrames.indexOf(request.frame); - trace::Call *call = 0; - QList<trace::Call*> frameCalls; - int frameIdx = startFrame; + int startFrame = m_createdFrames.indexOf(request.frame); + trace::Call *call = 0; + QList<trace::Call*> frameCalls; + int frameIdx = startFrame; - const FrameBookmark &frameBookmark = m_frameBookmarks[frameIdx]; - int numCallsToParse = frameBookmark.numberOfCalls; - m_parser.setBookmark(frameBookmark.start); + const FrameBookmark &frameBookmark = m_frameBookmarks[frameIdx]; + int numCallsToParse = frameBookmark.numberOfCalls; + m_parser.setBookmark(frameBookmark.start); - while ((call = m_parser.parse_call())) { + while ((call = m_parser.parse_call())) { - frameCalls.append(call); - --numCallsToParse; + frameCalls.append(call); + --numCallsToParse; - if (numCallsToParse == 0) { - bool foundCall = searchCallsBackwards(frameCalls, - frameIdx, - request); + if (numCallsToParse == 0) { + bool foundCall = searchCallsBackwards(frameCalls, + frameIdx, + request); - qDeleteAll(frameCalls); - frameCalls.clear(); - if (foundCall) { - return; - } + qDeleteAll(frameCalls); + frameCalls.clear(); + if (foundCall) { + return; + } - --frameIdx; + --frameIdx; - if (frameIdx >= 0) { - const FrameBookmark &frameBookmark = - m_frameBookmarks[frameIdx]; - m_parser.setBookmark(frameBookmark.start); - numCallsToParse = frameBookmark.numberOfCalls; - } + if (frameIdx >= 0) { + const FrameBookmark &frameBookmark = + m_frameBookmarks[frameIdx]; + m_parser.setBookmark(frameBookmark.start); + numCallsToParse = frameBookmark.numberOfCalls; } } } @@ -396,30 +322,28 @@ TraceLoader::fetchFrameContents(ApiTraceFrame *currentFrame) return currentFrame->calls(); } - if (m_parser.supportsOffsets()) { - unsigned frameIdx = currentFrame->number; - int numOfCalls = numberOfCallsInFrame(frameIdx); - - if (numOfCalls) { - const FrameBookmark &frameBookmark = m_frameBookmarks[frameIdx]; - - m_parser.setBookmark(frameBookmark.start); - - FrameContents frameCalls(numOfCalls); - frameCalls.load(this, currentFrame, m_helpHash, m_parser); - if (frameCalls.topLevelCount() == frameCalls.allCallsCount()) { - emit frameContentsLoaded(currentFrame, - frameCalls.allCalls(), - frameCalls.allCalls(), - frameCalls.binaryDataSize()); - } else { - emit frameContentsLoaded(currentFrame, - frameCalls.topLevelCalls(), - frameCalls.allCalls(), - frameCalls.binaryDataSize()); - } - return frameCalls.allCalls(); + unsigned frameIdx = currentFrame->number; + int numOfCalls = numberOfCallsInFrame(frameIdx); + + if (numOfCalls) { + const FrameBookmark &frameBookmark = m_frameBookmarks[frameIdx]; + + m_parser.setBookmark(frameBookmark.start); + + FrameContents frameCalls(numOfCalls); + frameCalls.load(this, currentFrame, m_helpHash, m_parser); + if (frameCalls.topLevelCount() == frameCalls.allCallsCount()) { + emit frameContentsLoaded(currentFrame, + frameCalls.allCalls(), + frameCalls.allCalls(), + frameCalls.binaryDataSize()); + } else { + emit frameContentsLoaded(currentFrame, + frameCalls.topLevelCalls(), + frameCalls.allCalls(), + frameCalls.binaryDataSize()); } + return frameCalls.allCalls(); } return QVector<ApiTraceCall*>(); } diff --git a/gui/traceloader.h b/gui/traceloader.h index 3714f651..6519a4e7 100644 --- a/gui/traceloader.h +++ b/gui/traceloader.h @@ -1,5 +1,4 @@ -#ifndef TRACELOADER_H -#define TRACELOADER_H +#pragma once #include "apitrace.h" @@ -22,8 +21,7 @@ public: ApiTraceCallSignature *signature(unsigned id); void addSignature(unsigned id, ApiTraceCallSignature *signature); - ApiTraceEnumSignature *enumSignature(unsigned id); - void addEnumSignature(unsigned id, ApiTraceEnumSignature *signature); + trace::EnumSig *enumSignature(unsigned id); private: class FrameContents @@ -58,6 +56,7 @@ public slots: void search(const ApiTrace::SearchRequest &request); signals: + void parseProblem(const QString &message); void startedParsing(); void parsed(int percent); void guessedApi(int api); @@ -94,7 +93,6 @@ private: void loadHelpFile(); void guessApi(const trace::Call *call); void scanTrace(); - void parseTrace(); void searchNext(const ApiTrace::SearchRequest &request); void searchPrev(const ApiTrace::SearchRequest &request); @@ -118,7 +116,4 @@ private: QHash<QString, QUrl> m_helpHash; QVector<ApiTraceCallSignature*> m_signatures; - QVector<ApiTraceEnumSignature*> m_enumSignatures; }; - -#endif diff --git a/gui/traceprocess.h b/gui/traceprocess.h index 343bac96..f3634237 100644 --- a/gui/traceprocess.h +++ b/gui/traceprocess.h @@ -1,5 +1,4 @@ -#ifndef TRACEPROCESS_H -#define TRACEPROCESS_H +#pragma once #include <QObject> #include <QProcess> @@ -40,5 +39,3 @@ private: bool m_canTrace; }; - -#endif diff --git a/gui/trimprocess.cpp b/gui/trimprocess.cpp index 34639c63..854ef88f 100644 --- a/gui/trimprocess.cpp +++ b/gui/trimprocess.cpp @@ -60,7 +60,7 @@ void TrimProcess::start() QString callSetArgument = callSetFormat .arg(m_trimIndex); - arguments << QLatin1String("trim"); + arguments << QLatin1String("trim-auto"); arguments << outputArgument; arguments << callSetArgument; arguments << m_tracePath; diff --git a/gui/trimprocess.h b/gui/trimprocess.h index 4cce35d8..0d55c889 100644 --- a/gui/trimprocess.h +++ b/gui/trimprocess.h @@ -1,5 +1,4 @@ -#ifndef TRIMPROCESS_H -#define TRIMPROCESS_H +#pragma once #include "apitrace.h" @@ -40,5 +39,3 @@ private: int m_trimIndex; QProcess *m_process; }; - -#endif diff --git a/gui/ui/androiddevicedialog.ui b/gui/ui/androiddevicedialog.ui new file mode 100644 index 00000000..f26b8ba0 --- /dev/null +++ b/gui/ui/androiddevicedialog.ui @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>AndroidDeviceDialog</class> + <widget class="QDialog" name="AndroidDeviceDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>636</width> + <height>448</height> + </rect> + </property> + <property name="windowTitle"> + <string>Select Android Device</string> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="3" column="0" colspan="2"> + <widget class="QCheckBox" name="defaultDeviceCheckBox"> + <property name="text"> + <string>Always use this device for architecture %1</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item row="4" column="2"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QPushButton" name="refreshDevicesButton"> + <property name="text"> + <string>Refresh Device List</string> + </property> + </widget> + </item> + <item row="0" column="0" colspan="3"> + <widget class="QStackedWidget" name="stackedWidget"> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="devicesPage"> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="1" column="0"> + <widget class="QTreeView" name="deviceView"> + <property name="minimumSize"> + <size> + <width>600</width> + <height>300</height> + </size> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="missingLabel"> + <property name="text"> + <string><html><head/><body><p><a href="aaa"><span style=" text-decoration: underline; color:#0057ae;">My device is missing</span></a></p></body></html></string> + </property> + <property name="textFormat"> + <enum>Qt::RichText</enum> + </property> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="noDevicesPage"> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="noDeviceFoundLabel"> + <property name="text"> + <string notr="true"><html><head/><body><p><br/></p></body></html></string> + </property> + <property name="textFormat"> + <enum>Qt::RichText</enum> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>AndroidDeviceDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>AndroidDeviceDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/gui/ui/androidfiledialog.ui b/gui/ui/androidfiledialog.ui new file mode 100644 index 00000000..662b43b6 --- /dev/null +++ b/gui/ui/androidfiledialog.ui @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>AndroidFileDialog</class> + <widget class="QDialog" name="AndroidFileDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>501</width> + <height>325</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="label_2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Look in:</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="pathComboBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="editable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="upButton"> + <property name="text"> + <string/> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>20</height> + </size> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QTableView" name="filesView"> + <property name="editTriggers"> + <set>QAbstractItemView::NoEditTriggers</set> + </property> + <property name="selectionMode"> + <enum>QAbstractItemView::SingleSelection</enum> + </property> + <property name="selectionBehavior"> + <enum>QAbstractItemView::SelectRows</enum> + </property> + <property name="showGrid"> + <bool>false</bool> + </property> + <property name="cornerButtonEnabled"> + <bool>false</bool> + </property> + <attribute name="horizontalHeaderHighlightSections"> + <bool>false</bool> + </attribute> + <attribute name="verticalHeaderVisible"> + <bool>false</bool> + </attribute> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>File name:</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="fileLineEdit"/> + </item> + </layout> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>AndroidFileDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>294</x> + <y>311</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>fileLineEdit</sender> + <signal>returnPressed()</signal> + <receiver>AndroidFileDialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>164</x> + <y>262</y> + </hint> + <hint type="destinationlabel"> + <x>4</x> + <y>282</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/gui/ui/imageviewer.ui b/gui/ui/imageviewer.ui index a86d6ae3..4acfa296 100644 --- a/gui/ui/imageviewer.ui +++ b/gui/ui/imageviewer.ui @@ -141,6 +141,15 @@ </item> <item> <widget class="QDoubleSpinBox" name="lowerSpinBox"> + <property name="decimals"> + <number>3</number> + </property> + <property name="minimum"> + <double>-999.999000000000024</double> + </property> + <property name="maximum"> + <double>999.999000000000024</double> + </property> <property name="singleStep"> <double>0.050000000000000</double> </property> @@ -155,6 +164,15 @@ </item> <item> <widget class="QDoubleSpinBox" name="upperSpinBox"> + <property name="decimals"> + <number>3</number> + </property> + <property name="minimum"> + <double>-999.999000000000024</double> + </property> + <property name="maximum"> + <double>999.999000000000024</double> + </property> <property name="singleStep"> <double>0.050000000000000</double> </property> diff --git a/gui/ui/jumpwidget.ui b/gui/ui/jumpwidget.ui index 675dabfd..fb915359 100644 --- a/gui/ui/jumpwidget.ui +++ b/gui/ui/jumpwidget.ui @@ -55,7 +55,7 @@ </sizepolicy> </property> <property name="maximum"> - <number>9999999</number> + <number>999999999</number> </property> </widget> </item> diff --git a/gui/ui/mainwindow.ui b/gui/ui/mainwindow.ui index 129d0275..376f70e3 100644 --- a/gui/ui/mainwindow.ui +++ b/gui/ui/mainwindow.ui @@ -45,15 +45,31 @@ <x>0</x> <y>0</y> <width>787</width> - <height>21</height> + <height>24</height> </rect> </property> <widget class="QMenu" name="menuFile"> <property name="title"> <string>&File</string> </property> + <widget class="QMenu" name="menu_Android"> + <property name="title"> + <string>&Android</string> + </property> + <property name="icon"> + <iconset resource="../qapitrace.qrc"> + <normaloff>:/resources/android.png</normaloff>:/resources/android.png</iconset> + </property> + <addaction name="actionPullTrace"/> + <addaction name="actionPushTrace"/> + <addaction name="actionLinkTrace"/> + <addaction name="actionRetraceOnAndroid"/> + </widget> <addaction name="actionNew"/> <addaction name="actionOpen"/> + <addaction name="actionSave"/> + <addaction name="separator"/> + <addaction name="menu_Android"/> <addaction name="separator"/> <addaction name="actionQuit"/> </widget> @@ -76,6 +92,7 @@ <addaction name="actionLookupState"/> <addaction name="actionShowThumbnails"/> <addaction name="actionTrim"/> + <addaction name="actionLeakTrace"/> <addaction name="separator"/> <addaction name="actionOptions"/> </widget> @@ -117,7 +134,7 @@ <widget class="QWidget" name="dockWidgetContents"> <layout class="QHBoxLayout" name="horizontalLayout_2"> <item> - <widget class="QWebView" name="detailsWebView" native="true"> + <widget class="QWebView" name="detailsWebView"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Ignored"> <horstretch>0</horstretch> @@ -250,6 +267,39 @@ </item> </layout> </widget> + <widget class="QWidget" name="buffersTab"> + <attribute name="title"> + <string>Buffers</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_7"> + <item> + <widget class="QTreeWidget" name="buffersTreeWidget"> + <property name="editTriggers"> + <set>QAbstractItemView::NoEditTriggers</set> + </property> + <property name="alternatingRowColors"> + <bool>true</bool> + </property> + <property name="sortingEnabled"> + <bool>false</bool> + </property> + <property name="allColumnsShowFocus"> + <bool>true</bool> + </property> + <column> + <property name="text"> + <string>Name</string> + </property> + </column> + <column> + <property name="text"> + <string>Value</string> + </property> + </column> + </widget> + </item> + </layout> + </widget> </widget> </item> </layout> @@ -398,6 +448,26 @@ </widget> </item> <item> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="bufferExportButton"> + <property name="text"> + <string>Export</string> + </property> + </widget> + </item> + <item> <spacer name="horizontalSpacer_2"> <property name="orientation"> <enum>Qt::Horizontal</enum> @@ -492,6 +562,18 @@ <string>Ctrl+O</string> </property> </action> + <action name="actionSave"> + <property name="icon"> + <iconset resource="../qapitrace.qrc"> + <normaloff>:/resources/document-edit.png</normaloff>:/resources/document-edit.png</iconset> + </property> + <property name="text"> + <string>&Save As...</string> + </property> + <property name="shortcut"> + <string>Ctrl+S</string> + </property> + </action> <action name="actionQuit"> <property name="icon"> <iconset resource="../qapitrace.qrc"> @@ -553,7 +635,7 @@ </action> <action name="actionTrim"> <property name="text"> - <string>Tr&im</string> + <string>Tr&im (experimental)</string> </property> <property name="shortcut"> <string>Ctrl+I</string> @@ -651,6 +733,58 @@ <string>Ctrl+P</string> </property> </action> + <action name="actionPullTrace"> + <property name="icon"> + <iconset resource="../qapitrace.qrc"> + <normaloff>:/resources/go-bottom.png</normaloff>:/resources/go-bottom.png</iconset> + </property> + <property name="text"> + <string>Pull trace</string> + </property> + </action> + <action name="actionPushTrace"> + <property name="icon"> + <iconset resource="../qapitrace.qrc"> + <normaloff>:/resources/go-top.png</normaloff>:/resources/go-top.png</iconset> + </property> + <property name="text"> + <string>Push trace</string> + </property> + </action> + <action name="actionLinkTrace"> + <property name="icon"> + <iconset resource="../qapitrace.qrc"> + <normaloff>:/resources/android-setup.png</normaloff>:/resources/android-setup.png</iconset> + </property> + <property name="text"> + <string>Link trace</string> + </property> + </action> + <action name="actionSetup"> + <property name="icon"> + <iconset resource="../qapitrace.qrc"> + <normaloff>:/resources/document-new.png</normaloff>:/resources/document-new.png</iconset> + </property> + <property name="text"> + <string>Setup</string> + </property> + </action> + <action name="actionRetraceOnAndroid"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="text"> + <string>Retrace on Android</string> + </property> + </action> + <action name="actionLeakTrace"> + <property name="text"> + <string>&LeakTrace</string> + </property> + <property name="toolTip"> + <string>trace opengl object leaks</string> + </property> + </action> <zorder>stateDock</zorder> <zorder>vertexDataDock</zorder> <zorder>errorsDock</zorder> @@ -660,7 +794,7 @@ <customwidget> <class>QWebView</class> <extends>QWidget</extends> - <header>QtWebKit/QWebView</header> + <header>QtWebKitWidgets/QWebView</header> </customwidget> </customwidgets> <resources> diff --git a/gui/ui/profilereplaydialog.ui b/gui/ui/profilereplaydialog.ui index f5991ae4..2478f086 100644 --- a/gui/ui/profilereplaydialog.ui +++ b/gui/ui/profilereplaydialog.ui @@ -10,7 +10,7 @@ <x>0</x> <y>0</y> <width>353</width> - <height>165</height> + <height>202</height> </rect> </property> <property name="windowTitle"> @@ -59,6 +59,16 @@ </property> </widget> </item> + <item> + <widget class="QCheckBox" name="memoryUsageCB"> + <property name="text"> + <string>Memory usage</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> </layout> </widget> </item> diff --git a/gui/ui/settings.ui b/gui/ui/settings.ui index 1d2da3e9..a7dbd4cb 100644 --- a/gui/ui/settings.ui +++ b/gui/ui/settings.ui @@ -10,7 +10,7 @@ <x>0</x> <y>0</y> <width>571</width> - <height>334</height> + <height>465</height> </rect> </property> <property name="windowTitle"> @@ -118,6 +118,124 @@ </widget> </item> <item> + <widget class="QGroupBox" name="groupBox_2"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="title"> + <string>Android</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <widget class="QLabel" name="label_2"> + <property name="toolTip"> + <string><html><head/><body><p>ADB (Android Debugger Bridge) is located in &lt;Android SDK&gt;/platform-tools/adb</p></body></html></string> + </property> + <property name="text"> + <string>&adb path:</string> + </property> + <property name="buddy"> + <cstring>adbPathEdit</cstring> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="adbPathEdit"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>adb</string> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="chooseAdbPath"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QLabel" name="label_3"> + <property name="toolTip"> + <string><html><head/><body><p>ADB (Android Debugger Bridge) is located in &lt;Android SDK&gt;/platform-tools/adb</p></body></html></string> + </property> + <property name="text"> + <string>std&out port:</string> + </property> + <property name="buddy"> + <cstring>stdoutPort</cstring> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="stdoutPort"> + <property name="minimum"> + <number>1024</number> + </property> + <property name="maximum"> + <number>65535</number> + </property> + <property name="value"> + <number>52341</number> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QLabel" name="label_4"> + <property name="toolTip"> + <string><html><head/><body><p>ADB (Android Debugger Bridge) is located in &lt;Android SDK&gt;/platform-tools/adb</p></body></html></string> + </property> + <property name="text"> + <string>std&err port:</string> + </property> + <property name="buddy"> + <cstring>stderrPort</cstring> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="stderrPort"> + <property name="minimum"> + <number>1024</number> + </property> + <property name="maximum"> + <number>65535</number> + </property> + <property name="value"> + <number>52342</number> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> <widget class="QDialogButtonBox" name="buttonBox"> <property name="orientation"> <enum>Qt::Horizontal</enum> @@ -138,8 +256,8 @@ <slot>accept()</slot> <hints> <hint type="sourcelabel"> - <x>252</x> - <y>329</y> + <x>260</x> + <y>456</y> </hint> <hint type="destinationlabel"> <x>157</x> @@ -154,8 +272,8 @@ <slot>reject()</slot> <hints> <hint type="sourcelabel"> - <x>320</x> - <y>329</y> + <x>328</x> + <y>456</y> </hint> <hint type="destinationlabel"> <x>286</x> @@ -170,12 +288,12 @@ <slot>setEnabled(bool)</slot> <hints> <hint type="sourcelabel"> - <x>63</x> - <y>151</y> + <x>83</x> + <y>147</y> </hint> <hint type="destinationlabel"> - <x>107</x> - <y>151</y> + <x>216</x> + <y>148</y> </hint> </hints> </connection> diff --git a/gui/vertexdatainterpreter.h b/gui/vertexdatainterpreter.h index 6bf9b11c..1ad46b7d 100644 --- a/gui/vertexdatainterpreter.h +++ b/gui/vertexdatainterpreter.h @@ -1,5 +1,4 @@ -#ifndef VERTEXDATAINTERPRETER_H -#define VERTEXDATAINTERPRETER_H +#pragma once #include <QObject> @@ -49,5 +48,3 @@ private: int m_components; int m_startingOffset; }; - -#endif |