summaryrefslogtreecommitdiffstats
path: root/meta-boot2qt
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2018-03-02 13:08:39 +0200
committerSamuli Piippo <samuli.piippo@qt.io>2018-03-12 14:12:31 +0000
commit344c2f97025c6504ec986600498121bb83aaeb8f (patch)
tree3d7ec602603cb083b7c8e998eddca543ce17e57c /meta-boot2qt
parentd9985542d7617b43ec7180c7ade0c4f64db82b42 (diff)
downloadmeta-boot2qt-344c2f97025c6504ec986600498121bb83aaeb8f.tar.gz
Split meta-boot2qt layer
Move distro specific recipes to own layer and leave only new recipes and bbclasses to meta-boot2qt layer. This makes it easier to include meta-boot2qt to your own distro layer to get access e.g., QDB and QBSP recipes that might be useful even without boot2qt distro. Task-number: QTBUG-65871 Change-Id: I6c353774dd1668b00f2d05aa262ad866b90bdef6 Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Diffstat (limited to 'meta-boot2qt')
-rw-r--r--meta-boot2qt/classes/abi-arch.bbclass49
-rw-r--r--meta-boot2qt/classes/bootfs-image.bbclass60
-rw-r--r--meta-boot2qt/classes/consistent_timestamps.bbclass35
-rw-r--r--meta-boot2qt/classes/deploy-conf.bbclass44
-rw-r--r--meta-boot2qt/classes/image-hdd.bbclass48
-rw-r--r--meta-boot2qt/classes/image_dd.bbclass87
-rw-r--r--meta-boot2qt/classes/image_types_sdcard.bbclass68
-rw-r--r--meta-boot2qt/classes/internal-build.bbclass55
-rw-r--r--meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass92
-rw-r--r--meta-boot2qt/classes/populate_b2qt_sdk.bbclass62
-rw-r--r--meta-boot2qt/classes/qbsp-image.bbclass62
-rw-r--r--meta-boot2qt/classes/qbsp.bbclass174
-rw-r--r--meta-boot2qt/classes/qt5-module.bbclass30
-rw-r--r--meta-boot2qt/classes/qtquickcompiler.bbclass30
-rw-r--r--meta-boot2qt/classes/sdk-sources.bbclass99
-rw-r--r--meta-boot2qt/conf/layer.conf43
-rwxr-xr-xmeta-boot2qt/files/configure-qtcreator.sh173
-rw-r--r--meta-boot2qt/files/qbsp/NXP-EULA602
-rw-r--r--meta-boot2qt/files/qbsp/base_package.xml8
-rw-r--r--meta-boot2qt/files/qbsp/image_package.xml8
-rw-r--r--meta-boot2qt/files/qbsp/license_package.xml10
-rw-r--r--meta-boot2qt/files/qbsp/toolchain_installscript.qs125
-rw-r--r--meta-boot2qt/files/qbsp/toolchain_package.xml10
-rw-r--r--meta-boot2qt/licenses/The-Qt-Company-DCLA-2.1290
-rw-r--r--meta-boot2qt/recipes-core/initramfs-basic/files/init.sh102
-rw-r--r--meta-boot2qt/recipes-core/initramfs-basic/init-basic.bb43
-rw-r--r--meta-boot2qt/recipes-core/initramfs-basic/initramfs-basic.bb50
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree.bb86
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/Allow-updating-files-in-the-boot-directory.patch161
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/Create-firmware-convenience-symlinks.patch126
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/Mount-boot-partition.patch60
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/Print-pull-progress-also-when-not-on-console.patch94
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/Support-for-booting-without-initramfs.patch131
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/Workaround-the-SIGCHLD-handler-issue.patch54
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/deploy-add-karg-none-argument.patch62
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/ostree-prepare-root-enabler-for-simpler-kernel-arg.patch54
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/u-boot-add-bootdir-to-the-generated-uEnv.txt.patch52
-rw-r--r--meta-boot2qt/recipes-core/ostree/ostree/workaround-gtkdocize-configure-issue-in-autog.patch26
-rw-r--r--meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python.inc53
-rw-r--r--meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_i686.bb42
-rw-r--r--meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_x86_64.bb42
-rw-r--r--meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.service12
-rwxr-xr-xmeta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.sh17
-rw-r--r--meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf_4.3.30.bb65
-rw-r--r--meta-boot2qt/recipes-devtools/virtualbox/virtualbox-guest-additions_5.1.16.bb62
-rw-r--r--meta-boot2qt/recipes-graphics/fonts/otf-noto_git.bb52
-rw-r--r--meta-boot2qt/recipes-graphics/fonts/ttf-devanagari_2.94.0.bb53
-rw-r--r--meta-boot2qt/recipes-graphics/fonts/ttf-freefont_20120503.bb49
-rw-r--r--meta-boot2qt/recipes-graphics/fonts/ttf-opensans.bb51
-rw-r--r--meta-boot2qt/recipes-graphics/hunspell/hunspell-dicts.bb57
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/egl.cpp178
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/gles2.cpp728
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/egl.h329
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglext.h628
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglplatform.h143
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2.h523
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2ext.h1558
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2platform.h30
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3.h937
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl31.h1184
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3platform.h30
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/files/headers/KHR/khrplatform.h298
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/opengldummy.bb50
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/opengldummy.inc49
-rw-r--r--meta-boot2qt/recipes-graphics/opengldummy/qtglesstream-dummy-client.bb56
-rw-r--r--meta-boot2qt/recipes-qt/automotive/gammaray_git.bb30
-rw-r--r--meta-boot2qt/recipes-qt/automotive/multiscreen-demo/automotivedemo.service12
-rw-r--r--meta-boot2qt/recipes-qt/automotive/multiscreen-demo/tegra-t18x/automotivedemo.service13
-rw-r--r--meta-boot2qt/recipes-qt/automotive/multiscreen-demo_git.bb67
-rw-r--r--meta-boot2qt/recipes-qt/automotive/neptune-ui/neptune.service11
-rw-r--r--meta-boot2qt/recipes-qt/automotive/neptune-ui_git.bb73
-rw-r--r--meta-boot2qt/recipes-qt/automotive/qmllive-target/qmllive-target.patch19
-rw-r--r--meta-boot2qt/recipes-qt/automotive/qmllive-target_git.bb50
-rw-r--r--meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb70
-rw-r--r--meta-boot2qt/recipes-qt/automotive/qtivi/0001-Use-QT_HOST_BINS-get-for-getting-correct-path.patch29
-rw-r--r--meta-boot2qt/recipes-qt/automotive/qtivi_git.bb110
-rw-r--r--meta-boot2qt/recipes-qt/automotive/qtwebbrowser_git.bb45
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller.bb56
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf7
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf9
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf10
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf10
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx7/appcontroller.conf9
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf7
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/tegra-t18x/appcontroller.conf8
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/ti33x/appcontroller.conf8
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-demos.bb134
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher.bb65
-rwxr-xr-xmeta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh49
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt.service10
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/b2qt.service11
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/qtlauncher.service11
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/b2qt.service10
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/qtlauncher.service11
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/qtlauncher.service10
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/democompositor_git.bb47
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/qdbd.bb72
-rwxr-xr-xmeta-boot2qt/recipes-qt/b2qt-addons/qdbd/b2qt-gadget-network.sh103
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/qdbd/defaults8
-rwxr-xr-xmeta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd-init.sh120
-rw-r--r--meta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd.service11
-rw-r--r--meta-boot2qt/recipes-qt/qt5/installer-framework-native_3.0.1.bb50
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtdeviceutilities.bb44
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtglesstream.bb63
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtotaupdate.bb42
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtsimulator/custom.target5
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator1
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator-hostname.sh1
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxy.service11
-rwxr-xr-xmeta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxyd.sh49
-rw-r--r--meta-boot2qt/recipes-qt/qt5/qtsimulator_1.0.bb74
111 files changed, 12306 insertions, 0 deletions
diff --git a/meta-boot2qt/classes/abi-arch.bbclass b/meta-boot2qt/classes/abi-arch.bbclass
new file mode 100644
index 0000000..23b9b1c
--- /dev/null
+++ b/meta-boot2qt/classes/abi-arch.bbclass
@@ -0,0 +1,49 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30# map target architecture to abi architectures used by Qt Creator
31valid_archs = "arm x86 itanium mips ppc sh"
32
33def map_abi_arch(a, d):
34 import re
35
36 valid_archs = d.getVar('valid_archs', True).split()
37
38 if re.match('i.86$', a): return 'x86'
39 elif re.match('x86.64$', a): return 'x86'
40 elif re.match('armeb$', a): return 'arm'
41 elif re.match('aarch64', a): return 'arm'
42 elif re.match('mips(el|64|64el)$', a): return 'mips'
43 elif re.match('p(pc|owerpc)(|64)', a): return 'ppc'
44 elif re.match('sh(3|4)$', a): return 'sh'
45 elif a in valid_archs: return a
46 else:
47 bb.error("cannot map '%s' to a abi architecture" % a)
48
49ABI = "${@map_abi_arch(d.getVar('TARGET_ARCH', True), d)}"
diff --git a/meta-boot2qt/classes/bootfs-image.bbclass b/meta-boot2qt/classes/bootfs-image.bbclass
new file mode 100644
index 0000000..c7a25ae
--- /dev/null
+++ b/meta-boot2qt/classes/bootfs-image.bbclass
@@ -0,0 +1,60 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30BOOTFS_NAME = "${IMAGE_BASENAME}-boot-${MACHINE}-${DATETIME}"
31BOOTFS_LINK_NAME = "${IMAGE_BASENAME}-boot-${MACHINE}"
32BOOTFS_NAME[vardepsexclude] += "DATETIME"
33
34BOOTFS_DEPENDS ?= ""
35
36fakeroot do_bootfs () {
37 if [ -z "${BOOTFS_CONTENT}" ]; then
38 exit 0
39 fi
40
41 mkdir -p ${S}/bootfs
42
43 for item in ${BOOTFS_CONTENT}; do
44 src=`echo $item | awk -F':' '{ print $1 }'`
45 dst=`echo $item | awk -F':' '{ print $2 }'`
46
47 install -D -m 0755 ${IMGDEPLOYDIR}/$src ${S}/bootfs/$dst
48 done
49
50 cd ${S}/bootfs
51 rm -f ${IMGDEPLOYDIR}/${BOOTFS_NAME}.tar.gz ${IMGDEPLOYDIR}/${BOOTFS_LINK_NAME}.tar.gz
52
53 mkdir -p ${IMGDEPLOYDIR}
54 tar czvf ${IMGDEPLOYDIR}/${BOOTFS_NAME}.tar.gz .
55 ln -s ${BOOTFS_NAME}.tar.gz ${IMGDEPLOYDIR}/${BOOTFS_LINK_NAME}.tar.gz
56}
57
58addtask bootfs before do_rootfs
59
60do_bootfs[depends] += "${BOOTFS_DEPENDS}"
diff --git a/meta-boot2qt/classes/consistent_timestamps.bbclass b/meta-boot2qt/classes/consistent_timestamps.bbclass
new file mode 100644
index 0000000..1f560c2
--- /dev/null
+++ b/meta-boot2qt/classes/consistent_timestamps.bbclass
@@ -0,0 +1,35 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30update_file_timestaps() {
31 # Update file timestamp to 1 second since Epoch time.
32 TZ=UTC find ${IMAGE_ROOTFS} -exec touch -h -m -t '197001010000.01' {} \;
33}
34
35ROOTFS_POSTINSTALL_COMMAND += "update_file_timestaps; "
diff --git a/meta-boot2qt/classes/deploy-conf.bbclass b/meta-boot2qt/classes/deploy-conf.bbclass
new file mode 100644
index 0000000..228b1e2
--- /dev/null
+++ b/meta-boot2qt/classes/deploy-conf.bbclass
@@ -0,0 +1,44 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30inherit image_types
31
32DEPLOY_CONF_NAME ?= "${MACHINE}"
33DEPLOY_CONF_TYPE ?= "Boot2Qt"
34
35IMAGE_CMD_conf() {
36 cat > ${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.conf <<EOF
37[${DEPLOY_CONF_TYPE} | ${DEPLOY_CONF_NAME}]
38platform=${MACHINE}
39os=linux
40board=
41imagefile=${IMAGE_LINK_NAME}.img
42asroot=true
43EOF
44}
diff --git a/meta-boot2qt/classes/image-hdd.bbclass b/meta-boot2qt/classes/image-hdd.bbclass
new file mode 100644
index 0000000..d12f3bf
--- /dev/null
+++ b/meta-boot2qt/classes/image-hdd.bbclass
@@ -0,0 +1,48 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30VM_ROOTFS_TYPE = "ext3"
31ROOT_VM = "root=/dev/hda2"
32LABELS_VM = "boot"
33AUTO_SYSLINUXMENU = "0"
34SYSLINUX_DEFAULT_CONSOLE = "console=ttyS0,115200"
35
36inherit image_types image-vm
37
38create_hdd_image () {
39 cd ${IMGDEPLOYDIR}
40 rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.hdd
41 ln -s ${IMAGE_NAME}.hdddirect ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.hdd
42}
43
44python do_hddimg() {
45 bb.build.exec_func('create_hdd_image', d)
46}
47
48addtask hddimg after do_bootdirectdisk before do_build
diff --git a/meta-boot2qt/classes/image_dd.bbclass b/meta-boot2qt/classes/image_dd.bbclass
new file mode 100644
index 0000000..e05536b
--- /dev/null
+++ b/meta-boot2qt/classes/image_dd.bbclass
@@ -0,0 +1,87 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30# This class is based on meta-freescale/classes/image_types_fsl.bbclass::generate_imx_sdcard()
31DESCRIPTION = "The base class for building images that can be deployed with GNU coreutils dd tool."
32inherit image_types
33
34IMAGE="${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.img"
35
36# Boot partition size [in KiB]
37BOOT_SPACE ?= "8192"
38
39# Set alignment to 4MB [in KiB]
40IMAGE_ROOTFS_ALIGNMENT = "4096"
41
42# Boot partition volume id
43BOOTDD_VOLUME_ID = "boot"
44
45IMAGE_TYPEDEP_dd = "ext3"
46IMAGE_DEPENDS_dd = "parted-native:do_populate_sysroot \
47 dosfstools-native:do_populate_sysroot \
48 mtools-native:do_populate_sysroot"
49
50image_dd_do_populate_boot() {
51}
52EXPORT_FUNCTIONS do_populate_boot
53
54IMAGE_CMD_dd() {
55
56 ROOTFS="${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.ext3"
57
58 # Align boot partition and calculate total binary image size
59 BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
60 BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
61 IMAGE_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE + ${IMAGE_ROOTFS_ALIGNMENT})
62
63 # Initialize a sparse file
64 dd if=/dev/zero of=${IMAGE} bs=1 count=0 seek=$(expr 1024 \* ${IMAGE_SIZE})
65
66 # Create partition table
67 parted -s ${IMAGE} mklabel msdos
68 parted -s ${IMAGE} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED})
69 parted -s ${IMAGE} unit KiB mkpart primary $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED}) $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${BOOT_SPACE_ALIGNED} \+ $ROOTFS_SIZE)
70 parted -s ${IMAGE} set 1 boot on
71 parted ${IMAGE} print
72
73 # Create boot partition image
74 BOOT_BLOCKS=$(LC_ALL=C parted -s ${IMAGE} unit b print \
75 | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 1024 }')
76 rm -f ${WORKDIR}/boot.img
77 mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
78 do_populate_boot
79
80 # Burn Partitions
81 dd if=${WORKDIR}/boot.img of=${IMAGE} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
82 dd if=${ROOTFS} of=${IMAGE} conv=notrunc seek=1 bs=$(expr ${BOOT_SPACE_ALIGNED} \* 1024 + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
83
84 rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
85 ln -s ${IMAGE_NAME}.rootfs.img ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
86}
87
diff --git a/meta-boot2qt/classes/image_types_sdcard.bbclass b/meta-boot2qt/classes/image_types_sdcard.bbclass
new file mode 100644
index 0000000..37b1b61
--- /dev/null
+++ b/meta-boot2qt/classes/image_types_sdcard.bbclass
@@ -0,0 +1,68 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30IMAGE_ROOTFS_EXTRA_SPACE = "100000"
31SDCARD_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.ext3"
32SDCARD_GENERATION_COMMAND ?= "generate_imx_sdcard"
33
34IMAGE_CMD_sdcard_append() {
35 parted -s ${SDCARD} set 1 boot on
36
37 rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
38 ln -s ${IMAGE_NAME}.rootfs.sdcard ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
39}
40
41IMAGE_CMD_rpi-sdimg_append() {
42 rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
43 ln -s ${IMAGE_NAME}.rootfs.rpi-sdimg ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
44}
45
46build_hddimg_append() {
47 rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
48 ln -s ${IMAGE_NAME}.hddimg ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
49}
50
51IMAGE_DEPENDS_tegraflash_append = " parted-native:do_populate_sysroot"
52create_tegraflash_pkg_prepend() {
53 # Create partition table
54 SDCARD=${IMGDEPLOYDIR}/${IMAGE_NAME}.img
55 SDCARD_ROOTFS=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ext4
56 SDCARD_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${ROOTFS_SIZE} + ${IMAGE_ROOTFS_ALIGNMENT})
57
58 dd if=/dev/zero of=$SDCARD bs=1 count=0 seek=$(expr 1024 \* $SDCARD_SIZE)
59
60 parted -s $SDCARD mklabel gpt
61 parted -s $SDCARD unit KiB mkpart primary ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${IMAGE_ROOTFS_ALIGNMENT} \+ ${ROOTFS_SIZE})
62 parted $SDCARD print
63
64 dd if=$SDCARD_ROOTFS of=$SDCARD conv=notrunc,fsync seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
65
66 rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
67 ln -s ${IMAGE_NAME}.img ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.img
68}
diff --git a/meta-boot2qt/classes/internal-build.bbclass b/meta-boot2qt/classes/internal-build.bbclass
new file mode 100644
index 0000000..64c07bf
--- /dev/null
+++ b/meta-boot2qt/classes/internal-build.bbclass
@@ -0,0 +1,55 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30python enable_internal_build () {
31 import socket
32 try:
33 socket.gethostbyname('yocto-cache.intra.qt.io')
34 except:
35 return
36
37 e.data.setVar('ENABLE_QTQUICKCOMPILER', "1")
38 e.data.prependVar('SSTATE_MIRRORS', "file://.* http://yocto-cache.intra.qt.io/sstate-caches/${DISTRO_CODENAME}/PATH")
39 e.data.prependVar('PREMIRRORS', "\
40 ftp://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
41 http://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
42 https://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
43 bzr://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
44 cvs://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
45 git://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
46 gitsm://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
47 hg://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
48 osc://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
49 p4://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
50 svn://.*/.* http://yocto-cache.intra.qt.io/sources/ \n \
51 ")
52}
53
54addhandler enable_internal_build
55enable_internal_build[eventmask] = "bb.event.ConfigParsed"
diff --git a/meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass b/meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass
new file mode 100644
index 0000000..e98565c
--- /dev/null
+++ b/meta-boot2qt/classes/populate_b2qt_qt5_sdk.bbclass
@@ -0,0 +1,92 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30inherit populate_b2qt_sdk populate_sdk_qt5_base abi-arch siteinfo
31
32SDK_MKSPEC_DIR = "${SDK_OUTPUT}${SDKTARGETSYSROOT}${libdir}/${QT_DIR_NAME}/mkspecs"
33NATIVE_SDK_MKSPEC_DIR = "${SDK_OUTPUT}${SDKPATHNATIVE}${libdir}/${QT_DIR_NAME}/mkspecs"
34SDK_MKSPEC = "devices/linux-oe-generic-g++"
35SDK_DEVICE_PRI = "${SDK_MKSPEC_DIR}/qdevice.pri"
36SDK_DYNAMIC_FLAGS = "-O. -pipe -g"
37
38create_sdk_files_append () {
39 # Create the toolchain user's generic device mkspec
40 install -d ${SDK_MKSPEC_DIR}/${SDK_MKSPEC}
41 cat > ${SDK_MKSPEC_DIR}/${SDK_MKSPEC}/qmake.conf <<EOF
42include(../common/linux_device_pre.conf)
43exists(../../oe-device-extra.pri):include(../../oe-device-extra.pri)
44include(../common/linux_device_post.conf)
45load(qt_config)
46EOF
47
48 cat > ${SDK_MKSPEC_DIR}/${SDK_MKSPEC}/qplatformdefs.h <<EOF
49#include "../../linux-g++/qplatformdefs.h"
50EOF
51
52 # Fill in the qdevice.pri file which will be used by the device mksspec
53 static_cflags="${TARGET_CFLAGS}"
54 static_cxxflags="${TARGET_CXXFLAGS}"
55 for i in ${SDK_DYNAMIC_FLAGS}; do
56 static_cflags=$(echo $static_cflags | sed -e "s/$i //")
57 static_cxxflags=$(echo $static_cxxflags | sed -e "s/$i //")
58 done
59 echo "MACHINE = ${MACHINE}" > ${SDK_DEVICE_PRI}
60 echo "CROSS_COMPILE = \$\$[QT_HOST_PREFIX]${bindir_nativesdk}/${TARGET_SYS}/${TARGET_PREFIX}" >> ${SDK_DEVICE_PRI}
61 echo "QMAKE_CFLAGS *= ${TARGET_CC_ARCH} ${static_cflags}" >> ${SDK_DEVICE_PRI}
62 echo "QMAKE_CXXFLAGS *= ${TARGET_CC_ARCH} ${static_cxxflags}" >> ${SDK_DEVICE_PRI}
63 echo "QMAKE_LFLAGS *= ${TARGET_CC_ARCH} ${TARGET_LDFLAGS}" >> ${SDK_DEVICE_PRI}
64
65 # Setup qt.conf to point at the device mkspec by default
66 qtconf=${SDK_OUTPUT}/${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qt.conf
67 echo 'HostSpec = linux-g++' >> $qtconf
68 echo 'TargetSpec = devices/linux-oe-generic-g++' >> $qtconf
69
70 # Update correct host_build ARCH and ABI to mkspecs/qconfig.pri
71 QT_ARCH=$(grep QT_ARCH ${NATIVE_SDK_MKSPEC_DIR}/qconfig.pri | tail -1)
72 QT_BUILDABI=$(grep QT_BUILDABI ${NATIVE_SDK_MKSPEC_DIR}/qconfig.pri | tail -1)
73
74 sed -e "0,/QT_ARCH/s/^.*QT_ARCH.*/$QT_ARCH/" \
75 -e "0,/QT_BUILDABI/s/^.*QT_BUILDABI.*/$QT_BUILDABI/" \
76 -i ${SDK_MKSPEC_DIR}/qconfig.pri
77
78 create_qtcreator_configure_script
79
80 # Link /etc/resolv.conf is broken in the toolchain sysroot, remove it
81 rm -f ${SDK_OUTPUT}${SDKTARGETSYSROOT}${sysconfdir}/resolv.conf
82}
83
84create_qtcreator_configure_script () {
85 # add qtcreator configuration script
86 install -m 0755 ${B2QTBASE}/files/configure-qtcreator.sh ${SDK_OUTPUT}/${SDKPATH}
87 sed -i -e '/^CONFIG=/c\CONFIG="${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}"' ${SDK_OUTPUT}/${SDKPATH}/configure-qtcreator.sh
88 sed -i -e '/^ABI=/c\ABI="${ABI}-linux-generic-elf-${SITEINFO_BITS}bit"' ${SDK_OUTPUT}/${SDKPATH}/configure-qtcreator.sh
89}
90
91create_qtcreator_configure_script_mingw32 () {
92}
diff --git a/meta-boot2qt/classes/populate_b2qt_sdk.bbclass b/meta-boot2qt/classes/populate_b2qt_sdk.bbclass
new file mode 100644
index 0000000..8d600d0
--- /dev/null
+++ b/meta-boot2qt/classes/populate_b2qt_sdk.bbclass
@@ -0,0 +1,62 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30inherit populate_sdk
31
32replace_sysroot_symlink() {
33 SYMLINK_SYSROOT=$1
34 SEARCH_FOLDER=$2
35 for SOURCE in `find ${SEARCH_FOLDER} -type l`
36 do
37 TARGET=`readlink -m "${SOURCE}"`
38 #check whether TARGET is inside the sysroot when not prepend the sysroot
39 TARGET=`echo ${TARGET} | grep "^${SYMLINK_SYSROOT}" || echo ${SYMLINK_SYSROOT}${TARGET}`
40 rm "${SOURCE}"
41 if [ -f "${TARGET}" ]; then
42 cp "${TARGET}" "${SOURCE}"
43 elif [ -e "${TARGET}" ]; then
44 touch "${SOURCE}"
45 fi
46 done
47}
48
49do_populate_sdk[depends] += "p7zip-native:do_populate_sysroot"
50
51fakeroot tar_sdk_sdkmingw32() {
52 replace_sysroot_symlink ${SDK_OUTPUT}${SDKTARGETSYSROOT} ${SDK_OUTPUT}${SDKTARGETSYSROOT}
53 replace_sysroot_symlink ${SDK_OUTPUT}${SDKPATHNATIVE} ${SDK_OUTPUT}${SDKPATHNATIVE}
54 # Package it up
55 mkdir -p ${SDK_DEPLOY}
56 cd ${SDK_OUTPUT}/${SDKPATH}
57 if [ -e ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z ]; then
58 rm ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z
59 fi
60 7zr a ${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.7z sysroots
61}
62
diff --git a/meta-boot2qt/classes/qbsp-image.bbclass b/meta-boot2qt/classes/qbsp-image.bbclass
new file mode 100644
index 0000000..71d1d45
--- /dev/null
+++ b/meta-boot2qt/classes/qbsp-image.bbclass
@@ -0,0 +1,62 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30QBSP_IMAGE_CONTENT ??= ""
31
32do_image_complete[depends] += "p7zip-native:do_populate_sysroot"
33
34fakeroot do_qbsp_image () {
35 if [ -z "${QBSP_IMAGE_CONTENT}" ]; then
36 exit 0
37 fi
38
39 mkdir -p ${S}/qbsp
40
41 for item in ${QBSP_IMAGE_CONTENT}; do
42 src=`echo $item | awk -F':' '{ print $1 }'`
43 dst=`echo $item | awk -F':' '{ print $2 }'`
44
45 if [ -e "${IMGDEPLOYDIR}/$src" ]; then
46 install -D -m 0755 ${IMGDEPLOYDIR}/$src ${S}/qbsp/$dst
47 elif [ -e "${DEPLOY_DIR_IMAGE}/$src" ]; then
48 install -D -m 0755 ${DEPLOY_DIR_IMAGE}/$src ${S}/qbsp/$dst
49 else
50 echo "Could not copy file $src"
51 exit 1
52 fi
53 done
54
55 cd ${S}/qbsp
56 7zr a ${IMGDEPLOYDIR}/${IMAGE_NAME}.7z .
57
58 rm -f ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.7z
59 ln -s ${IMAGE_NAME}.7z ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.7z
60}
61
62IMAGE_POSTPROCESS_COMMAND += "do_qbsp_image;"
diff --git a/meta-boot2qt/classes/qbsp.bbclass b/meta-boot2qt/classes/qbsp.bbclass
new file mode 100644
index 0000000..da790bf
--- /dev/null
+++ b/meta-boot2qt/classes/qbsp.bbclass
@@ -0,0 +1,174 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30inherit meta nopackages abi-arch
31
32FILESEXTRAPATHS_prepend := "${B2QTBASE}/files/qbsp:"
33
34SRC_URI = "\
35 file://base_package.xml \
36 file://image_package.xml \
37 file://toolchain_package.xml \
38 file://toolchain_installscript.qs \
39 file://license_package.xml \
40 file://NXP-EULA \
41 "
42
43INHIBIT_DEFAULT_DEPS = "1"
44do_qbsp[depends] += "\
45 p7zip-native:do_populate_sysroot \
46 installer-framework-native:do_populate_sysroot \
47 ${QBSP_SDK_TASK}:do_populate_sdk \
48 ${QBSP_IMAGE_TASK}:do_image_complete \
49 "
50
51QBSP_VERSION ?= "${PV}${VERSION_AUTO_INCREMENT}"
52QBSP_INSTALLER_COMPONENT ?= "${@d.getVar('MACHINE', True).replace('-','')}"
53QBSP_INSTALL_PATH ?= "/Extras/${MACHINE}"
54
55QBSP_LICENSE_FILE ?= ""
56QBSP_LICENSE_NAME ?= ""
57QBSP_LICENSE_FILE_imx = "NXP-EULA"
58QBSP_LICENSE_NAME_imx = "NXP Semiconductors Software License Agreement"
59
60VERSION_AUTO_INCREMENT = "-${DATETIME}"
61VERSION_AUTO_INCREMENT[vardepsexclude] = "DATETIME"
62
63DEPLOY_CONF_NAME ?= "${MACHINE}"
64RELEASEDATE = "${@time.strftime('%Y-%m-%d',time.gmtime())}"
65
66IMAGE_PACKAGE = "${QBSP_IMAGE_TASK}-${MACHINE}.7z"
67SDK_NAME = "${DISTRO}-${SDK_MACHINE}-${QBSP_SDK_TASK}-${MACHINE}.${SDK_POSTFIX}"
68SDK_POSTFIX = "sh"
69SDK_POSTFIX_sdkmingw32 = "7z"
70REAL_MULTIMACH_TARGET_SYS = "${TUNE_PKGARCH}${TARGET_VENDOR}-${TARGET_OS}"
71SDK_MACHINE = "${@d.getVar('SDKMACHINE', True) or '${SDK_ARCH}'}"
72
73B = "${WORKDIR}/build"
74
75patch_installer_files() {
76 LICENSE_DEPENDENCY=""
77 if [ -n "${QBSP_LICENSE_FILE}" ]; then
78 LICENSE_DEPENDENCY="${QBSP_INSTALLER_COMPONENT}.license"
79 fi
80
81 sed -e "s#@NAME@#${QBSP_NAME}#" \
82 -e "s#@TARGET@#${DEPLOY_CONF_NAME}#" \
83 -e "s#@VERSION@#${QBSP_VERSION}#" \
84 -e "s#@RELEASEDATE@#${RELEASEDATE}#" \
85 -e "s#@MACHINE@#${MACHINE}#" \
86 -e "s#@SYSROOT@#${REAL_MULTIMACH_TARGET_SYS}#" \
87 -e "s#@TARGET_SYS@#${TARGET_SYS}#" \
88 -e "s#@ABI@#${ABI}#" \
89 -e "s#@INSTALLPATH@#${QBSP_INSTALL_PATH}#" \
90 -e "s#@SDKPATH@#${SDKPATH}#" \
91 -e "s#@SDKFILE@#${SDK_NAME}#" \
92 -e "s#@LICENSEDEPENDENCY@#${LICENSE_DEPENDENCY}#" \
93 -e "s#@LICENSEFILE@#${QBSP_LICENSE_FILE}#" \
94 -e "s#@LICENSENAME@#${QBSP_LICENSE_NAME}#" \
95 -i ${1}/*
96}
97
98prepare_qbsp() {
99 # Toolchain component
100 COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.toolchain"
101 mkdir -p ${COMPONENT_PATH}/meta
102 mkdir -p ${COMPONENT_PATH}/data
103
104 cp ${WORKDIR}/toolchain_package.xml ${COMPONENT_PATH}/meta/package.xml
105 cp ${WORKDIR}/toolchain_installscript.qs ${COMPONENT_PATH}/meta/installscript.qs
106 patch_installer_files ${COMPONENT_PATH}/meta
107
108 mkdir -p ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain
109 if [ "${SDK_POSTFIX}" = "7z" ]; then
110 7zr x ${DEPLOY_DIR}/sdk/${SDK_NAME} -o${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/
111 else
112 cp ${DEPLOY_DIR}/sdk/${SDK_NAME} ${B}/toolchain/${QBSP_INSTALL_PATH}/toolchain/
113 fi
114
115 cd ${B}/toolchain
116 7zr a ${COMPONENT_PATH}/data/toolchain.7z *
117
118 # Image component
119 COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.system"
120 mkdir -p ${COMPONENT_PATH}/meta
121 mkdir -p ${COMPONENT_PATH}/data
122
123 cp ${WORKDIR}/image_package.xml ${COMPONENT_PATH}/meta/package.xml
124 patch_installer_files ${COMPONENT_PATH}/meta
125
126 mkdir -p ${B}/images/${QBSP_INSTALL_PATH}/images
127 7zr x ${DEPLOY_DIR_IMAGE}/${IMAGE_PACKAGE} -o${B}/images/${QBSP_INSTALL_PATH}/images/
128
129 cd ${B}/images
130 7zr a ${COMPONENT_PATH}/data/image.7z *
131
132 # License component
133 if [ -n "${QBSP_LICENSE_FILE}" ]; then
134 COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}.license"
135 mkdir -p ${COMPONENT_PATH}/meta
136
137 cp ${WORKDIR}/license_package.xml ${COMPONENT_PATH}/meta/package.xml
138 cp ${WORKDIR}/${QBSP_LICENSE_FILE} ${COMPONENT_PATH}/meta/
139 patch_installer_files ${COMPONENT_PATH}/meta
140 fi
141
142 # Base component
143 COMPONENT_PATH="${B}/pkg/${QBSP_INSTALLER_COMPONENT}"
144 mkdir -p ${COMPONENT_PATH}/meta
145
146 cp ${WORKDIR}/base_package.xml ${COMPONENT_PATH}/meta/package.xml
147 patch_installer_files ${COMPONENT_PATH}/meta
148}
149
150create_qbsp() {
151 prepare_qbsp
152
153 # Repository creation
154 repogen -p ${B}/pkg ${B}/repository
155
156 mkdir -p ${DEPLOY_DIR}/qbsp
157 rm -f ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp
158
159 cd ${B}/repository
160 7zr a ${DEPLOY_DIR}/qbsp/${PN}-${SDK_MACHINE}-${MACHINE}.qbsp *
161}
162
163python do_qbsp() {
164 bb.build.exec_func('create_qbsp', d)
165}
166
167addtask qbsp after do_unpack before do_build
168
169do_qbsp[cleandirs] += "${B}"
170
171do_configure[noexec] = "1"
172do_compile[noexec] = "1"
173do_populate_sysroot[noexec] = "1"
174do_populate_lic[noexec] = "1"
diff --git a/meta-boot2qt/classes/qt5-module.bbclass b/meta-boot2qt/classes/qt5-module.bbclass
new file mode 100644
index 0000000..e68f95f
--- /dev/null
+++ b/meta-boot2qt/classes/qt5-module.bbclass
@@ -0,0 +1,30 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30require recipes-qt/qt5/qt5.inc
diff --git a/meta-boot2qt/classes/qtquickcompiler.bbclass b/meta-boot2qt/classes/qtquickcompiler.bbclass
new file mode 100644
index 0000000..f54887c
--- /dev/null
+++ b/meta-boot2qt/classes/qtquickcompiler.bbclass
@@ -0,0 +1,30 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30EXTRA_QMAKEVARS_PRE += "CONFIG+=qtquickcompiler"
diff --git a/meta-boot2qt/classes/sdk-sources.bbclass b/meta-boot2qt/classes/sdk-sources.bbclass
new file mode 100644
index 0000000..b12f371
--- /dev/null
+++ b/meta-boot2qt/classes/sdk-sources.bbclass
@@ -0,0 +1,99 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30python do_fetch () {
31 src_uri = (d.getVar('SRC_URI', True) or "").split()
32 if len(src_uri) == 0:
33 return
34
35 sdk_path = d.getVar('QT_SDK_PATH', True) or ""
36 if len(sdk_path) != 0:
37 uris = list(src_uri);
38 for url in uris:
39 ud = list(bb.fetch2.decodeurl(url))
40 if ("sdk-uri" in ud[5]):
41 src_uri.remove(url)
42
43
44 if len(src_uri) == 0:
45 return
46
47 try:
48 fetcher = bb.fetch2.Fetch(src_uri, d)
49 fetcher.download()
50 except bb.fetch2.BBFetchException as e:
51 raise bb.build.FuncFailed(e)
52}
53
54python do_unpack () {
55 sdk_uds = [];
56 src_uri = (d.getVar('SRC_URI', True) or "").split()
57 if len(src_uri) == 0:
58 return
59
60 rootdir = d.getVar('WORKDIR', True)
61
62 sdk_path = d.getVar('QT_SDK_PATH', True) or ""
63 if len(sdk_path) != 0:
64 uris = list(src_uri);
65 for url in uris:
66 ud = list(bb.fetch2.decodeurl(url))
67 if ("sdk-uri" in ud[5]):
68 sdk_uds.append(ud)
69 src_uri.remove(url)
70
71 if len(src_uri) != 0:
72 try:
73 fetcher = bb.fetch2.Fetch(src_uri, d)
74 fetcher.unpack(rootdir)
75 except bb.fetch2.BBFetchException as e:
76 raise bb.build.FuncFailed(e)
77
78 for ud in sdk_uds:
79 unpack_local_uri(ud, d)
80}
81
82def unpack_local_uri(ud, d):
83 import subprocess
84 rootdir = d.getVar('WORKDIR', True)
85 sdk_path = d.getVar('QT_SDK_PATH', True)
86
87 destdir = os.path.join(rootdir, ud[5].get("destsuffix", "git"))
88 srcdir = os.path.join(sdk_path, ud[5].get("sdk-uri"))
89 cmd = "cp -vrf %s %s" % (srcdir, destdir)
90
91 bb.note("Unpacking SDK sources %s to %s" % (srcdir, destdir))
92
93 if os.path.exists(destdir):
94 bb.utils.prunedir(destdir)
95
96 ret = subprocess.call(cmd, shell=True)
97
98 if ret != 0:
99 raise bb.fetch.UnpackError("Unpack command %s failed with return value %s" % (cmd, ret), ud)
diff --git a/meta-boot2qt/conf/layer.conf b/meta-boot2qt/conf/layer.conf
new file mode 100644
index 0000000..de3f836
--- /dev/null
+++ b/meta-boot2qt/conf/layer.conf
@@ -0,0 +1,43 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30# We have a conf and classes directory, append to BBPATH
31BBPATH .= ":${LAYERDIR}"
32
33# We have a recipes directory, add to BBFILES
34BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
35 ${LAYERDIR}/recipes*/*/*.bbappend \
36 "
37BBFILE_COLLECTIONS += "b2qt"
38BBFILE_PATTERN_b2qt := "^${LAYERDIR}/"
39BBFILE_PRIORITY_b2qt = "20"
40
41LICENSE_PATH += "${LAYERDIR}/licenses"
42QT_LICENSE = "${LAYERDIR}/licenses/The-Qt-Company-DCLA-2.1"
43B2QTBASE = "${LAYERDIR}"
diff --git a/meta-boot2qt/files/configure-qtcreator.sh b/meta-boot2qt/files/configure-qtcreator.sh
new file mode 100755
index 0000000..7386f70
--- /dev/null
+++ b/meta-boot2qt/files/configure-qtcreator.sh
@@ -0,0 +1,173 @@
1#!/bin/bash
2############################################################################
3##
4## Copyright (C) 2016 The Qt Company Ltd.
5## Contact: https://www.qt.io/licensing/
6##
7## This file is part of the Boot to Qt meta layer.
8##
9## $QT_BEGIN_LICENSE:GPL$
10## Commercial License Usage
11## Licensees holding valid commercial Qt licenses may use this file in
12## accordance with the commercial license agreement provided with the
13## Software or, alternatively, in accordance with the terms contained in
14## a written agreement between you and The Qt Company. For licensing terms
15## and conditions see https://www.qt.io/terms-conditions. For further
16## information use the contact form at https://www.qt.io/contact-us.
17##
18## GNU General Public License Usage
19## Alternatively, this file may be used under the terms of the GNU
20## General Public License version 3 or (at your option) any later version
21## approved by the KDE Free Qt Foundation. The licenses are as published by
22## the Free Software Foundation and appearing in the file LICENSE.GPL3
23## included in the packaging of this file. Please review the following
24## information to ensure the GNU General Public License requirements will
25## be met: https://www.gnu.org/licenses/gpl-3.0.html.
26##
27## $QT_END_LICENSE$
28##
29############################################################################
30
31set -e
32
33ABI="arm-linux-generic-elf-32bit"
34CONFIG=""
35
36printUsage ()
37{
38 echo "Usage: $0 --config <environment-setup-file> [--remove] [--qtcreator <path>] [--name <basename>] [--appman]"
39}
40
41while test -n "$1"; do
42 case "$1" in
43 "--remove")
44 REMOVEONLY=1
45 ;;
46 "--appman")
47 APPMAN=1
48 ;;
49 "--qtcreator")
50 shift
51 QTCREATOR=$1
52 ;;
53 "--config")
54 shift
55 CONFIG=$1
56 ;;
57 "--name")
58 shift
59 NAME=$1
60 ;;
61 *)
62 printUsage
63 exit 0
64 ;;
65 esac
66 shift
67done
68
69if [ ! -f "$CONFIG" ]; then
70 printUsage
71 exit 1
72fi
73
74if [ -z "${QTCREATOR}" ]; then
75 SDKTOOL="${HOME}/Qt/Tools/QtCreator/libexec/qtcreator/sdktool"
76else
77 SDKTOOL="${QTCREATOR}/libexec/qtcreator/sdktool"
78fi
79if [ ! -x ${SDKTOOL} ]; then
80 echo "Cannot find 'sdktool' from QtCreator"
81 printUsage
82 exit 1
83fi
84
85source $CONFIG
86
87MKSPEC="devices/linux-oe-generic-g++"
88MKSPECPATH=$(find ${OECORE_TARGET_SYSROOT} -name $(basename ${MKSPEC}) 2>/dev/null || true)
89if [ ! -d "${MKSPECPATH}" ]; then
90 echo "Error: could not find mkspec ${MKSPEC} from the toolchain"
91 exit 1
92fi
93
94MACHINE=$(grep '^MACHINE' ${MKSPECPATH}/../../qdevice.pri | cut -d'=' -f2 | tr -d ' ')
95
96RELEASE=$(qmake -query QT_VERSION)
97
98NAME=${NAME:-"Custom Qt ${RELEASE} ${MACHINE}"}
99BASEID="byos.${RELEASE}.${MACHINE}"
100
101${SDKTOOL} rmKit --id ${BASEID}.kit 2>/dev/null || true
102${SDKTOOL} rmKit --id ${BASEID}.am.kit 2>/dev/null || true
103${SDKTOOL} rmQt --id ${BASEID}.qt || true
104${SDKTOOL} rmQt --id ${BASEID}.am.qt || true
105${SDKTOOL} rmTC --id ProjectExplorer.ToolChain.Gcc:${BASEID}.gcc || true
106${SDKTOOL} rmTC --id ProjectExplorer.ToolChain.Gcc:${BASEID}.g++ || true
107${SDKTOOL} rmDebugger --id ${BASEID}.gdb 2>/dev/null || true
108
109if [ -n "${REMOVEONLY}" ]; then
110 echo "Kit removed: ${NAME}"
111 exit 0
112fi
113
114${SDKTOOL} addTC \
115 --id "ProjectExplorer.ToolChain.Gcc:${BASEID}.gcc" \
116 --name "GCC (${NAME})" \
117 --path "$(type -p ${CC})" \
118 --abi "${ABI}" \
119 --language 1
120
121${SDKTOOL} addTC \
122 --id "ProjectExplorer.ToolChain.Gcc:${BASEID}.g++" \
123 --name "G++ (${NAME})" \
124 --path "$(type -p ${CXX})" \
125 --abi "${ABI}" \
126 --language 2
127
128${SDKTOOL} addDebugger \
129 --id "${BASEID}.gdb" \
130 --name "GDB (${NAME})" \
131 --engine 1 \
132 --binary "$(type -p ${GDB})" \
133 --abis "${ABI}"
134
135${SDKTOOL} addQt \
136 --id "${BASEID}.qt" \
137 --name "${NAME}" \
138 --type "Qdb.EmbeddedLinuxQt" \
139 --qmake "$(type -p qmake)"
140
141${SDKTOOL} addKit \
142 --id "${BASEID}.kit" \
143 --name "${NAME}" \
144 --qt "${BASEID}.qt" \
145 --debuggerid "${BASEID}.gdb" \
146 --sysroot "${SDKTARGETSYSROOT}" \
147 --devicetype "QdbLinuxOsType" \
148 --Ctoolchain "ProjectExplorer.ToolChain.Gcc:${BASEID}.gcc" \
149 --Cxxtoolchain "ProjectExplorer.ToolChain.Gcc:${BASEID}.g++" \
150 --icon ":/boot2qt/images/B2Qt_QtC_icon.png" \
151 --mkspec "${MKSPEC}"
152
153if [ -n "${APPMAN}" ]; then
154 ${SDKTOOL} addQt \
155 --id "${BASEID}.am.qt" \
156 --name "${NAME} [Application Manager]" \
157 --type "AM.Qt" \
158 --qmake "$(type -p qmake)"
159
160 ${SDKTOOL} addKit \
161 --id "${BASEID}.am.kit" \
162 --name "${NAME} [Application Manager]" \
163 --qt "${BASEID}.am.qt" \
164 --debuggerid "${BASEID}.gdb" \
165 --sysroot "${SDKTARGETSYSROOT}" \
166 --devicetype "AM.Device.Type" \
167 --Ctoolchain "ProjectExplorer.ToolChain.Gcc:${BASEID}.gcc" \
168 --Cxxtoolchain "ProjectExplorer.ToolChain.Gcc:${BASEID}.g++" \
169 --icon ":/boot2qt/images/B2Qt_QtC_icon.png" \
170 --mkspec "${MKSPEC}"
171fi
172
173echo "Configured Qt Creator with new kit: ${NAME}"
diff --git a/meta-boot2qt/files/qbsp/NXP-EULA b/meta-boot2qt/files/qbsp/NXP-EULA
new file mode 100644
index 0000000..8acbf5a
--- /dev/null
+++ b/meta-boot2qt/files/qbsp/NXP-EULA
@@ -0,0 +1,602 @@
1LA_OPT_BASE_LICENSE v14 June 2016
2
3IMPORTANT. Read the following NXP Semiconductors Software License Agreement
4("Agreement") completely. By selecting the "I Accept" button at the end of
5this page, you indicate that you accept the terms of the Agreement and you
6acknowledge that you have the authority, for yourself or on behalf of your
7company, to bind your company to these terms. You may then download or install
8the file.
9
10NXP SEMICONDUCTORS SOFTWARE LICENSE AGREEMENT
11
12This is a legal agreement between you, as an authorized representative of your
13employer, or if you have no employer, as an individual (together "you"), and
14Freescale Semiconductor, Inc., a wholly-owned subsidiary of NXP Semiconductors
15N.V. ("NXP"). It concerns your rights to use the software identified in the
16Software Content Register and provided to you in binary or source code form and
17any accompanying written materials (the "Licensed Software"). The Licensed
18Software may include any updates or error corrections or documentation relating
19to the Licensed Software provided to you by NXP under this License. In
20consideration for NXP allowing you to access the Licensed Software, you are
21agreeing to be bound by the terms of this Agreement. If you do not agree to all
22of the terms of this Agreement, do not download or install the Licensed
23Software. If you change your mind later, stop using the Licensed Software and
24delete all copies of the Licensed Software in your possession or control. Any
25copies of the Licensed Software that you have already distributed, where
26permitted, and do not destroy will continue to be governed by this Agreement.
27Your prior use will also continue to be governed by this Agreement.
28
291. DEFINITIONS
30
311.1. "Affiliates" means, any corporation, or entity directly or indirectly
32controlled by, controlling, or under common control with NXP Semiconductors N.V.
33
341.2. "Essential Patent" means a patent to the limited extent that infringement
35of such patent cannot be avoided in remaining compliant with the technology
36standards implicated by the usage of any of the Licensed Software, including
37optional implementation of the standards, on technical but not commercial
38grounds, taking into account normal technical practice and the state of the art
39generally available at the time of standardization.
40
411.3. "Intellectual Property Rights" means any and all rights under statute,
42common law or equity in and under copyrights, trade secrets, and patents
43(including utility models), and analogous rights throughout the world,
44including any applications for and the right to apply for, any of the
45foregoing.
46
471.4. "Software Content Register" means the documentation accompanying the
48Licensed Software which identifies the contents of the Licensed Software,
49including but not limited to identification of any Third Party Software.
50
511.5. "Third Party Software" means, any software included in the Licensed
52Software that is not NXP Proprietary software, and is not open source
53software, and to which different license terms may apply.
54
552. LICENSE GRANT.
56
572.1. Separate license grants to Third Party Software, or other terms applicable
58to the Licensed Software if different from those granted in this Section 2, are
59contained in Appendix A. The Licensed Software is accompanied by a Software
60Content Register which will identify that portion of the Licensed Software, if
61any, that is subject to the different terms in Appendix A.
62
632.2. Exclusively in connection with your development and distribution of
64product containing a programmable processing unit (e.g. a microprocessor,
65microcontroller, sensor or digital signal processor) supplied directly or
66indirectly from NXP ("Authorized System") NXP grants you a world-wide,
67personal, non-transferable, non-exclusive, non-sublicensable, license, under
68NXP's Intellectual Property Rights:
69
70(a) to use and reproduce the Licensed Software only as part of, or
71integrated within, Authorized Systems and not on a standalone basis;
72
73(b) to directly or indirectly manufacture, demonstrate, copy, distribute,
74market and sell the Licensed Software in object code (machine readable) only as
75part of, or embedded within, Authorized Systems in object code form and not on
76a standalone basis. Notwithstanding the foregoing, those files marked as .h
77files ("Header files") may be distributed in source or object code form, but
78only as part of, or embedded within Authorized Systems.
79
80(c) to copy, use and distribute as needed, solely in connection with an
81Authorized System, proprietary NXP information associated with the Licensed
82Software for the purpose of developing, maintaining and supporting Authorized
83Systems with which the Licensed Software is integrated or associated.
84
852.3. For NXP Licensed Software provided to you in source code form (human
86readable), NXP further grants to you a worldwide, personal, non-transferable,
87non-exclusive, non-sublicensable, license, under NXP's Intellectual Property
88Rights:
89
90(a) to prepare derivative works of the Licensed Software, only as part of,
91or integrated within, Authorized Systems and not on a standalone basis;
92
93(b) to use, demonstrate, copy, distribute, market and sell the derivative
94works of the Licensed Software in object code (machine readable) only as part
95of, or integrated within, Authorized Systems and not on a standalone basis.
96Notwithstanding the foregoing, those files marked as .h files ("Header files")
97may be distributed in source or object code form, but only as part of, or
98embedded within Authorized Systems.
99
1002.4. You may use subcontractors on your premises to exercise your rights under
101Section 2.2 and 2.3 so long as you have an agreement in place with the
102subcontractor containing confidentiality restrictions no less stringent than
103those contained in this Agreement. You will remain liable for your
104subcontractors' adherence to the terms of this Agreement and for any and all
105acts and omissions of such subcontractors with respect to this Agreement and
106the Licensed Software.
107
1083. LICENSE LIMITATIONS AND RESTRICTIONS.
109
1103.1. The licenses granted above in Section 2.3 only extend to NXP intellectual
111property rights that would be infringed by the Licensed Software prior to your
112preparation of any derivative work.
113
1143.2. The Licensed Software is licensed to you, not sold. Title to Licensed
115Software delivered hereunder remains vested in NXP or NXP's licensor and
116cannot be assigned or transferred. You are expressly forbidden from selling or
117otherwise distributing the Licensed Software, or any portion thereof, except as
118expressly permitted herein. This Agreement does not grant to you any implied
119rights under any NXP or third party intellectual property.
120
1213.3. You may not translate, reverse engineer, decompile, or disassemble the
122Licensed Software except to the extent applicable law specifically prohibits
123such restriction. You must prohibit your sublicensees from translating,
124reverse engineering, decompiling, or disassembling the Licensed Software except
125to the extent applicable law specifically prohibits such restriction.
126
1273.4. You must reproduce any and all of NXP's (or its third party licensor's)
128copyright notices and other proprietary legends on copies of Licensed Software.
129
1303.5. If you distribute the Licensed Software to the United States Government,
131then the Licensed Software is "restricted computer software" and is subject to
132FAR 52.227-19 (c)(1) and (c)(2).
133
1343.6. You grant to NXP a non-exclusive, non-transferable, irrevocable,
135perpetual, worldwide, royalty-free, sub-licensable license under your
136Intellectual Property Rights to use without restriction and for any purpose any
137suggestion, comment or other feedback related to the Licensed Software
138(including, but not limited to, error corrections and bug fixes).
139
1403.7. You will not take or fail to take any action that could subject the
141Licensed Software to an Excluded License. An Excluded License means any license
142that requires, as a condition of use, modification or distribution of software
143subject to the Excluded License, that such software or other software combined
144and/or distributed with the software be (i) disclosed or distributed in source
145code form; (ii) licensed for the purpose of making derivative works; or (iii)
146redistributable at no charge.
147
1483.8. You may not publish or distribute information, results or data associated
149with the use of the Licensed Software to anyone other than NXP; however, you
150must advise NXP of any results obtained including any problems or suggested
151improvements thereof. NXP retains the right to use such results and related
152information in any manner it deems appropriate.
153
1544. OPEN SOURCE. Open source software included
155in the Licensed Software is not licensed under the terms of this Agreement,
156but is instead licensed under the terms of the applicable open source
157license(s), such as the BSD License, Apache License or the GNU Lesser General
158Public License. Your use of the open source software is subject to the terms
159of each applicable license. You must agree to the terms of each applicable
160license, or you cannot use the open source software.
161
1625. INTELLECTUAL PROPERTY RIGHTS. Subject to NXP's
163ownership interest in the underlying Licensed Software, all intellectual
164property rights associated with, and title to, your Authorized System will
165be retained by or will vest in you. Your modifications to the Licensed
166Software, and all intellectual property rights associated with, and title
167thereto, will be the property of NXP. Upon request, you must provide NXP
168the source code of any derivative of the Licensed Software. You agree to
169assign all, and hereby do assign all rights, title, and interest to any such
170modifications to the Licensed Software to NXP and agree to provide all
171assistance reasonably requested by NXP to establish, preserve or enforce such
172right. Further, you agree to waive all moral rights relating to your
173modifications to the Licensed Software, including, without limitation, all
174rights of identification of authorship and all rights of approval, restriction,
175or limitation on use or subsequent modification. Notwithstanding the
176foregoing, you will have the license rights granted in Section 2 hereto to any
177such modifications made by you or your licensees.
178
1796. PATENT COVENANT NOT TO SUE. As partial, material
180consideration for the rights granted to you under this Agreement, you covenant
181not to sue or otherwise assert your patents against NXP, a NXP Affiliate or
182subsidiary, or a NXP licensee of the Licensed Software for infringement of your
183Intellectual Property Rights by the manufacture, use, sale, offer for sale,
184importation or other disposition or promotion of the Licensed Software and/or
185any redistributed portions of the Licensed Software.
186
1877. ESSENTIAL PATENTS. You are solely responsible for
188obtaining licenses for any relevant Essential Patents for your use in
189connection with technology that you incorporate into your product (whether as
190part of the Licensed Software or not).
191
1928. TERM AND TERMINATION. This Agreement will remain in
193effect unless terminated as provided in this Section 8.
194
1958.1. You may terminate this Agreement immediately upon written notice to NXP at
196the address provided below.
197
1988.2. Either party may terminate this Agreement if the other party is in default
199of any of the terms and conditions of this Agreement, and termination is
200effective if the defaulting party fails to correct such default within 30 days
201after written notice thereof by the non-defaulting party to the defaulting
202party at the address below.
203
2048.3. Notwithstanding the foregoing, NXP may terminate this Agreement
205immediately upon written notice if you: breach any of your confidentiality
206obligations or the license restrictions under this Agreement; become bankrupt,
207insolvent, or file a petition for bankruptcy or insolvency, make an assignment
208for the benefit of its creditors; enter proceedings for winding up or
209dissolution ;are dissolved; or are nationalized or become subject to the
210expropriation of all or substantially all of its business or assets.
211
2128.4. Upon termination of this Agreement, all licenses granted under Section 2
213will expire, except that any licenses extended to end-users pursuant to
214Sections 2.2(b), 2.2(c), and 2.3(b), which have been granted prior to such
215termination will survive.
216
2178.5. After termination of this Agreement by either party and upon NXP's written
218request, you will, at your discretion, return to the NXP any confidential
219information including all copies thereof or furnish to NXP at the address
220below, a statement certifying, with respect to the Licensed Software delivered
221hereunder that the original and all copies, except for archival copies to be
222used solely for dispute resolution purposes, in whole or in part, in any form,
223of the Licensed Software have been destroyed.
224
2258.6. Notwithstanding the termination of this Agreement for any reason, the
226terms of Sections 1, 3, 5 through 25 will survive.
227
2289. SUPPORT. NXP is not obligated to provide any support,
229upgrades or new releases of the Licensed Software under this Agreement. If you
230wish, you may contact NXP and report problems and provide suggestions regarding
231the Licensed Software. NXP has no obligation to respond to such a problem
232report or suggestion. NXP may make changes to the Licensed Software at any
233time, without any obligation to notify or provide updated versions of the
234Licensed Software to you.
235
23610. NO WARRANTY. To the maximum extent permitted by law, NXP
237expressly disclaims any warranty for the Licensed Software. The Licensed
238Software is provided "AS ISh, without warranty of any kind, either express or
239implied, including without limitation the implied warranties of
240merchantability, fitness for a particular purpose, or non-infringement. You
241assume the entire risk arising out of the use or performance of the licensed
242software, or any systems you design using the licensed software (if any).
243
24411. INDEMNITY. You agree to fully defend and indemnify NXP
245from all claims, liabilities, and costs (including reasonable attorney's fees)
246related to (1) your use (including your contractors or distributee's use, if
247permitted) of the Licensed Software or (2) your violation of the terms and
248conditions of this Agreement.
249
25012. LIMITATION OF LIABILITY. EXCLUDING LIABILITY FOR A
251BREACH OF SECTION 2 (LICENSE GRANTS), SECTION 3 (LICENSE LIMITATIONS AND
252RESTRICTIONS), SECTION 17 (CONFIDENTIAL INFORMATION), OR CLAIMS UNDER SECTION
25311(INDEMNITY), IN NO EVENT WILL EITHER PARTY BE LIABLE, WHETHER IN CONTRACT,
254TORT, OR OTHERWISE, FOR ANY INCIDENTAL, SPECIAL, INDIRECT, CONSEQUENTIAL OR
255PUNITIVE DAMAGES, INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR ANY LOSS OF USE,
256LOSS OF TIME, INCONVENIENCE, COMMERCIAL LOSS, OR LOST PROFITS, SAVINGS, OR
257REVENUES, TO THE FULL EXTENT SUCH MAY BE DISCLAIMED BY LAW. NXP'S TOTAL
258LIABILITY FOR ALL COSTS, DAMAGES, CLAIMS, OR LOSSES WHATSOEVER ARISING OUT OF
259OR IN CONNECTION WITH THIS AGREEMENT OR PRODUCT(S) SUPPLIED UNDER THIS
260AGREEMENT IS LIMITED TO THE AGGREGATE AMOUNT PAID BY YOU TO NXP IN CONNECTION
261WITH THE LICENSED SOFTWARE TO WHICH LOSSES OR DAMAGES ARE CLAIMED.
262
26313. EXPORT COMPLIANCE. Each party shall comply with all
264applicable export and import control laws and regulations including but not
265limited to the US Export Administration Regulations (including prohibited party
266lists issued by other federal governments), Catch-all regulations and all
267national and international embargoes. Each party further agrees that it will
268not knowingly transfer, divert, export or re-export, directly or indirectly,
269any product, software, including software source code, or technology restricted
270by such regulations or by other applicable national regulations, received from
271the other party under this Agreement, or any direct product of such software or
272technical data to any person, firm, entity, country or destination to which
273such transfer, diversion, export or re-export is restricted or prohibited,
274without obtaining prior written authorization from the applicable competent
275government authorities to the extent required by those laws.
276
27714. GOVERNMENT CONTRACT COMPLIANCE.
278
27914.1. If you sell Authorized Systems directly to any
280government or public entity, including U.S., state, local, foreign or
281international governments or public entities, or indirectly via a prime
282contractor or subcontractor of such governments or entities, NXP makes no
283representations, certifications, or warranties whatsoever about compliance with
284government or public entity acquisition statutes or regulations, including,
285without limitation, statutes or regulations that may relate to pricing,
286quality, origin or content.
287
28814.2. The Licensed Software has been developed at private
289expense and is a "Commercial Item" as defined in 48 C.F.R. Section 2.101,
290consisting of "Commercial Computer Software", and/or "Commercial Computer
291Software Documentation," as such terms are used in 48 C.F.R. Section 12.212 (or
29248 C.F.R. Section 227.7202, as applicable) and may only be licensed to or
293shared with U.S. Government end users in object code form as part of, or
294embedded within, Authorized Systems. Any agreement pursuant to which you share
295the Licensed Software will include a provision that reiterates the limitations
296of this document and requires all sub-agreements to similarly contain such
297limitations.
298
29915. SAFETY CRITICAL APPLICATIONS
300
30115.1. In some cases, NXP may promote certain Licensed
302Software for use in safety-related applications. NXP's goal is to educate
303licensees so that they can design their own end-product solutions to meet
304applicable functional safety standards and requirements. You make the ultimate
305design decisions regarding your products and are solely responsible for
306compliance with all legal, regulatory, safety, and security related
307requirements concerning your products, regardless of any information or support
308that may be provided by NXP. Accordingly, you will indemnify and hold NXP
309harmless from any claims, liabilities, damages and associated costs and
310expenses (including attorneys' fees) that NXP may incur related to your
311incorporation of any product in a safety-critical application or system.
312
31315.2. Only Licensed Software that NXP has specifically
314designated as "Automotive Qualified" is intended for use in automotive,
315military, or aerospace applications or environments. If you use Licensed
316Software that has not been designated as "Automotive Qualified" in an
317automotive, military, or aerospace application or environment, you do so at
318your own risk.
319
32015.3. Licensed Software is not intended or authorized for
321any use in anti-personnel landmines.
322
32316. CHOICE OF LAW; VENUE. This Agreement will be governed
324by, construed, and enforced in accordance with the laws of the State of Texas,
325USA, without regard to conflicts of laws principles, will apply to all matters
326relating to this Agreement or the Licensed Software, and you agree that any
327litigation will be subject to the exclusive jurisdiction of the state or
328federal courts Texas, USA. The United Nations Convention on Contracts for the
329International Sale of Goods will not apply to this document.
330
33117. CONFIDENTIAL INFORMATION. Subject to the license grants
332and restrictions contained herein, you must treat the Licensed Software as
333confidential information and you agree to retain the Licensed Software in
334confidence perpetually, with respect to Licensed Software in source code form
335(human readable), or for a period of five (5) years from the date of
336termination of this Agreement, with respect to all other parts of the Licensed
337Software. During this period, you may not disclose any part of the Licensed
338Software to anyone other than employees who have a need to know of the Licensed
339Software and who have executed written agreements obligating them to protect
340such Licensed Software to at least the same degree of care as in this
341Agreement. You agree to use the same degree of care, but no less than a
342reasonable degree of care, with the Licensed Software as you do with your own
343confidential information. You may disclose Licensed Software to the extent
344required by a court or under operation of law or order provided that you notify
345NXP of such requirement prior to disclosure, which you only disclose
346information required, and that you allow NXP the opportunity to object to such
347court or other legal body requiring such disclosure.
348
34918. TRADEMARKS. You are not authorized to use any NXP
350trademarks, brand names, or logos.
351
35219. ENTIRE AGREEMENT. This Agreement constitutes the entire
353agreement between you and NXP regarding the subject matter of this Agreement,
354and supersedes all prior communications, negotiations, understandings,
355agreements or representations, either written or oral, if any. This Agreement
356may only be amended in written form, signed by you and NXP.
357
35820. SEVERABILITY. If any provision of this Agreement is held
359for any reason to be invalid or unenforceable, then the remaining provisions of
360this Agreement will be unimpaired and, unless a modification or replacement of
361the invalid or unenforceable provision is further held to deprive you or NXP of
362a material benefit, in which case the Agreement will immediately terminate, the
363invalid or unenforceable provision will be replaced with a provision that is
364valid and enforceable and that comes closest to the intention underlying the
365invalid or unenforceable provision.
366
36721. NO WAIVER. The waiver by NXP of any breach of any
368provision of this Agreement will not operate or be construed as a waiver of any
369other or a subsequent breach of the same or a different provision.
370
37122. AUDIT. You will keep full, clear and accurate records
372with respect to your compliance with the limited license rights granted under
373this Agreement for three years following expiration or termination of this
374Agreement. NXP will have the right, either itself or through an independent
375certified public accountant to examine and audit, at NXP's expense, not more
376than once a year, and during normal business hours, all such records that may
377bear upon your compliance with the limited license rights granted above. You
378must make prompt adjustment to compensate for any errors and/or omissions
379disclosed by such examination or audit.
380
38123. NOTICES. All notices and communications under
382this Agreement will be made in writing, and will be effective when received at
383the following addresses:
384
385NXP: Freescale Semiconductor, Inc.
386 6501 William Cannon West OE62
387 Austin, Texas 78735
388 ATTN: Legal Department
389
390 You: The address provided at registration
391will be used.
392
39324. RELATIONSHIP OF THE PARTIES. The parties are
394independent contractors. Nothing in this Agreement will be construed to create
395any partnership, joint venture, or similar relationship. Neither party is
396authorized to bind the other to any obligations with third parties.
397
39825. SUCCESSION AND ASSIGNMENT. This Agreement will be
399binding upon and inure to the benefit of the parties and their permitted
400successors and assigns. You may not assign this Agreement, or any part of this
401Agreement, without the prior written approval of NXP, which approval will not
402be unreasonably withheld or delayed.
403
404
405
406
407APPENDIX A
408
409Other License Grants and Restrictions:
410
411The Licensed Software may include some or all of the following software, which
412is either 1) not NXP proprietary software or 2) NXP proprietary software
413subject to different terms than those in the Agreement. If the Software
414Content Register that accompanies the Licensed Software identifies any of the
415following Third Party Software or specific components of the NXP Proprietary
416Software, the following terms apply to the extent they deviate from the terms
417in the Agreement:
418
419Third Party Software
420
421Use Restrictions
422
423Atheros
424Use of Atheros software is limited to evaluation and demonstration only.
425Permitted distributions must be similarly limited. Further rights must be
426obtained directly from Atheros.
427
428ATI (AMD)
429Distribution of ATI software must be a part of, or embedded within, Authorized
430Systems that include a ATI graphics processor core.
431
432Broadcom Corporation
433Your use of Broadcom Corporation software is restricted to Authorized Systems
434that incorporate a compatible integrated circuit device manufactured or sold by
435Broadcom.
436
437Cirque Corporation
438Use of Cirque Corporation technology is limited to evaluation, demonstration,
439or certification testing only. Permitted distributions must be similarly
440limited. Further rights, including but not limited to ANY commercial
441distribution rights, must be obtained directly from Cirque Corporation.
442
443Coding Technologies
444(Dolby Labs)
445Use of CTS software is limited to evaluation and demonstration only. Permitted
446distributions must be similarly limited. Further rights must be obtained from
447Dolby Laboratories.
448
449CSR
450Use of Cambridge Silicon Radio, Inc. ("CSR") software is limited to evaluation
451and demonstration only. Permitted distributions must be similarly limited.
452Further rights must be obtained directly from CSR.
453
454NXP Wireless Charging Library
455License to the Software is limited to use in inductive coupling or wireless
456charging applications
457
458Global Locate (Broadcom Corporation)
459Use of Global Locate, Inc. software is limited to evaluation and demonstration
460only. Permitted distributions must be similarly limited. Further rights must
461be obtained from Global Locate.
462
463Imagination Technologies Limited (IMG)
464If the Licensed Software includes proprietary software developed by IMG, your
465rights are limited to a non-exclusive, world-wide right and nontransferrable
466and non-sub-licensable license (i) to use and modify the Licensed Software and
467documentation and (ii) to copy and distribute the Licensed Software only in
468object code form solely for use on NXP Rayleigh products. If you are provided
469with the Licensed Software in source code format, you are restricted to
470accessing only those deliverables in source code format which are necessary for
471you to carry out either specific customization or porting work in association
472with NXP's Rayleigh products or your Authorized System.
473
474The confidentiality restrictions shall continue in force without limit in time
475notwithstanding the termination or expiration of this Agreement.
476
477Micrium
478uC/OS-II and uC/OS-III is provided in source form for FREE short-term
479evaluation, for educational use or for peaceful research. If you plan or
480intend to use uC/OS-II or uC/OS-III in a commercial application/product then,
481you need to contact Micrium to properly license uC/OS-II or uC/OSIII for its
482use in your application/product. We provide ALL the source code for your
483convenience and to help you experience uC/OS-II or uC/OSIII. The fact that
484the source is provided does NOT mean that you can use it commercially without
485paying a licensing fee.
486
487Microsoft
488If the Licensed Software includes software owned by Microsoft Corporation
489("Microsoft"), it is subject to the terms of your license with Microsoft (the
490"Microsoft Underlying Licensed Software") and as such, NXP grants no license to
491you, beyond evaluation and demonstration in connection with NXP processors, in
492the Microsoft Underlying Licensed Software. You must separately obtain rights
493beyond evaluation and demonstration in connection with the Microsoft Underlying
494Licensed Software from Microsoft.
495
496Microsoft does not provide support services for the components provided to you
497through this Agreement. If you have any questions or require technical
498assistance, please contact NXP. Microsoft Corporation is a third party
499beneficiary to this Agreement with the right to enforce the terms of this
500Agreement. TO THE MAXIMUM EXTENT PERMITTED BY LAW, MICROSOFT AND ITS
501AFFILIATES DISCLAIM ANY WARRANTIES FOR THE MICROSOFT UNDERLYING LICENSED
502SOFTWARE. TO THE MAXIMUM EXTENT PERMITTED BY LAW, NEITHER MICROSOFT NOR ITS
503AFFILIATES WILL BE LIABLE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, FOR ANY
504DIRECT, INCIDENTAL, SPECIAL, INDIRECT, CONSEQUENTIAL OR PUNITIVE DAMAGES,
505INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR ANY LOSS OF USE, LOSS OF TIME,
506INCONVENIENCE, COMMERCIAL LOSS, OR LOST PROFITS, SAVINGS, OR REVENUES, ARISING
507FROM THE FROM THE USE OF THE MICROSOFT UNDERLYING LICENSED SOFTWARE.
508
509MindTree
510Notwithstanding the terms contained in Section 2.3 (a), if the Licensed
511Software includes proprietary software of MindTree in source code format,
512Licensee may make modifications and create derivative works only to the extent
513necessary for debugging of the Licensed Software.
514
515MPEG LA
516Use of MPEG LA audio or video codec technology is limited to evaluation and
517demonstration only. Permitted distributions must be similarly limited. Further
518rights must be obtained directly from MPEG LA.
519
520MQX RTOS Code
521MQX RTOS source code may not be re-distributed by any FSL Licensee under any
522circumstance, even by a signed written amendment to this Agreement.
523
524Opus
525Use of Opus software must be consistent with the terms of the Opus license
526which can be found at: http://www.opus-codec.org/license/
527
528Real Networks - its GStreamer Optimized Real Format Client Code implementation
529or OpenMax Optimized Real Format Client Code
530Use of the GStreamer Optimized Real Format Client Code, or OpenMax Optimized
531Real Format Client code is restricted to applications in the automotive market.
532Licensee must be a final manufacturer in good standing with a current license
533with Real Networks for the commercial use and distribution of products
534containing the GStreamer Optimized Real Format Client Code implementation or
535OpenMax Optimized Real Format Client Code
536
537Real Time Engineers Ltd.
538Any FreeRTOS source code, whether modified or in its original release form, or
539whether in whole or in part, can only be distributed by you under the terms of
540version 2 of the GNU General Public License plus this exception. An
541independent module is a module which is not derived from or based on FreeRTOS.
542
543Clause 1: Linking FreeRTOS with other modules is making a combined work based
544on FreeRTOS. Thus, the terms and conditions of the GNU General Public License
545V2 cover the whole combination.
546
547As a special exception, the copyright holders of FreeRTOS give you permission
548to link FreeRTOS with independent modules to produce a statically linked
549executable, regardless of the license terms of these independent modules, and
550to copy and distribute the resulting executable under terms of your choice,
551provided that you also meet, for each linked independent module, the terms and
552conditions of the license of that module. An independent module is a module
553which is not derived from or based on FreeRTOS.
554
555Clause 2: FreeRTOS may not be used for any competitive or comparative purpose,
556including the publication of any form of run time or compile time metric,
557without the express permission of Real Time Engineers Ltd. (this is the norm
558within the industry and is intended to ensure information accuracy).
559
560SanDisk Corporation
561If the Licensed Software includes software developed by SanDisk Corporation
562("SanDisk"), you must separately obtain the rights to reproduce and distribute
563this software in source code form from SanDisk. Please follow these easy steps
564to obtain the license and software:
565
5661. Contact your local SanDisk sales representative to obtain the SanDisk
567License Agreement.
568
5692. Sign the license agreement. Fax the signed agreement to SanDisk USA
570marketing department at 408-542-0403. The license will be valid when fully
571executed by SanDisk.
5723. If you have specific questions, please send an email to
573sales@sandisk.com
574
575You may only use the SanDisk Corporation Licensed Software on products
576compatible with a SanDisk Secure Digital Card. You may not use the SanDisk
577Corporation Licensed Software on any memory device product. SanDisk retains
578all rights to any modifications or derivative works to the SanDisk Corporation
579Licensed Software that you may create.
580
581Synopsys/Target
582Compiler Technologies
583Your use of the Synopsys/Target Compiler Technologies Licensed Software and
584related documentation is subject to the following:
585
586 * Duration of the license for the Licensed Software is limited to 12 months,
587unless otherwise specified in the license file.
588 * The Licensed Software is usable by one user at a time on a single
589designated computer, unless otherwise agreed by Synopsys.
590 * Licensed Software and documentation are to be used only on a designated
591computer at the designated physical address provided by you on the APEX license
592form.
593 * The Licensed Software is not sub-licensable.
594
595Texas Instruments
596Your use of Texas Instruments Inc. WiLink8 Licensed Software is restricted to
597NXP SoC based systems that include a compatible connectivity device
598manufactured by TI.
599
600Vivante
601Distribution of Vivante software must be a part of, or embedded within,
602Authorized Systems that include a Vivante Graphics Processing Unit.
diff --git a/meta-boot2qt/files/qbsp/base_package.xml b/meta-boot2qt/files/qbsp/base_package.xml
new file mode 100644
index 0000000..5f16dfa
--- /dev/null
+++ b/meta-boot2qt/files/qbsp/base_package.xml
@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<Package>
3 <Version>@VERSION@</Version>
4 <ReleaseDate>@RELEASEDATE@</ReleaseDate>
5 <DisplayName>@TARGET@</DisplayName>
6 <Description>@NAME@ for @TARGET@</Description>
7 <Dependencies>@LICENSEDEPENDENCY@</Dependencies>
8</Package>
diff --git a/meta-boot2qt/files/qbsp/image_package.xml b/meta-boot2qt/files/qbsp/image_package.xml
new file mode 100644
index 0000000..27e5f2e
--- /dev/null
+++ b/meta-boot2qt/files/qbsp/image_package.xml
@@ -0,0 +1,8 @@
1<?xml version="1.0"?>
2<Package>
3 <Version>@VERSION@</Version>
4 <ReleaseDate>@RELEASEDATE@</ReleaseDate>
5 <DisplayName>@TARGET@ Linux System</DisplayName>
6 <Description>System image for @TARGET@ hardware</Description>
7 <DownloadableArchives>image.7z</DownloadableArchives>
8</Package>
diff --git a/meta-boot2qt/files/qbsp/license_package.xml b/meta-boot2qt/files/qbsp/license_package.xml
new file mode 100644
index 0000000..405ee5c
--- /dev/null
+++ b/meta-boot2qt/files/qbsp/license_package.xml
@@ -0,0 +1,10 @@
1<?xml version="1.0"?>
2<Package>
3 <DisplayName>@LICENSENAME@</DisplayName>
4 <Version>@VERSION@</Version>
5 <ReleaseDate>@RELEASEDATE@</ReleaseDate>
6 <Licenses>
7 <License name="@LICENSENAME@" file="@LICENSEFILE@"/>
8 </Licenses>
9 <Virtual>true</Virtual>
10</Package>
diff --git a/meta-boot2qt/files/qbsp/toolchain_installscript.qs b/meta-boot2qt/files/qbsp/toolchain_installscript.qs
new file mode 100644
index 0000000..4afab71
--- /dev/null
+++ b/meta-boot2qt/files/qbsp/toolchain_installscript.qs
@@ -0,0 +1,125 @@
1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the Boot to Qt meta layer.
7**
8** $QT_BEGIN_LICENSE:GPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU
19** General Public License version 3 or (at your option) any later version
20** approved by the KDE Free Qt Foundation. The licenses are as published by
21** the Free Software Foundation and appearing in the file LICENSE.GPL3
22** included in the packaging of this file. Please review the following
23** information to ensure the GNU General Public License requirements will
24** be met: https://www.gnu.org/licenses/gpl-3.0.html.
25**
26** $QT_END_LICENSE$
27**
28****************************************************************************/
29
30function Component()
31{
32}
33
34Component.prototype.createOperations = function()
35{
36 component.createOperations();
37
38 var device = "@MACHINE@"
39 var platform = "@NAME@"
40 var sysroot = "@SYSROOT@"
41 var target_sys = "@TARGET_SYS@"
42 var target = "@TARGET@"
43 var abi = "@ABI@"
44 var installPath = "@INSTALLPATH@/toolchain"
45 var sdkPath = "@SDKPATH@"
46 var sdkFile = "@SDKFILE@"
47
48 var path = installer.value("TargetDir") + installPath;
49 if (systemInfo.kernelType !== "winnt") {
50 var script = path + "/" + sdkFile;
51 component.addOperation("Execute", "{0}", "chmod", "+x", script);
52 component.addOperation("Execute", "{0}", script, "-y", "-d", path, "UNDOEXECUTE", "rm", "-rf", path);
53 component.addOperation("Execute", "{0}", "/bin/rm", script);
54 } else {
55 path = path.replace(/\\/g,"/");
56 component.addOperation("Replace",
57 path + "/sysroots/i686-pokysdk-mingw32/usr/bin/qt.conf",
58 sdkPath, path);
59 }
60 var basecomponent = component.name.substring(0, component.name.lastIndexOf("."));
61 var toolchainId = "ProjectExplorer.ToolChain.Gcc:" + component.name;
62 var debuggerId = basecomponent + ".gdb";
63 var qtId = basecomponent + ".qt";
64 var icon = installer.value("B2QtDeviceIcon");
65 var executableExt = "";
66 var hostSysroot = "x86_64-pokysdk-linux";
67 if (systemInfo.kernelType === "winnt") {
68 executableExt = ".exe";
69 hostSysroot = "i686-pokysdk-mingw32";
70 }
71
72 component.addOperation("Execute",
73 ["@SDKToolBinary@", "addTC",
74 "--id", toolchainId + ".gcc",
75 "--name", "GCC (" + platform + " " + target + ")",
76 "--path", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target_sys + "/" + target_sys + "-gcc" + executableExt,
77 "--abi", abi,
78 "--language", "1",
79 "UNDOEXECUTE",
80 "@SDKToolBinary@", "rmTC", "--id", toolchainId + ".gcc"]);
81
82 component.addOperation("Execute",
83 ["@SDKToolBinary@", "addTC",
84 "--id", toolchainId + ".g++",
85 "--name", "G++ (" + platform + " " + target + ")",
86 "--path", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target_sys + "/" + target_sys + "-g++" + executableExt,
87 "--abi", abi,
88 "--language", "2",
89 "UNDOEXECUTE",
90 "@SDKToolBinary@", "rmTC", "--id", toolchainId + ".g++"]);
91
92 component.addOperation("Execute",
93 ["@SDKToolBinary@", "addDebugger",
94 "--id", debuggerId,
95 "--name", "GDB (" + platform + " " + target + ")",
96 "--engine", "1",
97 "--binary", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target_sys + "/" + target_sys + "-gdb" + executableExt,
98 "--abis", abi,
99 "UNDOEXECUTE",
100 "@SDKToolBinary@", "rmDebugger", "--id", debuggerId]);
101
102 component.addOperation("Execute",
103 ["@SDKToolBinary@", "addQt",
104 "--id", qtId,
105 "--name", platform + " " + target,
106 "--type", "Qdb.EmbeddedLinuxQt",
107 "--qmake", path + "/sysroots/" + hostSysroot + "/usr/bin/qmake" + executableExt,
108 "UNDOEXECUTE",
109 "@SDKToolBinary@", "rmQt", "--id", qtId]);
110
111 component.addOperation("Execute",
112 ["@SDKToolBinary@", "addKit",
113 "--id", basecomponent,
114 "--name", platform + " " + target,
115 "--mkspec", "devices/linux-oe-generic-g++",
116 "--qt", qtId,
117 "--debuggerid", debuggerId,
118 "--sysroot", path + "/sysroots/" + sysroot,
119 "--devicetype", "QdbLinuxOsType",
120 "--Ctoolchain", toolchainId + ".gcc",
121 "--Cxxtoolchain", toolchainId + ".g++",
122 "--icon", icon,
123 "UNDOEXECUTE",
124 "@SDKToolBinary@", "rmKit", "--id", basecomponent]);
125}
diff --git a/meta-boot2qt/files/qbsp/toolchain_package.xml b/meta-boot2qt/files/qbsp/toolchain_package.xml
new file mode 100644
index 0000000..166e09b
--- /dev/null
+++ b/meta-boot2qt/files/qbsp/toolchain_package.xml
@@ -0,0 +1,10 @@
1<?xml version="1.0"?>
2<Package>
3 <Version>@VERSION@</Version>
4 <ReleaseDate>@RELEASEDATE@</ReleaseDate>
5 <DisplayName>@TARGET@ Linux Toolchain</DisplayName>
6 <Description>Toolchain and system root for @TARGET@</Description>
7 <DownloadableArchives>toolchain.7z</DownloadableArchives>
8 <Dependencies>qt.tools.qtcreator</Dependencies>
9 <Script>installscript.qs</Script>
10</Package>
diff --git a/meta-boot2qt/licenses/The-Qt-Company-DCLA-2.1 b/meta-boot2qt/licenses/The-Qt-Company-DCLA-2.1
new file mode 100644
index 0000000..5231cb1
--- /dev/null
+++ b/meta-boot2qt/licenses/The-Qt-Company-DCLA-2.1
@@ -0,0 +1,290 @@
1QT FOR DEVICE CREATION LICENSE AGREEMENT
2Agreement version 2.1
3
4This Qt for Device Creation License Agreement ("Agreement") is a legal agreement between The Qt Company Ltd ("The Qt Company") with its registered office at Valimotie 21, 00380 Helsinki, Finland and you (either an individual or a legal entity) ("Licensee") for the Licensed Software (as defined below).
5
6Please, read these license terms through carefully. By selecting "I accept the Agreement", you are deemed to accept these license terms and to commit yourself to observing them. When representing a legal entity, you should ensure your due authorization to approve these terms before you select "I accept the Agreement". Otherwise, we regard you as personally responsible for compliance with this Agreement. For clarity, please note that in case there already exists a signed license agreement between you and The Qt Company, this Agreement shall not override such an existing agreement but it shall continue to be valid subject to its applicable terms.
7
8Under this Agreement, the Licensee has purchased one (1) of the three (3) different below mentioned rights applicable to the Licensed Software (as defined below):
9(i) A perpetual license, which shall be valid for an unlimited time as further stated in this Agreement ("Perpetual License"); or
10(ii) A subscription license, which shall be valid for the time period specified by the Qt Company ("Subscription License"); or
11(iii) A limited subscription license, which includes a discount in payment based on Licensee´s limited annual sales revenue, as further stated in Section 14.3 and www.qt.io, and which shall be valid for the time period specified by the Qt Company ("Limited Subscription License"). For clarity, Limited Subscription License shall not include any Support (as defined below).
12
131. DEFINITIONS
14"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly controlling such Party; (ii) which is under the same direct or indirect ownership or control as such Party; or (iii) which is directly or indirectly owned or controlled by such Party. For these purposes, an entity shall be treated as being controlled by another if that other entity has fifty percent (50 %) or more of the votes in such entity, is able to direct its affairs and/or to control the composition of its board of directors or equivalent body.
15
16"Applications" shall mean Licensee's software products created using the Licensed Software which may include portions of the Licensed Software.
17
18"Continued-Usage Term" shall mean, depending on the option purchased by Licensee, either a) if you have purchased Perpetual License; perpetuity; or b) if you have purchased Subscription License or Limited Subscription License; the paid term.
19
20"Customers" shall mean the third parties to whom Licensee directly or indirectly distributes copies of the Licensed Software.
21"Devices" shall mean devices or products that 1) are manufactured, sold or distributed by Licensee that include the Licensed Software, and 2) fulfill the definition of a Joint Hardware and Software Distribution.
22"Deployment Platforms" shall mean those operating systems in which the Licensed Software can be distributed on according to the terms and conditions of this Agreement, especially Section 5.3.
23"Development Platforms" shall mean those operating systems in which the Licensed Software can be used only for designing, developing and testing Applications, but not distributed in any form or used for any other purpose.
24"Designated User(s)" shall mean the employee(s) of Licensee acting within the scope of their employment or Licensee's consultant(s) or contractor(s) acting within the scope of their services for Licensee and on behalf of Licensee.
25
26"Distribution License" shall mean the license described under Section 5.3 of this Agreement.
27"Intellectual Property Rights" shall mean patents (including utility models), design patents, and designs (whether or not capable of registration), chip topography rights and other like protection, copyright, trademark and any other form of statutory protection of any kind and applications for any of the foregoing as well as any trade secrets.
28"Joint Hardware and Software Distribution" shall mean either:
29(i) distribution of a hardware device where, in its final end user configuration, the main user interface or substantial functionality of the device is provided by Application(s) created by Licensee or others, using Licensed Software or Licensed Software based software product, and depends on the Licensed Software or an open source version of Qt or any Qt based software product; or
30(ii) distribution of the Licensed Software with a device designed to facilitate the installation of the Licensed Software onto the same device where the main user interface or substantial functionality of such device is provided by Application(s) created by Licensee or others, using the Licensed Software, and depends on the Licensed Software.
31
32"License Certificate" shall mean the document accompanying the Licensed Software which specifies the modules which are licensed under the Agreement, Development Platforms, Deployment Platforms and Designated Users.
33
34"License Fee" shall mean the fee charged to Licensee for (i) each copy of the Licensed Software purchased, as well as (ii) reproduction and distribution of Licensed Software under the terms of this Agreement.
35"License Packs" shall mean set of prepaid Distribution Licenses, as defined in Section 14.1.
36"Licensed Software" shall mean the computer software, "online" or electronic documentation, associated media and printed materials, including the source code, example programs and the documentation delivered by The Qt Company to Licensee in conjunction with this Agreement. Licensed Software does not include Third Party Software (as defined in Section 7).
37
38"Modified Software" shall mean modifications made to the Licensed Software by Licensee.
39
40"Online Services" shall mean any services or access to systems provided by The Qt Company to the Licensee over Internet in conjunction with the Licensed Software or for the purpose of use by the Licensee of the Licensed Software or Support. Using some of the Online Services may be subject to additional fees.
41
42"Party or Parties" shall mean Licensee and/or The Qt Company.
43
44"Redistributables" shall mean the portions of the Licensed Software set forth in Appendix 1, Section 1 that may be distributed with or as part of Applications in object code form.
45
46"Renewal Term" shall mean a) in case the Licensee has purchased a Perpetual License: (i) a time period of twelve (12) months and b) in case the Licensee has purchased Subscription License or Limited Subscription License, a time period specified by The Qt Company at www.qt.io or directly to the Licensee.
47
48"Start-For-Free Term" shall mean the period from the later of (a) the Effective Date; or (b) the date the Licensed Software was initially delivered to Licensee by The Qt Company until the first Supported Term. If no specific Effective Date is set forth in the Agreement, the Effective Date shall be deemed to be the date the Licensed Software was initially delivered to Licensee. Unless otherwise agreed with The Qt Company in writing, the maximum duration of Start-For-Free Term shall be 30 days.
49
50"Support" shall mean standard developer support that is provided by The Qt Company to assist eligible Designated Users in using the Licensed Software in accordance with its established standard support procedures.
51
52"Supported Term" shall mean a time period that you have selected and paid for Support for the Licensed Software, calculated from either (i) the end of the Start-For-Free Term, or (ii) from the purchase of the Supported Term, or (iii) from end of the previous Supported Term, as applicable. For the Limited Subscription License, Supported Term shall mean a time period for which the Licensee has selected and paid for usage of Licensed Software.
53
54"Updates" shall mean a release or version of the Licensed Software containing enhancements, new features, bug fixes, error corrections and other changes that are generally made available to users of the Licensed Software that have contracted for maintenance and support.
55
562. OWNERSHIP
57The Licensed Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The Licensed Software is licensed, not sold.
58To the extent Licensee submits bug fixes or error corrections, including information related thereto, Licensee hereby grants The Qt Company a sublicensable, irrevocable, perpetual, worldwide, non-exclusive, royalty-free and fully paid-up copyright and trade secret license to reproduce, adapt, translate, modify, and prepare derivative works of, publicly display, publicly perform, sublicense, make available and distribute error corrections and bug fixes, including derivative works thereof. All The Qt Company's and/or its licensors' trademarks, service marks, trade names, logos or other words or symbols are and shall remain the exclusive property of The Qt Company or its licensors respectively.
59
603. MODULES
61Some of the files in the Licensed Software have been grouped into modules. These files contain specific notices defining the module of which they are a part. The modules licensed to Licensee are specified in the License Certificate accompanying the Licensed Software. The terms of the License Certificate are considered part of the Agreement. In the event of inconsistency or conflict between the language of this Agreement and the License Certificate, the provisions of this Agreement shall govern.
62
634. VALIDITY OF THE AGREEMENT
64By installing, copying, or otherwise using the Licensed Software, Licensee agrees to be bound by the terms of this Agreement. If Licensee does not agree to the terms of this Agreement, Licensee should not install, copy, or otherwise use the Licensed Software. In addition, by installing, copying, or otherwise using any Updates or other components of the Licensed Software that Licensee receives separately as part of the Licensed Software, Licensee agrees to be bound by any additional license terms that accompany such Updates, if any. If Licensee does not agree to the additional license terms that accompany such Updates, Licensee should not install, copy, or otherwise use such Updates.
65
66Upon Licensee's acceptance of the terms and conditions of this Agreement, The Qt Company grants Licensee the right to use the Licensed Software in the manner provided below.
67
685. LICENSES GRANTED
69
705.1 General
71
725.1.1 Licensee is hereby granted a free of charge license for the Start-For-Free Term as described in Section 5.2 below. For clarity, Section 5.3 shall not apply for the Start-For-Free Term.
73
745.1.2 Licensee may purchase additional license(s) for Continued-Usage Term, as described in Sections 5.2 and 5.3 below, subject to The Qt Company's payment terms and conditions applicable at the time of purchase. In addition, Licensee may purchase license(s) for the Continued-Usage Term without such a preceding Start-For-Free Term.
75
765.2 Licenses granted during the Start-For-Free Term and the Continued-Usage Term
77
785.2.1 Using, Modifying and Copying
79
80The Qt Company grants to Licensee a non-exclusive, non-transferable, limited term license to use, modify and copy the Licensed Software for Designated Users specified in the License Certificate for the sole purposes of:
81
82(i) designing, developing, and testing Application(s);
83(ii) modifying the Licensed Software as limited by section 8 below; and
84(iii) compiling the Licensed Software and/or Modified Software source code into object code.
85
86Licensee may install copies of the Licensed Software on an unlimited number of computers provided that only the Designated Users use the Licensed Software.
87Licensee may at any time during the Supported Term designate another Designated User to replace a then-current Designated User by notifying The Qt Company, provided that a) the then-current Designated User has not been designated as a replacement during the last six (6) months; and b) there is no more than the specified number of Designated Users at any given time.
88
895.3 Limited Redistribution Right for the Continued-Usage Term Only
90
91The limited distribution licenses granted in this Section 5.3 shall only be applicable to the Continued-Usage Term, but not to Start-For-Free Term.
92
93The Qt Company grants to Licensee a non-exclusive, non-transferable license to, for the purpose of creating Devices, (a) install Applications and copies of the Redistributables (listed in Appendix 1, Section 1, in object code form only) in Devices and/or bundle or integrate copies of the Licensed Software (in object code form only) into or with Devices and other services for execution on the specified Deployment Platforms; (b) distribute Licensed Software (in object code form only) to one or more tiers of distributors as incorporated or integrated in Devices; and (c) sublicense the Licensed Software (in object code form only), as incorporated or integrated in Devices, to end users under Licensee's standard terms and conditions, which must meet the requirements set out in Appendix 2 (collectively, the "Distribution License"). This Distribution License does not entitle Licensee to receive, or grant Licensee any rights with respect to any source code. Should any third party that has received a product, software and/or a sublicense from Licensee in accordance with the provisions above, wish to use the product and sublicensed software in a manner not warranted in Appendix 2, such third party must request a licensing agreement for this purpose directly from The Qt Company. Licensee may also reproduce and distribute the Licensed Software (in object code form only) under the Distribution License independent of the Device, (i.e. the Licensed Software may be reproduced and distributed by Licensee to others as a stand-alone or independent product or for use independent of the Device). The Distribution License provided under this Section 5.3 is conditional, subject to Licensee´s full compliance of Section 14 of this Agreement. All reproduction and distribution of the Licensed Software or any portion thereof requires the payment of License Fees from Licensee to The Qt Company.
94
95The licenses granted in this Section by The Qt Company to Licensee are subject to Licensee's compliance with Section 5.4 of this Agreement.
96
97For the avoidance of doubt, should the Licensee wish to distribute Licensed Software as a part of software development kit (SDK) for the purpose of developing Applications by Licensee´s customers for Licensee´s products, such distribution is subject to a separate Qt SDK distribution license agreement to be concluded with The Qt Company.
98
995.4 Further Requirements
100
101The licenses granted in this Section 5 by The Qt Company to Licensee are subject to Licensee's compliance with Section 8 of this Agreement.
102
1036. VERIFICATION
104The Qt Company or a certified auditor on The Qt Company's behalf, may, upon its reasonable request and at its expense, audit Licensee with respect to the use of the Licensed Software. Such audit may be conducted by mail, electronic means or through an in-person visit to Licensee's place of business. Any such in-person audit shall be conducted during regular business hours at Licensee's facilities and shall not unreasonably interfere with Licensee's business activities. The Qt Company will not remove, copy, or redistribute any electronic material during the course of an audit. If an audit reveals that Licensee is using the Licensed Software in a way that is in material violation of the terms of the Agreement, then Licensee shall pay The Qt Company's reasonable costs of conducting the audit. In the case of a material violation, Licensee agrees to pay The Qt Company any amounts owing that are attributable to the unauthorized use. Alternatively, The Qt Company reserves the right, at The Qt Company's sole option, to terminate the licenses for the Licensed Software.
105
1067. THIRD PARTY SOFTWARE
107The Licensed Software may provide links to third party libraries or code (collectively "Third Party Software") to implement various functions. Third Party Software does not comprise part of the Licensed Software. In some cases, access to Third Party Software may be included along with the Licensed Software delivery as a convenience for development and testing only. Such source code and libraries may be listed in the ".../src/3rdparty" source tree delivered with the Licensed Software or documented in the Licensed Software where the Third Party Software is used, as may be amended from time to time, do not comprise the Licensed Software. Licensee acknowledges (i) that some part of Third Party Software may require additional licensing of copyright and patents from the owners of such, and (ii) that distribution of any of the Licensed Software referencing any portion of a Third Party Software may require appropriate licensing from such third parties.
108
1098. CONDITIONS FOR CREATING APPLICATIONS
110The licenses granted in this Agreement for Licensee to create, modify and distribute Applications is subject to all of the following conditions: (i) all copies of the Applications Licensee creates must bear a valid copyright notice either Licensee's own or the copyright notice that appears on the Licensed Software; (ii) Licensee may not remove or alter any copyright, trademark or other proprietary rights notice contained in any portion of the Licensed Software including but not limited to the About Boxes; (iii) Licensee will indemnify and hold The Qt Company, its Affiliates, contractors, and its suppliers, harmless from and against any claims or liabilities arising out of the use, reproduction or distribution of Applications; (iv) Applications must be developed using a licensed, registered copy of the Licensed Software; (v) Applications must add primary and substantial functionality to the Licensed Software; (vi) Applications may not pass on functionality which in any way makes it possible for others to create software with the Licensed Software; however Licensee may use the Licensed Software's scripting and QML ("Qt Quick") functionality solely in order to enable scripting, themes and styles that augment the functionality and appearance of the Application(s) without adding primary and substantial functionality to the Application(s); (vii) Licensee may create Modified Software that breaks the source or binary compatibility with the Licensed Software. This includes, but is not limited to, changing the application programming interfaces ("API") by adding, changing or deleting any variable, method, or class signature in the Licensed Software, the inter-process QCop specification, and/or any inter-process protocols, services or standards in the Licensed Software libraries. To the extent that Licensee breaks source or binary compatibility with the Licensed Software, Licensee acknowledges that The Qt Company's ability to provide Support may be prevented or limited and Licensee's ability to make use of Updates may be restricted; (viii) Applications may not compete with the Licensed Software; (ix) Licensee may not use The Qt Company's or any of its suppliers' names, logos, or trademarks to market Applications, except to state that Licensee's Application(s) was developed using the Licensed Software; and (x) each Designated User creating the Application(s) needs to have a separate license for the Licensed Software.
111
112NOTE: If Licensee, or another third party, has, at any time, developed or distributed all (or any portions of) the Application(s) using an open source version of Qt licensed under the terms of the GNU Lesser General Public License, version 2.1 or later ("LGPL") or the GNU General Public License version 2.0 or later ("GPL"), Licensee may contact The Qt Company via email to address sales@qt.io to ask for the necessary permission to combine such development work with the Licensed Software. The Qt Company shall evaluate Licensee´s request, and respond to the request with estimated license costs and other applicable terms and details relating to the permission for the Licensee, depending on the actual situation in question. Copies of the licenses referred to above are located at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html, https://www.gnu.org/licenses/lgpl-3.0.html, http://www.fsf.org/licensing/licenses/info/GPLv2.html, and http://www.gnu.org/copyleft/gpl-3.0.html.
113
1149. PRE-RELEASE CODE
115The Licensed Software may contain pre-release code and functionality marked or otherwise stated as "Technology Preview", "Alpha", "Beta" or similar. Such pre-release code may be present in order to provide experimental support for new platforms or preliminary version of new functionality. The pre-release code is not at the level of performance and compatibility of a final, generally available, product offering. The pre-release parts of the Licensed Software may not operate correctly and may be substantially modified prior to the first commercial product release, if any. The Qt Company is under no obligation to make pre-release code commercially available, or provide any Support or Updates relating thereto.
116
11710. LIMITED WARRANTY AND WARRANTY DISCLAIMER
118The Qt Company hereby represents and warrants with respect to the Licensed Software that it has the power and authority to grant the rights and licenses granted to Licensee under this Agreement. Except as set forth above, the Licensed Software is licensed to Licensee "as is".
119
120TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES NOT WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT IT IS WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE UNINTERRUPTED. ALL USE OF AND RELIANCE ON THE LICENSED SOFTWARE IS AT THE SOLE RISK OF AND RESPONSIBILITY OF LICENSEE.
12111. LIMITATION OF LIABILITY
122
12311.1 Risk Allocation
124If, The Qt Company's warranty disclaimer notwithstanding, The Qt Company is held to be liable to Licensee whether in contract, tort, or any other legal theory, based on the Licensed Software, The Qt Company's entire liability to Licensee and Licensee's exclusive remedy shall be, at The Qt Company's option, either (a) return of the price Licensee paid for the Licensed Software, or (b) repair or replacement of the Licensed Software, provided Licensee returns all copies of the Licensed Software to The Qt Company as originally delivered to Licensee.
125
126EXCEPT FOR INJURY TO PERSONS OR IN CASES OF INTENTIONAL MISCONDUCT AND IN CASE OF THE LICENSEE WITH RESPECT TO AMOUNTS PAYABLE UNDER SECTION 14 OR LICENSEE'S MATERIAL BREACH OF THIS AGREEMENT AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER PARTY IN CONTRACT, TORT OR OTHERWISE, WHATEVER THE CAUSE THEREOF, FOR ANY LOSS OF PROFIT, LOSS OF DATA, LOSS OF BUSINESS OR GOODWILL OR ANY INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE COST, DAMAGES OR EXPENSE OF ANY KIND, HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT.
127TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, LIABILITY FOR SUCH DAMAGE SHALL BE EXCLUDED, EVEN IF THE EXCLUSIVE REMEDIES PROVIDED FOR IN THIS AGREEMENT FAIL OF THEIR ESSENTIAL PURPOSE.
128EXCEPT FOR INJURY TO PERSONS OR IN CASES OF INTENTIONAL MISCONDUCT AND IN CASE OF THE LICENSEE WITH RESPECT TO AMOUNTS PAYABLE UNDER SECTION 14 OR LICENSEE'S MATERIAL BREACH OF THIS AGREEMENT AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT EXCEED THE AGGREGATE LICENSE FEES RECEIVED FROM LICENSEE FOR THE LICENSED SOFTWARE DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE EVENT RESULTING IN SUCH LIABILITY.
129THE PROVISIONS OF THIS SECTION 11 ALLOCATE THE RISKS UNDER THIS AGREEMENT BETWEEN THE QT COMPANY AND LICENSEE AND THE PARTIES HAVE RELIED UPON THE LIMITATIONS SET FORTH HEREIN IN DETERMINING WHETHER TO ENTER INTO THIS AGREEMENT.
130
13111.2 No Third Party Representations, Warranties or Transfers
132Licensee shall make no representations or warranties concerning the Licensed Software on behalf of The Qt Company, nor shall Licensee sell, transfer, publish, disclose, display or otherwise make available the Licensed Software, or copies thereof, to any third party except as specifically set forth herein or in another written agreement with The Qt Company. Any representation or warranty Licensee makes or purports to make on The Qt Company's behalf shall be void as to The Qt Company.
13311.3 Licensee´s Indemnification
134Licensee shall indemnify and hold harmless The Qt Company and its officers, directors, employees, representative, licensors, and suppliers from and against any claim, injury, judgment, settlement, loss or expense, including attorneys' fees, arising as a consequence of: (a) Licensee's breach of its warranties or any other provisions of this Agreement, including, but not limited to, (i) the failure of Licensee to comply with the provisions of this Section 11, (ii) any misrepresentations of Licensee in connection with The Qt Company or the Licensed Software, and (iii) any other wrongful conduct of Licensee, its employees, representatives, agents, or (b) the Device.
135
13612. SUPPORT, UPDATES AND ONLINE SERVICES
137Licensee will be eligible to receive Support and Updates and to use the Online Services during the Supported Term, in accordance with The Qt Company's then current policies and procedures, if any. Such policies and procedures may be changed from time to time. For clarity, under the Limited Subscription License, the Licensee shall not be eligible to receive any Support for the Licensed Software.
138
139As for the Perpetual License, unless Licensee notifies The Qt Company in writing no less than 30 days prior to each expiry of Supported Term, Supported Term may, at the Qt Company's option be extended by Renewal Term, subject to due payments by Licensee and subject to The Qt Company's terms and conditions applicable at the time of extension.
140
141In the event Licensee selects not to have Supported Term extended, The Qt Company shall, following the expiry of Supported Term, no longer make the Licensed Software, Support, Updates or Online Services available to Licensee.
142
143Licensee shall be responsible for providing service and support to Licensee's Customers with respect to the Licensed Software. Licensee, as appropriate, shall inform Licensee's Customers that all requests for support or service are to be made to Licensee, and not to The Qt Company.
144
145Updates shall be considered to be Licensed Software and governed by this Agreement as such, unless The Qt Company designates that a different agreement shall govern. Licensee shall be responsible for distributing patches and fixes to Customers if and as The Qt Company reasonably requests.
14613. CONFIDENTIALITY
147Each party acknowledges that during the Start-For-Free-Term and Supported Term of this Agreement it shall have access to information about the other party's business, business methods, business plans, customers, business relations, technology, and other information, including the terms of this Agreement, that is confidential and of great value to the other party, and the value of which would be significantly reduced if disclosed to third parties ("Confidential Information"). Accordingly, when a party (the "Receiving Party") receives Confidential Information from another party (the "Disclosing Party"), the Receiving Party shall, and shall obligate its employees and agents and employees and agents of its Affiliates to: (i) maintain the Confidential Information in strict confidence; (ii) not disclose the Confidential Information to a third party without the Disclosing Party's prior written approval; and (iii) not, directly or indirectly, use the Confidential Information for any purpose other than for exercising its rights and fulfilling its responsibilities pursuant to this Agreement. Each party shall take reasonable measures to protect the Confidential Information of the other party, which measures shall not be less than the measures taken by such party to protect its own confidential and proprietary information.
148
149"Confidential Information" shall not include information that (a) is or becomes generally known to the public through no act or omission of the Receiving Party; (b) was in the Receiving Party's lawful possession prior to the disclosure hereunder and was not subject to limitations on disclosure or use; (c) is developed by employees of the Receiving Party or other persons working for the Receiving Party who have not had access to the Confidential Information of the Disclosing Party, as proven by the written records of the Receiving Party or by persons who have not had access to the Confidential Information of the Disclosing Party as proven by the written records of the Receiving Party; (d) is lawfully disclosed to the Receiving Party without restrictions, by a third party not under an obligation of confidentiality; or (e) the Receiving Party is legally compelled to disclose the information, in which case the Receiving Party shall assert the privileged and confidential nature of the information and cooperate fully with the Disclosing Party to protect against and prevent disclosure of any Confidential Information and to limit the scope of disclosure and the dissemination of disclosed Confidential Information by all legally available means.
150
151The obligations of the Receiving Party under this Section shall continue during the Supported Term and for a period of five (5) years after expiration or termination of this Agreement. To the extent that the terms of the Non-Disclosure Agreement between The Qt Company and Licensee conflict with the terms of this Section 13, this Section 13 shall be controlling over the terms of the Non-Disclosure Agreement.
152
15314 FEES, ORDERS, DELIVERY AND PAYMENT
15414.1 DISTRIBUTION LICENSE FEES
155The Distribution License provided under Section 5.3 is conditional on the Licensee purchasing the needed amount of Distribution Licenses separately from The Qt Company before distributing Devices to Customers. Distribution licenses are sold in License Packs subject to a fee.
156The License Fee for a Distribution License purchased by Licensee cannot be refunded or claimed as a credit, even on the ground that it is not distributed, by sale or otherwise, from Licensee to Customers or for any other reason.
157Licensee will have an account of Distribution Licenses that will be applied to each copy of Licensed Software that is bundled or integrated with any of the Devices or that is distributed to Customers. Licensee may bundle, integrate and distribute copies of the Licensed Software so long as Licensee has Distribution Licenses paid for, but not yet used. Each time Licensee bundles, integrates or distributes a copy of Licensed Software, then one Distribution License is used, and Licensee's account of available Distribution Licenses is decreased accordingly.
15814.2 DISTRIBUTION LICENSES ORDERED
159Licensee shall submit all purchase orders for Distribution Licenses to The Qt Company by email or any other method acceptable to The Qt Company (each such order is referred to herein as a "Purchase Order"). If The Qt Company wishes to accept the Purchase Order, The Qt Company may then confirm and return the Purchase Order to Licensee, whereupon the Purchase Order shall become binding between the Parties. In the event of conflict or inconsistency between this Agreement and a Purchase Order, this Agreement shall control.
16014.3 PAYMENT TERMS
161The Qt Company will submit an invoice to Licensee any time after The Qt Company receives a subsequent purchase order(s) from Licensee, and delivers the goods or services described in the Agreement or purchase order to Licensee. Licensee's payments for the Licensed Software and any other charges under this Agreement shall be paid by Licensee no later than thirty (30) days from the time The Qt Company mails its invoices to Licensee. A late payment charge of the lower of (a) one percent per month; or (b) the highest interest rate allowed by applicable law, shall be charged on unpaid balances that remain past due for more than thirty (30) days. The Qt Company shall have the right to suspend, terminate or withhold Distribution Licenses, License Certificates, deliveries and/or services should Licensee fail to make payment in a timely fashion.
162Licensee shall at all times maintain accurate and up-to-date written records of the number of copies of the Licensed Software that Licensee installs in each Device(s).
163As for the Limited Subscription License, the fees under this Agreement applicable for the Licensee, as further stated in www.qt.io, are subject to Licensee´s annual sales revenue being smaller than one hundred thousand (<100,000) USD. In case the Licensee´s annual sales revenue would increase up to one hundred thousand (100,000) USD or more, (i) the Licensee shall inform The Qt Company without undue delay in written form of such increase, and (ii) The Qt Company shall reserve the right to change applicable pricing for The Licensee, depending on The Qt Company´s then current pricing, as further stated in www.qt.io. The Licensee shall have the obligation, upon reasonable prior request by The Qt Company, to prove that its annual sales revenue is smaller than one hundred thousand (<100,000) USD in order for the Licensee to be entitled to continue using the Limited Subscription License.
164
16514.4 TAXES
166All amounts payable are gross amounts but exclusive of any value added tax, use tax, sales tax or similar tax. Licensee shall be entitled to withhold from payments any applicable withholding taxes and comply with all applicable tax and employment legislation. Each party shall pay all taxes (including, but not limited to, taxes based upon its income) or levies imposed on it under applicable laws, regulations and tax treaties as a result of this Agreement and any payments made hereunder (including those required to be withheld or deducted from payments). Each party shall furnish evidence of such paid taxes as is sufficient to enable the other party to obtain any credits available to it, including original withholding tax certificates.
16715 RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
16815.1 LICENSEE'S RECORD-KEEPING
169Licensee shall at all times maintain accurate and up-to-date written records of Licensee's activities related to the Licensed Software and Distribution Licenses, including copying and distribution. The records shall be adequate to determine Licensee's compliance with the provisions of this Agreement and to demonstrate the number of Distribution Licenses of the Licensed Software distributed by Licensee. The records shall conform to good accounting practices commonly accepted in the industry and consistently applied.
170Licensee shall, within thirty (30) days from the end of each calendar quarter, deliver to The Qt Company a report detailing the number of copies of Licensed Software distributed by Licensee during that calendar quarter, and detailing also the number of undistributed copies of Licensed Software made by Licensee and remaining in its account (i.e., undistributed copies for which Distribution Licenses have been or need to be obtained from The Qt Company). Such report shall contain such other information as The Qt Company shall require from time to time.
17115.2. THE QT COMPANY'S INSPECTION RIGHTS
172The Qt Company or an independent auditor on The Qt Company's behalf, may, upon at least five (5) business days' prior written notice and at its expense, audit Licensee with respect to the use of the Licensed Software, but not more frequently than once during each 6-month period. Such audit may be conducted by mail, electronic means or through an in-person visit to Licensee's place of business. Any such in-person audit shall be conducted during regular business hours at Licensee's facilities and shall not unreasonably interfere with Licensee's business activities. The Qt Company or the independent auditor shall be entitled to inspect Licensee's books and records that likely to contain information bearing on Licensee's compliance with this Agreement or the payments due to The Qt Company under this Agreement, including, but not limited to: assembly logs, sales records, distribution records ("Licensee's Records") The Qt Company shall not remove, copy, or redistribute any electronic material during the course of an audit.
173If an audit reveals that Licensee is using the Licensed Software in a way that is in material violation of the terms of the Agreement, then Licensee shall pay The Qt Company's reasonable costs of conducting the audit. In the case of a material violation, Licensee agrees to pay The Qt Company any amounts owing that are attributable to the unauthorized use. In the alternative, The Qt Company reserves the right, at The Qt Company's sole option, to terminate the licenses for the Licensed Software.
17416. GENERAL PROVISIONS
17516.1 No Assignment
176Licensee shall not be entitled to assign or transfer all or any of its rights, benefits and obligations under this Agreement without the prior written consent of The Qt Company, which shall not be unreasonably withheld. The Qt Company shall be entitled to assign or transfer any of its rights, benefits or obligations under this Agreement on an unrestricted basis.
177
17816.2 Termination
17916.2.1 Termination by The Qt Company
180The Qt Company shall have the right to terminate this Agreement upon thirty (30) days prior written notice if (i) the Licensee is in breach of any material obligation under this Agreement and the breaching Party fails to remedy such breach within such notice period; (ii) any Third Party Software license grant to The Qt Company terminates or expires; or (iii) Licensee or any of its Affiliates bring a suit before any court or administrative agency or otherwise assert a claim for infringement of Intellectual Property Rights owned or licensable by Licensee or its Affiliates against (a) The Qt Company or any of its Affiliates; or (b) any other recipient of a license from The Qt Company with respect to the Licensed Software; or (c) any contractor, customer or distributor of a Party listed above in a or b; where such suit or claim relates to the use of the Licensed Software.
18116.2.2 Mutual right to Terminate
182Either party shall have the right to terminate this Agreement immediately upon written notice in the event that the other party becomes insolvent, files for any form of bankruptcy, makes any assignment for the benefit of creditors, has a receiver, administrative receiver or officer appointed over the whole or a substantial part of its assets, ceases to conduct business, or an act equivalent to any of the above occurs under the laws of the jurisdiction of the other party.
183
18416.2.3 Parties´ Rights and Duties upon Termination
18516.2.3.1 Licensed Software which has not been subject to Distribution
186
187Upon termination of the Licenses, Licensee shall cease using the Licensed Software and return to The Qt Company all copies of Licensed Software that were supplied by The Qt Company. All other copies of Licensed Software in the possession or control of Licensee must be erased or destroyed. An officer of Licensee must promptly deliver to The Qt Company a written confirmation that this has occurred.
188
18916.2.3.2 Licensed Software which has been distributed in connection with Licensed Products
190
191Upon termination or expiration of this Agreement, the following rights granted hereunder, shall terminate, as follows:
192a) Licensee shall, within: (i) thirty (30) days if termination is based on Sections 16.2.1, 16.2.2, 15.2; or (ii) within six (6) months of the termination date, if termination is based on any other reason, discontinue all copying, embedding, production and distribution of any copies of the Licensed, and will cause any third parties who obtained from it the right to manufacture or distribution of copies of the Licensed Software to do likewise.
193b) Any termination of this Agreement shall not affect any rights of an end-user to use the Licensed Software.
194c) Licensee shall cease using the Licensed Software as provided for above, including without limitation all source code, master diskettes and tapes, user manuals for the Licensed Software and Documentation, and deliver such to The Qt Company and/or permanently destroy all copies of the Licensed Software and all materials relating to the Licensed Software, except that Licensee may retain and exploit only such copies of the Licensed Software as it may reasonably require in providing continued support to its end-user customers, and will certify that that is the case upon the request of the The Qt Company.
195
19616.3 Surviving Sections
197Any terms and conditions that by their nature or otherwise reasonably should survive a cancellation or termination of this Agreement shall also be deemed to survive. Such surviving terms and conditions include, but are not limited to the Section 13.
198
19916.4 Entire Agreement
200 This Agreement constitutes the complete agreement between the parties and supersedes all prior or contemporaneous discussions, representations, and proposals, written or oral, with respect to the subject matters discussed herein, with the exception of the non-disclosure agreement executed by the parties in connection with this Agreement ("Non-Disclosure Agreement"), if any, shall be subject to Section 13. No modification of this Agreement shall be effective unless contained in a writing executed by an authorized representative of each party. No term or condition contained in Licensee's purchase order shall apply unless expressly accepted by The Qt Company in writing. If any provision of the Agreement is found void or unenforceable, the remainder shall remain valid and enforceable according to its terms. If any remedy provided is determined to have failed for its essential purpose, all limitations of liability and exclusions of damages set forth in this Agreement shall remain in effect.
201
20216.5 Force Majeure
203Neither party shall be liable to the other for any delay or non-performance of its obligations hereunder other than the obligation of paying the license fees in the event and to the extent that such delay or non-performance is due to an event of Force Majeure (as defined below). If any event of Force Majeure results in a delay or non-performance of a party for a period of three (3) months or longer, then either party shall have the right to terminate this Agreement with immediate effect without any liability (except for the obligations of payment arising prior to the event of Force Majeure) towards the other party. A "Force Majeure" event shall mean an act of God, terrorist attack or other catastrophic event of nature that prevents either party for fulfilling its obligations under this Agreement.
204
20516.6 Notices
206Any notice given by one party to the other shall be deemed properly given and deemed received if specifically acknowledged by the receiving party in writing or when successfully delivered to the recipient by hand, fax, or special courier during normal business hours on a business day to the addresses specified below. Each communication and document made or delivered by one party to the other party pursuant to this Agreement shall be in the English language or accompanied by a translation thereof.
207
208Notices to The Qt Company shall be given to:
209 The Qt Company Ltd
210 Attn: Legal
211 Valimotie 21
212 FI-00380 Helsinki
213 Finland
214 Fax: +358 10 313 3700
215
21616.7 Export Control
217Licensee acknowledges that the Licensed Software may be subject to export control restrictions of various countries. Licensee shall fully comply with all applicable export license restrictions and requirements as well as with all laws and regulations relating to the importation of the Licensed Software and/or Modified Software and/or Applications and shall procure all necessary governmental authorizations, including without limitation, all necessary licenses, approvals, permissions or consents, where necessary for the re-exportation of the Licensed Software, Modified Software or Applications.
218
21916.8 Personal Data
220
221For the purposes of this Agreement, personal data shall include but is not limited to: individual user´s name, email address, telephone number, profile, and any other information from which the individual user can be identified (“Personal Data”). Upon signing of this Agreement, the Licensee explicitly gives its consent to the process and transfer of any Personal Data relating to the Licensee or its Designated Users, for the purposes stated below.
222
223The Qt Company may pass Personal Data outside The Qt Company group (1) if and to the extent a third party service provider has a strict need-to-know basis for such Personal Data to be able to provide its services to The Qt Company, or (2) in order to comply with the law or requests of governmental entities. Given the global nature of The Qt Company´s business, processing information for such purposes may involve a cross-border transfer of Personal Data. In addition, The Qt Company may collect individual user´s IP address and browser cookies about the use of services or tools relating to Licensed Software, and visits to The Qt Company´s web pages.
224
225In processing and transferring Personal Data The Qt Company shall comply with all applicable European or foreign data protection laws as effective from time to time.
226
22716.9 Governing Law and Legal Venue
228This Agreement shall be construed and interpreted in accordance with the laws of Finland, excluding its choice of law provisions. Any disputes, controversy or claim arising out of or relating to this Agreement, or the breach, termination or validity thereof shall be shall be finally settled by arbitration in accordance with the Arbitration Rules of Finland Chamber of Commerce . The arbitration tribunal shall consist of one (1), or if either Party so requires, of three (3), arbitrators. The award shall be final and binding and enforceable in any court of competent jurisdiction. The arbitration shall be held in Helsinki, Finland and the process shall be conducted in the English language.
229
23016.10 No Implied License
231There are no implied licenses or other implied rights granted under this Agreement, and all rights, save for those expressly granted hereunder, shall remain with The Qt Company and its licensors. In addition, no licenses or immunities are granted to the combination of the Licensed Software and/or Modified Software, as applicable, with any other software or hardware not delivered by The Qt Company under this Agreement.
232
233Appendix 1
234
2351. Parts of the Licensed Software that are permitted for distribution ("Redistributables")
236- The Licensed Software's essential and add-on libraries that have been included in an officially released version of the Licensed Software, in object code form
237- The Licensed Software's configuration tool ("qtconfig")
238- The Licensed Software's help tool in object code/executable form ("Qt Assistant")
239- The Licensed Software's internationalization tools in object code/executable form ("Qt Linguist", "lupdate", "lrelease")
240- The Licensed Software's designer tool ("Qt Designer")
241- The Licensed Software's IDE tool ("Qt Creator"), excluding any parts or plug-ins which are delivered to Licensee only in object code
242- The Licensed Software's QML ("Qt Quick") launcher tool ("qmlscene" and "qmlviewer") in object code/executable form
243- The Licensed Software's installer framework
244
2452. Parts of the Licensed Software that are not permitted for distribution without a separate SDK distribution license agreement include, but are not limited to
246- The Licensed Software's source code and header files
247- The Licensed Software's documentation
248- The Licensed Software's documentation generation tool ("qdoc")
249- The Licensed Software's tool for writing makefiles ("qmake")
250- The Licensed Software's Meta Object Compiler ("moc")
251- The Licensed Software's User Interface Compiler ("uic" or in the case of Qt Jambi: "juic")
252- The Licensed Software's Resource Compiler ("rcc")
253- The Licensed Software's generator (only in the case of Qt Jambi if applicable)
254- The Licensed Software's parts of the IDE tool ("Qt Creator") that are delivered to Licensee only in object code
255- The Licensed Software's Emulator
256- Build scripts, recipes and other material for creating the configuration of Licensed Software and/or 3rd party components, including the reference operating system configuration delivered in conjunction with the Licensed Software
257
258Appendix 2: Distribution Licensing
259
260I - Definitions
261The terms used in this Appendix 2 shall have the same meaning as defined in the main part of the Agreement.
262"Sublicensed Software" shall mean the Licensed Software, which is sublicensed to end-users (Sublicensees) in accordance with Section 5.3 of the Agreement.
263"Sublicensee" shall mean the end-user to which the Sublicensed Software is licensed.
264"Sublicense" shall mean the license given by Licensee to Sublicensee in accordance with Section 5.2 of the Agreement and this Appendix 2.
265II - Sublicensing
266The sublicensing referred to in Section 5.3 of the Agreement must satisfy the criteria set forth under sections 1 - 11 below:
2671. Source code.
268Only the object code of the Sublicensed Software may be sublicensed. Unless authorized in a separate agreement with The Qt Company, the source code may not be sublicensed.
2692. End-User Documentation.
270Sublicensee may be given the right to use the end-user Documentation, provided that such rights are limited to use in connection with the Sublicensed Software. Whenever the context reasonably permits, any reference in this Appendix to Sublicensed Software shall also apply to the end-user Documentation.
2713. Limitations on Numbers of Computers and Processors.
272The Sublicensee's right to use the Sublicensed Software must be limited so that each Sublicense can only be used on a single computer or processor within the possession and control of the Sublicensee. Each Sublicense may not withstanding the foregoing also cover additional computers or processors, but in such case, each additional computer or processor covered by the Sublicense shall require Licensee's purchase of one additional Distribution license from The Qt Company.
2734. Limits on Use, Distribution and Derivative Works.
274The Sublicense and Sublicensee's rights must be limited to Sublicensee's internal use purposes only and must not include any license, right or authorization to distribute or disclose any copy or portion of the Sublicensed Software to any other person. Sublicensee must not be given the right to modify or create derivative works based on the Sublicensed Software, and it must be stated explicitly in the Sublicense that such modification or creation is prohibited.
275
2765. Copies.
277Sublicensee may be given the right to make copies of the Sublicensed Software, provided that any such copy: (a) is created as an essential step in the utilization of Sublicensed Software in accordance with the Sublicense, or (b) is only for archival purposes to back-up the licensed use of Sublicensed Software. Sublicensee may also be given the right to make copies of Sublicensed Software to the extent reasonably needed to exercise rights under the Sublicense. Sublicensee must be obliged under the Sublicense to make sure that all The Qt Company trademark, copyright and intellectual property notices are faithfully reproduced and included on copies made by Sublicensee. Sublicensee may be given the right to make copies of the Documentation, but only as reasonably needed to facilitate the use of Sublicensed Software. Sublicensee may not be given the right to make any other copies of Licensed Software or Documentation unless and except as permitted by The Qt Company in a separate, written agreement.
2786. Other Versions and Updates.
279If Licensee is entitled to Updates in accordance with Section 12of the Agreement, such Updates may also be sublicensed, subject to the terms and conditions found in this Appendix 2.
2807. Protection of Sublicensed Software.
281Except as expressly permitted in this Appendix 2 (or in another written agreement with The Qt Company), Sublicensee must not be given any rights to modify or create derivative works based on Sublicensed Software, or reproduce Sublicensed Software, or distribute any copies of Sublicensed Software, or disclose any Sublicensed Software to any third party, or decompile, disassemble or otherwise reverse engineer Sublicensed Software, or use any Sublicensed Software or information learned therefrom. Sublicensee must as part of the contractual terms in the Sublicense acknowledge that The Qt Company and its licensors own the copyrights and other intellectual property in and to the Sublicensed Software.
2828. Disclaimers Of Warranties.
283Licensee may not give any warranties regarding the Sublicensed Software to Sublicensee on behalf of The Qt Company.
2849. Responsibility of Sublicensee.
285Sublicensee shall, as part of the Sublicense, be made responsible for decisions made and actions taken based on Sublicensed Software. Sublicensee shall as part of the contractual terms of the Sublicense be made aware that the Sublicensed Software is not designed, intended or licensed for use in or with systems, devices or products intended for surgical implant into the body or other applications intended to support or sustain life or for any aviation or nuclear reactor application or any other application in which the software or its failure, malfunction or inadequacy could directly or indirectly cause or contribute to personal injury or death or significant property damage. It shall further be stated in the Sublicense that it is Sublicensee's responsibility to ascertain the suitability of Sublicensed Software for any situation or application. It shall also be stated that the Sublicense defines a mutually agreed-upon allocation of risk and the Sublicense fees reflect such allocation of risk.
28610. Termination.
287Licensee shall, as part of the terms of the Sublicense, be entitled to terminate the Sublicense granted to Sublicensee if Sublicensee breaches terms and conditions set to comply with this Appendix 2. The Qt Company may instruct Licensee to terminate the Sublicense without undue delay if termination is warranted in accordance with the foregoing. Upon termination of the Sublicense, Sublicensee shall be obliged to immediately cease all use of Sublicensed Software and to destroy all copies of Sublicensed Software within the possession or control of Sublicensee.
28811. Mandatory law.
289The requirements above shall not apply to the extent they contravene mandatory provisions of the law governing the Sublicense, but in such case, The Qt Company shall be notified about the changes.
290
diff --git a/meta-boot2qt/recipes-core/initramfs-basic/files/init.sh b/meta-boot2qt/recipes-core/initramfs-basic/files/init.sh
new file mode 100644
index 0000000..3db235b
--- /dev/null
+++ b/meta-boot2qt/recipes-core/initramfs-basic/files/init.sh
@@ -0,0 +1,102 @@
1#!/bin/sh
2
3PATH=/sbin:/bin:/usr/sbin:/usr/bin
4ROOT_MOUNT="/sysroot/"
5ROOT_DEVICE=""
6
7early_setup() {
8
9 mkdir -p /proc
10 mkdir -p /sys
11 mount -t proc proc /proc
12 mount -t sysfs sysfs /sys
13 mount -t devtmpfs none /dev
14
15 mkdir -p /run
16 mkdir -p /var/run
17}
18
19read_args() {
20
21 for arg in $(cat /proc/cmdline); do
22 value=$(echo ${arg} | cut -s -f2- -d '=')
23 case $arg in
24 root=*)
25 root=$value
26 ;;
27 debugshell*)
28 if [ -z "$value" ]; then
29 shelltimeout=30
30 else
31 shelltimeout=$value
32 fi
33 ;;
34 esac
35 done
36
37 if [ -z "$root" ] ; then
38 debug_shell "No root= specified via kernel command line."
39 else
40 case $root in
41 LABEL=*)
42 label=${root#LABEL=}
43 ;;
44 *)
45 debug_shell "This init script only supports root=LABEL=* for specifying root file system, but root=$root was provided."
46 ;;
47 esac
48 fi
49}
50
51mount_rootfs() {
52
53 mkdir -p $ROOT_MOUNT
54 mount $ROOT_DEVICE $ROOT_MOUNT
55 mount -n --move /proc $ROOT_MOUNT/proc
56 mount -n --move /sys $ROOT_MOUNT/sys
57 mount -n --move /dev $ROOT_MOUNT/dev
58
59 exec switch_root $ROOT_MOUNT /sbin/init || debug_shell "Couldn't switch_root."
60}
61
62switch_real_root() {
63
64 echo "Searching for media..."
65 C=0
66 while true
67 do
68
69 rootfs=$(findfs LABEL=$label)
70 if [ -n "$rootfs" ] ; then
71 ROOT_DEVICE=$rootfs
72 mount_rootfs
73 fi
74
75 # don't wait for more than $shelltimeout seconds, if it's set
76 if [ -n "$shelltimeout" ]; then
77 echo -n " " $(( $shelltimeout - $C ))
78 if [ $C -ge $shelltimeout ]; then
79 debug_shell "Cannot find root file system."
80 fi
81 C=$(( C + 1 ))
82 fi
83
84 sleep 1
85 done
86}
87
88debug_shell() {
89
90 echo ${1}
91 echo "Dropping to a shell."
92 exec sh
93}
94
95main() {
96
97 early_setup
98 read_args
99 switch_real_root
100}
101
102main
diff --git a/meta-boot2qt/recipes-core/initramfs-basic/init-basic.bb b/meta-boot2qt/recipes-core/initramfs-basic/init-basic.bb
new file mode 100644
index 0000000..25039e7
--- /dev/null
+++ b/meta-boot2qt/recipes-core/initramfs-basic/init-basic.bb
@@ -0,0 +1,43 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30SUMMARY = "Simple init script that mounts root filesystem by label."
31LICENSE = "The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
33SRC_URI = "file://init.sh"
34
35S = "${WORKDIR}"
36
37do_install () {
38 install -m 0755 ${WORKDIR}/init.sh ${D}/init
39}
40
41inherit allarch
42
43FILES_${PN} += "/init"
diff --git a/meta-boot2qt/recipes-core/initramfs-basic/initramfs-basic.bb b/meta-boot2qt/recipes-core/initramfs-basic/initramfs-basic.bb
new file mode 100644
index 0000000..31388d3
--- /dev/null
+++ b/meta-boot2qt/recipes-core/initramfs-basic/initramfs-basic.bb
@@ -0,0 +1,50 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Basic initramfs image. Useful as a template for more advanced functionality."
31LICENSE = "The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
33
34# findfs from busybox fails to do its jobs, the full version from util-linux-findfs works fine
35PACKAGE_INSTALL = "init-basic busybox util-linux-findfs ${ROOTFS_BOOTSTRAP_INSTALL}"
36
37# Do not pollute the initramfs image with rootfs features
38IMAGE_FEATURES = ""
39
40export IMAGE_BASENAME = "initramfs-basic"
41IMAGE_LINGUAS = ""
42
43IMAGE_FSTYPES = "cpio.gz"
44inherit core-image
45
46IMAGE_ROOTFS_SIZE = "8192"
47IMAGE_ROOTFS_EXTRA_SPACE = "0"
48
49BAD_RECOMMENDATIONS += "busybox-syslog"
50
diff --git a/meta-boot2qt/recipes-core/ostree/ostree.bb b/meta-boot2qt/recipes-core/ostree/ostree.bb
new file mode 100644
index 0000000..e4c8076
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree.bb
@@ -0,0 +1,86 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30SUMMARY = "Shared library with a reference command line tool for managing bootable, immutable, versioned filesystem trees."
31
32LICENSE = "LGPL-2.1"
33LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2"
34
35inherit autotools pkgconfig systemd
36
37SRC_URI = " \
38 git://github.com/ostreedev/ostree.git \
39 file://Mount-boot-partition.patch \
40 file://ostree-prepare-root-enabler-for-simpler-kernel-arg.patch \
41 file://deploy-add-karg-none-argument.patch \
42 file://Support-for-booting-without-initramfs.patch \
43 file://Allow-updating-files-in-the-boot-directory.patch \
44 file://u-boot-add-bootdir-to-the-generated-uEnv.txt.patch \
45 file://Create-firmware-convenience-symlinks.patch \
46 file://Print-pull-progress-also-when-not-on-console.patch \
47 file://Workaround-the-SIGCHLD-handler-issue.patch \
48 file://workaround-gtkdocize-configure-issue-in-autog.patch \
49 "
50
51SRCREV = "8ece4d6d51bdbe3e41ab318259276bb83e553aa0"
52
53S = "${WORKDIR}/git"
54
55DEPENDS = "glib-2.0 glib-2.0-native e2fsprogs gpgme attr libsoup-2.4 libassuan xz systemd"
56# Bash is needed by the shipped dracut module. This dracut module is used to generate initramfs image.
57# The production image do not require bash for proper working.
58RDEPENDS_${PN} += "bash"
59RRECOMMENDS_${PN} += "gnupg"
60
61PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
62PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,,,"
63
64SYSTEMD_SERVICE_${PN} = "ostree-prepare-root.service ostree-remount.service"
65FILES_${PN} += "${systemd_unitdir}/system/ \
66 ${libdir}/dracut/"
67
68EXTRA_OECONF = "--with-dracut \
69 --without-selinux \
70 --without-libarchive \
71 --with-builtin-grub2-mkconfig \
72 --enable-rofiles-fuse=no \
73 --enable-gtk-doc-html=no \
74 --enable-man=no \
75 --with-soup \
76 --with-static-prepare-root \
77 --disable-otmpfile \
78 --enable-introspection=no \
79 --enable-libsoup-client-certs"
80
81do_configure_prepend() {
82 cd ${S}
83 # Update submodules and workaround bugs.
84 env NOCONFIGURE=1 ./autogen.sh
85 cd -
86}
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/Allow-updating-files-in-the-boot-directory.patch b/meta-boot2qt/recipes-core/ostree/ostree/Allow-updating-files-in-the-boot-directory.patch
new file mode 100644
index 0000000..d416543
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/Allow-updating-files-in-the-boot-directory.patch
@@ -0,0 +1,161 @@
1From cc31c80658a90cf1b13fdf9fe8b6dde1cc9a0d24 Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Mon, 22 Aug 2016 11:32:16 +0200
4Subject: [PATCH 1/3] Allow updating files in the /boot directory
5
6This patch adds support for copying (or hardlinking on
7single partition systems) all files from the deployment's
8/usr/lib/ostree-boot directory to the relevant
9/boot/ostree/$os-$bootcsum/ directory. This feature can
10be enabled by 'touch .ostree-bootcsumdir-source' in
11/usr/lib/ostree-boot.
12---
13 src/libostree/ostree-sysroot-deploy.c | 101 +++++++++++++++++++++++++++++++---
14 1 file changed, 94 insertions(+), 7 deletions(-)
15
16diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
17index a05ca30..f34e3f3 100644
18--- a/src/libostree/ostree-sysroot-deploy.c
19+++ b/src/libostree/ostree-sysroot-deploy.c
20@@ -165,12 +165,31 @@ dirfd_copy_attributes_and_xattrs (int src_parent_dfd,
21 }
22
23 static gboolean
24+hardlink_or_copy_dir_recurse (int src_parent_dfd,
25+ int dest_parent_dfd,
26+ const char *name,
27+ gboolean hardlink,
28+ GCancellable *cancellable,
29+ GError **error);
30+
31+static gboolean
32 copy_dir_recurse (int src_parent_dfd,
33 int dest_parent_dfd,
34 const char *name,
35 GCancellable *cancellable,
36 GError **error)
37 {
38+ return hardlink_or_copy_dir_recurse (src_parent_dfd, dest_parent_dfd, name, FALSE, cancellable, error);
39+}
40+
41+static gboolean
42+hardlink_or_copy_dir_recurse (int src_parent_dfd,
43+ int dest_parent_dfd,
44+ const char *name,
45+ gboolean hardlink,
46+ GCancellable *cancellable,
47+ GError **error)
48+{
49 g_auto(GLnxDirFdIterator) src_dfd_iter = { 0, };
50 glnx_fd_close int dest_dfd = -1;
51 struct dirent *dent;
52@@ -210,17 +229,27 @@ copy_dir_recurse (int src_parent_dfd,
53
54 if (S_ISDIR (child_stbuf.st_mode))
55 {
56- if (!copy_dir_recurse (src_dfd_iter.fd, dest_dfd, dent->d_name,
57- cancellable, error))
58+ if (!hardlink_or_copy_dir_recurse (src_dfd_iter.fd, dest_dfd, dent->d_name,
59+ hardlink, cancellable, error))
60 return FALSE;
61 }
62 else
63 {
64- if (!glnx_file_copy_at (src_dfd_iter.fd, dent->d_name, &child_stbuf,
65- dest_dfd, dent->d_name,
66- GLNX_FILE_COPY_OVERWRITE,
67- cancellable, error))
68- return FALSE;
69+ if (hardlink)
70+ {
71+ if (!hardlink_or_copy_at (src_dfd_iter.fd, dent->d_name,
72+ dest_dfd, dent->d_name,
73+ cancellable, error))
74+ return FALSE;
75+ }
76+ else
77+ {
78+ if (!glnx_file_copy_at (src_dfd_iter.fd, dent->d_name, &child_stbuf,
79+ dest_dfd, dent->d_name,
80+ GLNX_FILE_COPY_OVERWRITE,
81+ cancellable, error))
82+ return FALSE;
83+ }
84 }
85 }
86
87@@ -1301,6 +1330,7 @@ install_deployment_kernel (OstreeSysroot *sysroot,
88 g_autofree char *version_key = NULL;
89 g_autofree char *ostree_kernel_arg = NULL;
90 g_autofree char *options_key = NULL;
91+ g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
92 GString *title_key;
93 __attribute__((cleanup(_ostree_kernel_args_cleanup))) OstreeKernelArgs *kargs = NULL;
94 const char *val;
95@@ -1367,6 +1397,63 @@ install_deployment_kernel (OstreeSysroot *sysroot,
96 }
97 }
98
99+ if (fstatat (tree_boot_dfd, ".ostree-bootcsumdir-source", &stbuf, 0) == 0)
100+ {
101+ if (!glnx_dirfd_iterator_init_at (tree_boot_dfd, ".", FALSE, &dfd_iter, error))
102+ goto out;
103+
104+ while (TRUE)
105+ {
106+ struct dirent *dent;
107+
108+ if (!glnx_dirfd_iterator_next_dent (&dfd_iter, &dent, cancellable, error))
109+ goto out;
110+ if (dent == NULL)
111+ break;
112+
113+ /* Skip special files - vmlinuz-* and initramfs-* are handled separately */
114+ if (g_str_has_prefix (dent->d_name, "vmlinuz-") || g_str_has_prefix (dent->d_name, "initramfs-"))
115+ continue;
116+
117+ if (fstatat (bootcsum_dfd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW) != 0)
118+ {
119+ if (errno != ENOENT)
120+ {
121+ glnx_set_prefix_error_from_errno (error, "fstatat %s", dent->d_name);
122+ goto out;
123+ }
124+
125+ if (fstatat (dfd_iter.fd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW) != 0)
126+ {
127+ glnx_set_error_from_errno (error);
128+ goto out;
129+ }
130+
131+ if (S_ISDIR (stbuf.st_mode))
132+ {
133+ if (!hardlink_or_copy_dir_recurse (tree_boot_dfd, bootcsum_dfd, dent->d_name,
134+ TRUE, cancellable, error))
135+ goto out;
136+ }
137+ else
138+ {
139+ if (!hardlink_or_copy_at (tree_boot_dfd, dent->d_name,
140+ bootcsum_dfd, dent->d_name,
141+ cancellable, error))
142+ goto out;
143+ }
144+ }
145+ }
146+ }
147+ else
148+ {
149+ if (errno != ENOENT)
150+ {
151+ glnx_set_prefix_error_from_errno (error, "fstatat %s", ".ostree-bootcsumdir-source");
152+ goto out;
153+ }
154+ }
155+
156 if (fstatat (deployment_dfd, "usr/lib/os-release", &stbuf, 0) != 0)
157 {
158 if (errno != ENOENT)
159--
1602.7.4
161
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/Create-firmware-convenience-symlinks.patch b/meta-boot2qt/recipes-core/ostree/ostree/Create-firmware-convenience-symlinks.patch
new file mode 100644
index 0000000..656887d
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/Create-firmware-convenience-symlinks.patch
@@ -0,0 +1,126 @@
1From c4df63488b9e09a9aa69e32ea5c0671c9dc50c9d Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Wed, 24 Aug 2016 12:29:38 +0200
4Subject: [PATCH] Create firmware convenience symlinks.
5
6Later this could be moved into utils or a similar
7location, if other boot loader backends will need
8this functionality.
9---
10 src/libostree/ostree-bootloader-uboot.c | 93 ++++++++++++++++++++++++++++++++-
11 1 file changed, 92 insertions(+), 1 deletion(-)
12
13diff --git a/src/libostree/ostree-bootloader-uboot.c b/src/libostree/ostree-bootloader-uboot.c
14index 22251da..26a3127 100644
15--- a/src/libostree/ostree-bootloader-uboot.c
16+++ b/src/libostree/ostree-bootloader-uboot.c
17@@ -62,6 +62,97 @@ _ostree_bootloader_uboot_get_name (OstreeBootloader *bootloader)
18 return "U-Boot";
19 }
20
21+/* It is common for firmware to search / on the boot partition for additional
22+ * files that are required for booting. It can be difficult to change this search
23+ * logic if it is hardcoded somewhere low in the stack or is in a read-only memory.
24+ * This issue can be solved by system builders by creating a convenience symlink:
25+ *
26+ * cd sysroot/boot
27+ * ln -s loader/second-stage-bootloader second-stage-bootloader
28+ *
29+ * This function will make sure that loader/second-stage-bootloader points to the
30+ * correct target file version. This function does nothing if boot/ does not contain
31+ * symlink files pointing into the loader/ directory.
32+ */
33+static gboolean
34+create_firmware_convenience_symlinks (OstreeBootloaderUboot *self,
35+ char *bootcsum_dir,
36+ int bootversion,
37+ GCancellable *cancellable,
38+ GError **error)
39+{
40+ glnx_fd_close int loader_dfd = -1;
41+ glnx_fd_close int boot_dfd = -1;
42+ g_autofree char *loader_dir = NULL;
43+ g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
44+
45+ loader_dir = g_strdup_printf ("boot/loader.%d/", bootversion);
46+ if (!glnx_opendirat (self->sysroot->sysroot_fd, loader_dir, FALSE, &loader_dfd, error))
47+ return FALSE;
48+ if (!glnx_opendirat (self->sysroot->sysroot_fd, "boot", FALSE, &boot_dfd, error))
49+ return FALSE;
50+ if (!glnx_dirfd_iterator_init_take_fd (dup (boot_dfd), &dfd_iter, error))
51+ return FALSE;
52+
53+ while (TRUE) {
54+ struct dirent *dent;
55+ struct stat stbuf;
56+
57+ if (!glnx_dirfd_iterator_next_dent (&dfd_iter, &dent, cancellable, error))
58+ return FALSE;
59+ if (dent == NULL)
60+ break;
61+
62+ if (fstatat (dfd_iter.fd, dent->d_name, &stbuf, AT_SYMLINK_NOFOLLOW) != 0)
63+ {
64+ if (errno == ENOENT)
65+ continue;
66+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "fstatat");
67+ return FALSE;
68+ }
69+
70+ if (S_ISLNK(stbuf.st_mode))
71+ {
72+ char path_buffer[PATH_MAX];
73+ g_autofree char *symlink_target = NULL;
74+ symlink_target = glnx_readlinkat_malloc (boot_dfd, dent->d_name, cancellable, error);
75+
76+ if (g_str_has_prefix (symlink_target, "loader/"))
77+ {
78+ if (g_strcmp0 (dent->d_name, "uEnv.txt") == 0)
79+ continue;
80+
81+ snprintf (path_buffer, sizeof(path_buffer), "%s/%s", bootcsum_dir, dent->d_name);
82+ if (faccessat (boot_dfd, path_buffer + 1, F_OK, AT_SYMLINK_NOFOLLOW) == -1)
83+ {
84+ /* This bootcsum dir does not contain the final target, do nothing. */
85+ if (errno == ENOENT)
86+ continue;
87+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "faccessat");
88+ return FALSE;
89+ }
90+
91+ /* Cleanup from stray symlinks. This can happend when the previous deployment was
92+ interrupted and no cleanup routines were run before restaring the deployment. */
93+ if (unlinkat (loader_dfd, dent->d_name, 0) == -1 && errno != ENOENT)
94+ {
95+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "unlinkat");
96+ return FALSE;
97+ }
98+ /* Complete the link chain to the current boot file version. */
99+ snprintf (path_buffer, sizeof(path_buffer), "..%s/%s", bootcsum_dir, dent->d_name);
100+ if (symlinkat (path_buffer, loader_dfd, dent->d_name) == -1)
101+ {
102+ g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "symlinkat");
103+ return FALSE;
104+ }
105+ }
106+ }
107+ }
108+
109+ return TRUE;
110+}
111+
112 static gboolean
113 create_config_from_boot_loader_entries (OstreeBootloaderUboot *self,
114 int bootversion,
115@@ -138,7 +229,7 @@ create_config_from_boot_loader_entries (OstreeBootloaderUboot *self,
116 }
117 }
118
119- return TRUE;
120+ return create_firmware_convenience_symlinks (self, bootdir, bootversion, cancellable, error);
121 }
122
123 static gboolean
124--
1252.7.4
126
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/Mount-boot-partition.patch b/meta-boot2qt/recipes-core/ostree/ostree/Mount-boot-partition.patch
new file mode 100644
index 0000000..a81f731
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/Mount-boot-partition.patch
@@ -0,0 +1,60 @@
1From 33642082578946fdc73ade8b78c05ba8d8521652 Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@theqtcompany.com>
3Date: Mon, 7 Mar 2016 15:17:34 +0100
4Subject: [PATCH] ostree: Mount boot partition from user space
5
6In the current approach we assumed that boot/
7
8- is on a separate boot partition
9- boot partition is right before rootfs partition
10- rootfs parition is provided as a *device node*
11- has "ext2" filesystem (mount shell cmd tries to
12 auto detect FS type, mount system call does not.)
13
14The new approch does not assume any of the above, and
15moves this logic from early user space (initramfs) to
16user space. Initramfs by design should be used only to
17prepare the rootfs, other tasks should be done later.
18---
19 src/switchroot/ostree-remount.c | 19 ++++++++++++++++++-
20 1 file changed, 18 insertions(+), 1 deletion(-)
21
22diff --git a/src/switchroot/ostree-remount.c b/src/switchroot/ostree-remount.c
23index b8d3a96..33f2645 100644
24--- a/src/switchroot/ostree-remount.c
25+++ b/src/switchroot/ostree-remount.c
26@@ -77,7 +77,7 @@ maybe_mount_tmpfs_on_var (void)
27 int
28 main(int argc, char *argv[])
29 {
30- const char *remounts[] = { "/sysroot", "/etc", "/home", "/root", "/tmp", "/var", NULL };
31+ const char *remounts[] = { "/sysroot", "/etc", "/home", "/root", "/tmp", "/var", "/boot", NULL };
32 struct stat stbuf;
33 int i;
34
35@@ -117,5 +117,22 @@ main(int argc, char *argv[])
36
37 maybe_mount_tmpfs_on_var ();
38
39+ /* ostree-prepare-root mounts boot/ if it is on the same partition as root filesystem.
40+ * If boot/ is not mounted, then it must be on a different partition. Try to mount
41+ * filesystem where LABEL=boot-ostree.
42+ */
43+ if (!(lstat ("/boot/loader", &stbuf) == 0 && S_ISLNK (stbuf.st_mode)))
44+ {
45+ /* mount the real boot parition over the deployment's boot directory */
46+ const char *mount_cmd="mount LABEL=boot-ostree /boot";
47+ FILE *fp = popen (mount_cmd, "w");
48+ if (fp == NULL)
49+ {
50+ perrorv ("popen failed for: %s", mount_cmd);
51+ exit (EXIT_FAILURE);
52+ }
53+ pclose (fp);
54+ }
55+
56 exit (EXIT_SUCCESS);
57 }
58--
592.7.0
60
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/Print-pull-progress-also-when-not-on-console.patch b/meta-boot2qt/recipes-core/ostree/ostree/Print-pull-progress-also-when-not-on-console.patch
new file mode 100644
index 0000000..f8e7324
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/Print-pull-progress-also-when-not-on-console.patch
@@ -0,0 +1,94 @@
1From b24d691d968bca608142882b453e98ed5ee267e9 Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Thu, 29 Sep 2016 11:46:59 +0200
4Subject: [PATCH] Print pull progress also when not on console
5
6glnx_console_text is smart enough:
7
8"On a tty, print to the console @text followed by an ASCII art
9 progress bar whose percentage is @percentage. If stdout is not a
10 tty, a more basic line by line change will be printed."
11
12Otherwise, when pulling a lot of data, we do not get any feedback
13in a GUI application for a significant amount of time.
14---
15 src/ostree/ot-admin-builtin-switch.c | 3 +--
16 src/ostree/ot-admin-builtin-upgrade.c | 3 +--
17 src/ostree/ot-builtin-pull-local.c | 3 +--
18 src/ostree/ot-builtin-pull.c | 12 ++++--------
19 4 files changed, 7 insertions(+), 14 deletions(-)
20
21diff --git a/src/ostree/ot-admin-builtin-switch.c b/src/ostree/ot-admin-builtin-switch.c
22index 895538a..7f1d6dd 100644
23--- a/src/ostree/ot-admin-builtin-switch.c
24+++ b/src/ostree/ot-admin-builtin-switch.c
25@@ -126,8 +126,7 @@ ot_admin_builtin_switch (int argc, char **argv, GCancellable *cancellable, GErro
26 { g_auto(GLnxConsoleRef) console = { 0, };
27 glnx_console_lock (&console);
28
29- if (console.is_tty)
30- progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
31+ progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
32
33 /* Always allow older...there's not going to be a chronological
34 * relationship necessarily.
35diff --git a/src/ostree/ot-admin-builtin-upgrade.c b/src/ostree/ot-admin-builtin-upgrade.c
36index 81f9bb6..8147b4f 100644
37--- a/src/ostree/ot-admin-builtin-upgrade.c
38+++ b/src/ostree/ot-admin-builtin-upgrade.c
39@@ -109,8 +109,7 @@ ot_admin_builtin_upgrade (int argc, char **argv, GCancellable *cancellable, GErr
40 { g_auto(GLnxConsoleRef) console = { 0, };
41 glnx_console_lock (&console);
42
43- if (console.is_tty)
44- progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
45+ progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
46
47 if (opt_allow_downgrade)
48 upgraderpullflags |= OSTREE_SYSROOT_UPGRADER_PULL_FLAGS_ALLOW_OLDER;
49diff --git a/src/ostree/ot-builtin-pull-local.c b/src/ostree/ot-builtin-pull-local.c
50index 5401a28..f2f5b21 100644
51--- a/src/ostree/ot-builtin-pull-local.c
52+++ b/src/ostree/ot-builtin-pull-local.c
53@@ -159,8 +159,7 @@ ostree_builtin_pull_local (int argc, char **argv, GCancellable *cancellable, GEr
54 g_variant_builder_add (&builder, "{s@v}", "depth",
55 g_variant_new_variant (g_variant_new_int32 (opt_depth)));
56
57- if (console.is_tty)
58- progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
59+ progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
60
61 opts = g_variant_ref_sink (g_variant_builder_end (&builder));
62 if (!ostree_repo_pull_with_options (repo, src_repo_uri,
63diff --git a/src/ostree/ot-builtin-pull.c b/src/ostree/ot-builtin-pull.c
64index 99b2593..78686b3 100644
65--- a/src/ostree/ot-builtin-pull.c
66+++ b/src/ostree/ot-builtin-pull.c
67@@ -242,20 +242,16 @@ ostree_builtin_pull (int argc, char **argv, GCancellable *cancellable, GError **
68
69 if (!opt_dry_run)
70 {
71- if (console.is_tty)
72- progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
73+ progress = ostree_async_progress_new_and_connect (ostree_repo_pull_default_console_progress_changed, &console);
74 }
75 else
76 {
77 progress = ostree_async_progress_new_and_connect (dry_run_console_progress_changed, NULL);
78 }
79
80- if (console.is_tty)
81- {
82- signal_handler_id = g_signal_connect (repo, "gpg-verify-result",
83- G_CALLBACK (gpg_verify_result_cb),
84- &console);
85- }
86+ signal_handler_id = g_signal_connect (repo, "gpg-verify-result",
87+ G_CALLBACK (gpg_verify_result_cb),
88+ &console);
89
90 if (!ostree_repo_pull_with_options (repo, remote, g_variant_builder_end (&builder),
91 progress, cancellable, error))
92--
932.7.4
94
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/Support-for-booting-without-initramfs.patch b/meta-boot2qt/recipes-core/ostree/ostree/Support-for-booting-without-initramfs.patch
new file mode 100644
index 0000000..4ec137f
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/Support-for-booting-without-initramfs.patch
@@ -0,0 +1,131 @@
1From a31c9083870fd934e242cc9cc56fdd39ad0a42cb Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Wed, 24 Aug 2016 12:00:14 +0200
4Subject: [PATCH 3/4] Support for booting without initramfs
5
6Previously when initramfs-* was not found in a deployment's
7boot directory, it was assumed that rootfs is prepared for
8ostree booting by a kernel patch.
9
10With this patch, the behaviour changes to be - if initramfs-*
11is not found, assume that system is using a static
12ostree-prepare-root as init process. Booting without initramfs
13is a common use case on embedded systems. This approach is
14also more convenient, than having to patch the kernel.
15---
16 Makefile-switchroot.am | 3 +++
17 configure.ac | 8 ++++++++
18 src/boot/grub2/ostree-grub-generator | 8 +++++---
19 src/libostree/ostree-sysroot-deploy.c | 18 +++++++++++++-----
20 4 files changed, 29 insertions(+), 8 deletions(-)
21
22diff --git a/Makefile-switchroot.am b/Makefile-switchroot.am
23index ef837ce..70a6de7 100644
24--- a/Makefile-switchroot.am
25+++ b/Makefile-switchroot.am
26@@ -29,6 +29,9 @@ libswitchroot_mountutil_la_SOURCES = \
27 ostree_prepare_root_SOURCES = src/switchroot/ostree-prepare-root.c
28 ostree_prepare_root_LDADD = libswitchroot-mountutil.la
29 ostree_prepare_root_CFLAGS = $(AM_CFLAGS) -Isrc/switchroot
30+if BUILDOPT_STATIC_PREPARE_ROOT
31+ostree_prepare_root_LDFLAGS = --static
32+endif
33
34 ostree_remount_SOURCES = src/switchroot/ostree-remount.c
35 ostree_remount_LDADD = libswitchroot-mountutil.la
36diff --git a/configure.ac b/configure.ac
37index 4831bcc..97f3112 100644
38--- a/configure.ac
39+++ b/configure.ac
40@@ -294,6 +294,13 @@ AS_IF([test x$with_grub2_mkconfig_path = x], [
41 ],[GRUB2_MKCONFIG=$with_grub2_mkconfig_path])
42 AC_DEFINE_UNQUOTED([GRUB2_MKCONFIG_PATH], ["$GRUB2_MKCONFIG"], [The system grub2-mkconfig executible name])
43
44+AC_ARG_WITH(static-prepare-root,
45+ AS_HELP_STRING([--with-static-prepare-root],
46+ [Build static version of the 'ostree-prepare-root' binary. Useful when
47+ using 'ostree-prepare-root' as the init (PID 1) process. (default: no)]),,
48+ [with_static_prepare_root=no])
49+AM_CONDITIONAL(BUILDOPT_STATIC_PREPARE_ROOT, test x$with_static_prepare_root = xyes)
50+
51 dnl for tests
52 AS_IF([test "x$found_introspection" = xyes], [
53 AC_PATH_PROG(GJS, [gjs])
54@@ -327,6 +334,7 @@ echo "
55 libarchive (parse tar files directly): $with_libarchive
56 static deltas: yes (always enabled now)
57 O_TMPFILE: $enable_otmpfile
58+ static ostree-prepare-root $with_static_prepare_root
59 man pages (xsltproc): $enable_man
60 api docs (gtk-doc): $enable_gtk_doc
61 gjs-based tests: $have_gjs
62diff --git a/src/boot/grub2/ostree-grub-generator b/src/boot/grub2/ostree-grub-generator
63index 5673b26..ceca806 100644
64--- a/src/boot/grub2/ostree-grub-generator
65+++ b/src/boot/grub2/ostree-grub-generator
66@@ -28,7 +28,7 @@ entries_path=$(dirname $new_grub2_cfg)/entries
67
68 read_config()
69 {
70- config_file=${entries_path}/${1}
71+ config_file=${1}
72 title=""
73 initrd=""
74 options=""
75@@ -62,11 +62,13 @@ read_config()
76 populate_menu()
77 {
78 boot_prefix="${OSTREE_BOOT_PARTITION}"
79- for config in $(ls ${entries_path}); do
80+ for config in $(ls $entries_path/*.conf); do
81 read_config ${config}
82 menu="${menu}menuentry '${title}' {\n"
83 menu="${menu}\t linux ${boot_prefix}${linux} ${options}\n"
84- menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
85+ if [ -n "${initrd}" ] ; then
86+ menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
87+ fi
88 menu="${menu}}\n\n"
89 done
90 # The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
91diff --git a/src/libostree/ostree-sysroot-deploy.c b/src/libostree/ostree-sysroot-deploy.c
92index a05ca30..c0a0347 100644
93--- a/src/libostree/ostree-sysroot-deploy.c
94+++ b/src/libostree/ostree-sysroot-deploy.c
95@@ -1458,20 +1458,28 @@ install_deployment_kernel (OstreeSysroot *sysroot,
96 ostree_bootconfig_parser_set (bootconfig, "linux", boot_relpath);
97 }
98
99+ val = ostree_bootconfig_parser_get (bootconfig, "options");
100+ kargs = _ostree_kernel_args_from_string (val);
101+
102 if (dest_initramfs_name)
103 {
104 g_autofree char * boot_relpath = g_strconcat ("/", bootcsumdir, "/", dest_initramfs_name, NULL);
105 ostree_bootconfig_parser_set (bootconfig, "initrd", boot_relpath);
106 }
107-
108- val = ostree_bootconfig_parser_get (bootconfig, "options");
109+ else
110+ {
111+ g_autofree char *prepare_root_arg = NULL;
112+ prepare_root_arg = g_strdup_printf ("init=/ostree/boot.%d/%s/%s/%d/usr/lib/ostree/ostree-prepare-root",
113+ new_bootversion, osname, bootcsum,
114+ ostree_deployment_get_bootserial (deployment));
115+ _ostree_kernel_args_replace_take (kargs, g_steal_pointer (&prepare_root_arg));
116+ }
117
118 ostree_kernel_arg = g_strdup_printf ("ostree=/ostree/boot.%d/%s/%s/%d",
119 new_bootversion, osname, bootcsum,
120 ostree_deployment_get_bootserial (deployment));
121- kargs = _ostree_kernel_args_from_string (val);
122- _ostree_kernel_args_replace_take (kargs, ostree_kernel_arg);
123- ostree_kernel_arg = NULL;
124+ _ostree_kernel_args_replace_take (kargs, g_steal_pointer (&ostree_kernel_arg));
125+
126 options_key = _ostree_kernel_args_to_string (kargs);
127 ostree_bootconfig_parser_set (bootconfig, "options", options_key);
128
129--
1302.7.4
131
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/Workaround-the-SIGCHLD-handler-issue.patch b/meta-boot2qt/recipes-core/ostree/ostree/Workaround-the-SIGCHLD-handler-issue.patch
new file mode 100644
index 0000000..ece69b8
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/Workaround-the-SIGCHLD-handler-issue.patch
@@ -0,0 +1,54 @@
1From c7cf5cb80c57423e707d87013050c6f9cc6f6d37 Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Tue, 18 Oct 2016 12:19:57 +0200
4Subject: [PATCH] Workaround the SIGCHLD handler issue
5
6REF: https://bugreports.qt.io/browse/QTBUG-56338
7---
8 src/libostree/ostree-bootloader-grub2.c | 30 ++++++++++++++++++++++--------
9 1 file changed, 22 insertions(+), 8 deletions(-)
10
11diff --git a/src/libostree/ostree-bootloader-grub2.c b/src/libostree/ostree-bootloader-grub2.c
12index f3dc8e1..2c60b80 100644
13--- a/src/libostree/ostree-bootloader-grub2.c
14+++ b/src/libostree/ostree-bootloader-grub2.c
15@@ -380,14 +380,28 @@ _ostree_bootloader_grub2_write_config (OstreeBootloader *bootloader,
16
17 Upstream is fixed though.
18 */
19- proc = g_subprocess_launcher_spawn (launcher, error,
20- grub_exec, "-o",
21- gs_file_get_path_cached (new_config_path),
22- NULL);
23-
24- if (!g_subprocess_wait_check (proc, cancellable, error))
25- goto out;
26-
27+ //proc = g_subprocess_launcher_spawn (launcher, error,
28+ // grub_exec, "-o",
29+ // gs_file_get_path_cached (new_config_path),
30+ // NULL);
31+
32+ //if (!g_subprocess_wait_check (proc, cancellable, error))
33+ // goto out;
34+ {
35+ // REF: https://bugreports.qt.io/browse/QTBUG-56338
36+ // We do not use the chroot (grub2_child_setup) code path, so we do not
37+ // care about GSubprocessLauncher and the custom envvars passed to it.
38+ const char *cmd = glnx_strjoina (grub_exec, " -o ", gs_file_get_path_cached (new_config_path));
39+ FILE *fp = popen(cmd, "r");
40+ if (!fp) {
41+ glnx_set_prefix_error_from_errno (error, "popen (%s)", cmd);
42+ goto out;
43+ }
44+ if (pclose(fp) == -1) {
45+ glnx_set_prefix_error_from_errno (error, "pclose (%s)", cmd);
46+ goto out;
47+ }
48+ }
49 /* Now let's fdatasync() for the new file */
50 { glnx_fd_close int new_config_fd = open (gs_file_get_path_cached (new_config_path), O_RDONLY | O_CLOEXEC);
51 if (new_config_fd < 0)
52--
532.7.4
54
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/deploy-add-karg-none-argument.patch b/meta-boot2qt/recipes-core/ostree/ostree/deploy-add-karg-none-argument.patch
new file mode 100644
index 0000000..5eaf68f
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/deploy-add-karg-none-argument.patch
@@ -0,0 +1,62 @@
1From 9ca3a2cc64bc709649d0d756fa715aaef807dca8 Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Fri, 12 Aug 2016 11:51:04 +0200
4Subject: [PATCH 2/4] deploy: add --karg-none argument
5
6If the current deployment has "rootwait root=/dev/sda2",
7but the new deployment does not need "rootwait" anymore,
8there is no way to clear this arg at the moment (as opposed
9to "karg=root=", which overrides any earlier argument with
10the same name). With "--karg-none" users can now clear all
11the previous args and set new "root=":
12
13ostree admin deploy --karg-none --karg=root=LABEL=rootfs
14---
15 src/ostree/ot-admin-builtin-deploy.c | 10 +++++++++-
16 1 file changed, 9 insertions(+), 1 deletion(-)
17
18diff --git a/src/ostree/ot-admin-builtin-deploy.c b/src/ostree/ot-admin-builtin-deploy.c
19index c66c9b3..420efa3 100644
20--- a/src/ostree/ot-admin-builtin-deploy.c
21+++ b/src/ostree/ot-admin-builtin-deploy.c
22@@ -38,6 +38,7 @@ static char **opt_kernel_argv_append;
23 static gboolean opt_kernel_proc_cmdline;
24 static char *opt_osname;
25 static char *opt_origin_path;
26+static gboolean opt_kernel_arg_none;
27
28 static GOptionEntry options[] = {
29 { "os", 0, 0, G_OPTION_ARG_STRING, &opt_osname, "Use a different operating system root than the current one", "OSNAME" },
30@@ -46,6 +47,7 @@ static GOptionEntry options[] = {
31 { "karg-proc-cmdline", 0, 0, G_OPTION_ARG_NONE, &opt_kernel_proc_cmdline, "Import current /proc/cmdline", NULL },
32 { "karg", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_kernel_argv, "Set kernel argument, like root=/dev/sda1; this overrides any earlier argument with the same name", "NAME=VALUE" },
33 { "karg-append", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_kernel_argv_append, "Append kernel argument; useful with e.g. console= that can be used multiple times", "NAME=VALUE" },
34+ { "karg-none", 0, 0, G_OPTION_ARG_NONE, &opt_kernel_arg_none, "Do not import kernel arguments", NULL },
35 { NULL }
36 };
37
38@@ -77,6 +79,12 @@ ot_admin_builtin_deploy (int argc, char **argv, GCancellable *cancellable, GErro
39 goto out;
40 }
41
42+ if (opt_kernel_proc_cmdline && opt_kernel_arg_none)
43+ {
44+ ot_util_usage_error (context, "Can't specify both --karg-proc-cmdline and --karg-none", error);
45+ goto out;
46+ }
47+
48 refspec = argv[1];
49
50 if (!ostree_sysroot_load (sysroot, cancellable, error))
51@@ -135,7 +143,7 @@ ot_admin_builtin_deploy (int argc, char **argv, GCancellable *cancellable, GErro
52 if (!_ostree_kernel_args_append_proc_cmdline (kargs, cancellable, error))
53 goto out;
54 }
55- else if (merge_deployment)
56+ else if (merge_deployment && !opt_kernel_arg_none)
57 {
58 OstreeBootconfigParser *bootconfig = ostree_deployment_get_bootconfig (merge_deployment);
59 g_auto(GStrv) previous_args = g_strsplit (ostree_bootconfig_parser_get (bootconfig, "options"), " ", -1);
60--
612.7.4
62
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/ostree-prepare-root-enabler-for-simpler-kernel-arg.patch b/meta-boot2qt/recipes-core/ostree/ostree/ostree-prepare-root-enabler-for-simpler-kernel-arg.patch
new file mode 100644
index 0000000..2800618
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/ostree-prepare-root-enabler-for-simpler-kernel-arg.patch
@@ -0,0 +1,54 @@
1From d183819e6e7bdc7a9476542cbef384285f592f3f Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Fri, 12 Aug 2016 08:50:29 +0200
4Subject: [PATCH 1/4] ostree-prepare-root: enabler for simpler kernel arg
5
6With the current approach, when ostree-prepare-root is used
7on the kernel command line as init=, it always assumes that
8the next value in the argument list is a path to the sysroot.
9The code for falling back to a default path (if none is provided),
10would only work if init= is the last arg in the argument list.
11We can not rely on that and have to explicitly provide the
12path to the sysroot. Which defeats the purpose of a default
13path selection code.
14
15To keep command line neater assume that sysroot is on / when
16using ostree-prepare-root as init. This probably is what most
17people want anyways. Also _ostree_kernel_args* API assumes
18that args are space separated list. Which is problematic for:
19"init=${ostree}/usr/lib/ostree/ostree-prepare-root /" as it
20gets split in two.
21---
22 src/switchroot/ostree-prepare-root.c | 15 ++++++++++++---
23 1 file changed, 12 insertions(+), 3 deletions(-)
24
25diff --git a/src/switchroot/ostree-prepare-root.c b/src/switchroot/ostree-prepare-root.c
26index 895b2e5..449fc33 100644
27--- a/src/switchroot/ostree-prepare-root.c
28+++ b/src/switchroot/ostree-prepare-root.c
29@@ -199,10 +199,19 @@ main(int argc, char *argv[])
30 char srcpath[PATH_MAX];
31 struct stat stbuf;
32
33- if (argc < 2)
34- root_mountpoint = "/";
35+ if (getpid() == 1)
36+ {
37+ root_mountpoint = "/";
38+ }
39 else
40- root_mountpoint = argv[1];
41+ {
42+ if (argc < 2)
43+ {
44+ fprintf (stderr, "usage: ostree-prepare-root SYSROOT\n");
45+ exit (EXIT_FAILURE);
46+ }
47+ root_mountpoint = argv[1];
48+ }
49
50 root_mountpoint = realpath (root_mountpoint, NULL);
51 deploy_path = resolve_deploy_path (root_mountpoint);
52--
532.7.4
54
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/u-boot-add-bootdir-to-the-generated-uEnv.txt.patch b/meta-boot2qt/recipes-core/ostree/ostree/u-boot-add-bootdir-to-the-generated-uEnv.txt.patch
new file mode 100644
index 0000000..e8c8f16
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/u-boot-add-bootdir-to-the-generated-uEnv.txt.patch
@@ -0,0 +1,52 @@
1From 8323c038733522f7f31fefc8921b7c1760416638 Mon Sep 17 00:00:00 2001
2From: Gatis Paeglis <gatis.paeglis@qt.io>
3Date: Mon, 22 Aug 2016 15:52:21 +0200
4Subject: [PATCH 3/3] u-boot: add 'bootdir' to the generated uEnv.txt
5
6When doing a full copy of:
7
8$deployment/usr/lib/ostree-boot -> /boot/ostree/$os-$bootcsum/
9
10U-Boot bootscript can use the 'bootdir' to find, for example,
11the Device Tree (dtb) file, as in:
12
13load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname}
14
15Or u-boot external bootscript:
16
17load ${dtype} ${disk}:${bootpart} ${a_scr} ${bootdir}${scriptname}
18
19It could also be possible to point 'bootdir' directly to the
20$deployment/usr/lib/ostree-boot, but this would add unnecessary
21restrictions on what file system can be used for rootfs as u-boot,
22for example, can not read from BTRFS. So having
23bootdir=/boot/ostree/$os-$bootcsum/ is a better approach here, as
24/boot can be on a separate partition with its own file system type.
25---
26 src/libostree/ostree-bootloader-uboot.c | 3 +++
27 1 file changed, 3 insertions(+)
28
29diff --git a/src/libostree/ostree-bootloader-uboot.c b/src/libostree/ostree-bootloader-uboot.c
30index f95ea84..0786626 100644
31--- a/src/libostree/ostree-bootloader-uboot.c
32+++ b/src/libostree/ostree-bootloader-uboot.c
33@@ -72,6 +72,7 @@ create_config_from_boot_loader_entries (OstreeBootloaderUboot *self,
34 g_autoptr(GPtrArray) boot_loader_configs = NULL;
35 OstreeBootconfigParser *config;
36 const char *val;
37+ g_autofree char *bootdir = NULL;
38
39 if (!_ostree_sysroot_read_boot_loader_configs (self->sysroot, bootversion, &boot_loader_configs,
40 cancellable, error))
41@@ -88,6 +89,8 @@ create_config_from_boot_loader_entries (OstreeBootloaderUboot *self,
42 return FALSE;
43 }
44 g_ptr_array_add (new_lines, g_strdup_printf ("kernel_image=%s", val));
45+ bootdir = strndup (val, strrchr(val, '/') - val);
46+ g_ptr_array_add (new_lines, g_strdup_printf ("bootdir=%s/", bootdir));
47
48 val = ostree_bootconfig_parser_get (config, "initrd");
49 if (val)
50--
512.7.4
52
diff --git a/meta-boot2qt/recipes-core/ostree/ostree/workaround-gtkdocize-configure-issue-in-autog.patch b/meta-boot2qt/recipes-core/ostree/ostree/workaround-gtkdocize-configure-issue-in-autog.patch
new file mode 100644
index 0000000..5f19007
--- /dev/null
+++ b/meta-boot2qt/recipes-core/ostree/ostree/workaround-gtkdocize-configure-issue-in-autog.patch
@@ -0,0 +1,26 @@
1From 0b6711e10d36060d80962472c892c60e8a403422 Mon Sep 17 00:00:00 2001
2From: Mikko Gronoff <mikko.gronoff@qt.io>
3Date: Thu, 2 Feb 2017 13:38:54 +0200
4Subject: [PATCH] ostree: workaround gtkdocize configure issue in autogen.sh
5
6Building meta-boot2qt morty branch content with poky 2.2.1 causes
7build break in ostree autogen.sh. Called gtkdocize script uses wrong
8docdir thus causing error trying to remove gtk-doc.make in wrong
9location
10---
11 autogen.sh | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/autogen.sh b/autogen.sh
15index 0f32089..f473fdc 100755
16--- a/autogen.sh
17+++ b/autogen.sh
18@@ -25,7 +25,7 @@ EXTRA_DIST =
19 CLEANFILES =
20 EOF
21 else
22- gtkdocize
23+ gtkdocize --docdir $srcdir --srcdir $srcdir
24 fi
25
26 cd $olddir
diff --git a/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python.inc b/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python.inc
new file mode 100644
index 0000000..3d8c083
--- /dev/null
+++ b/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python.inc
@@ -0,0 +1,53 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30LICENSE = "PSFv2"
31
32LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4b8a9367e6bb2acb6f26dc08654f6ee5"
33
34do_unpack[depends] += "p7zip-native:do_populate_sysroot"
35
36inherit bin_package nativesdk python3-dir
37
38PV = "3.5.2"
39
40S = "${WORKDIR}"
41
42do_install() {
43 install -d ${D}${includedir}/${PYTHON_DIR}
44 install -m 0644 ${S}/include/* ${D}${includedir}/${PYTHON_DIR}
45
46 install -d ${D}${libdir}
47 install -m 0644 ${S}/libs/*.a ${D}${libdir}
48
49 install -d ${D}${bindir}
50 install -m 0644 ${S}/python.exe ${D}${bindir}
51 install -m 0644 ${S}/python35.dll ${D}${bindir}
52 install -m 0644 ${S}/python35.zip ${D}${bindir}
53}
diff --git a/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_i686.bb b/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_i686.bb
new file mode 100644
index 0000000..2ff4f76
--- /dev/null
+++ b/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_i686.bb
@@ -0,0 +1,42 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30require nativesdk-prebuild-python.inc
31
32COMPATIBLE_HOST = "i686.*-mingw.*"
33
34SRC_URI = "\
35 https://download.qt.io/development_releases/prebuilt/python/Python35-win-x86.7z \
36 https://www.python.org/ftp/python/${PV}/python-${PV}-embed-win32.zip;name=bin \
37 "
38
39SRC_URI[md5sum] = "3da266445a4e6a93ff1949810141da8f"
40SRC_URI[sha256sum] = "b60c49227c6e920904d784681c16ee3591a18824c3abb89613813f93fde1c1f2"
41SRC_URI[bin.md5sum] = "ad637a1db7cf91e344318d55c94ad3ca"
42SRC_URI[bin.sha256sum] = "75f05800fbe4a8cd6672b268ca53244838684561e03c60c668a7dccb050eb954"
diff --git a/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_x86_64.bb b/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_x86_64.bb
new file mode 100644
index 0000000..8e69fbd
--- /dev/null
+++ b/meta-boot2qt/recipes-devtools/python/nativesdk-prebuild-python_x86_64.bb
@@ -0,0 +1,42 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30require nativesdk-prebuild-python.inc
31
32COMPATIBLE_HOST = "x86_64.*-mingw.*"
33
34SRC_URI = "\
35 https://download.qt.io/development_releases/prebuilt/python/Python35-win-x64.7z \
36 https://www.python.org/ftp/python/${PV}/python-${PV}-embed-amd64.zip;name=bin \
37 "
38
39SRC_URI[md5sum] = "08766b13bcbdcf8217a98bfc291d549f"
40SRC_URI[sha256sum] = "43e38c8a05dcbc2effd1915dbe2dc2be6e701ebf3eb00d6e45197ee773978124"
41SRC_URI[bin.md5sum] = "f1c24bb78bd6dd792a73d5ebfbd3b20e"
42SRC_URI[bin.sha256sum] = "faefbd98f61c0d87c5683eeb526ae4d4a9ddc369bef27870cfe1c8939329d066"
diff --git a/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.service b/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.service
new file mode 100644
index 0000000..7c7211f
--- /dev/null
+++ b/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.service
@@ -0,0 +1,12 @@
1[Unit]
2Description=QtSimulator Shared Mount Point
3After=systemd-user-sessions.service
4
5[Service]
6Type=oneshot
7RemainAfterExit=yes
8ExecStart=/usr/bin/mount-vboxsf.sh start
9ExecStop=/usr/bin/mount-vboxsf.sh stop
10
11[Install]
12WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.sh b/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.sh
new file mode 100755
index 0000000..80476de
--- /dev/null
+++ b/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf/mount-vboxsf.sh
@@ -0,0 +1,17 @@
1#!/bin/sh
2
3MOUNTPOINT=/var/vqvideo
4
5case "$1" in
6start)
7 mkdir -p /var/vqvideo
8 /usr/bin/mount.vboxsf vqvideo $MOUNTPOINT
9 ;;
10stop)
11 umount $MOUNTPOINT
12 ;;
13*)
14 echo "Usage: $0 {start|stop}"
15 exit 1
16esac
17exit 0
diff --git a/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf_4.3.30.bb b/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf_4.3.30.bb
new file mode 100644
index 0000000..1eb2652
--- /dev/null
+++ b/meta-boot2qt/recipes-devtools/virtualbox/mount-vboxsf_4.3.30.bb
@@ -0,0 +1,65 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "VirtualBox Guest Additions for Linux: mount"
31LICENSE = "GPLv2"
32LIC_FILES_CHKSUM = "file://${WORKDIR}/VirtualBox-${PV}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
33
34SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/VirtualBox-${PV}.tar.bz2 \
35 file://mount-vboxsf.sh \
36 file://mount-vboxsf.service \
37 "
38
39SRC_URI[md5sum] = "cc053340f88922a11ad9d4fab56557bd"
40SRC_URI[sha256sum] = "ea9569ec16cd6202ee61bcadb2506d31ac12fd343adb91565773a05eaaea9a36"
41
42S = "${WORKDIR}/VirtualBox-${PV}/src/VBox/Additions/linux/sharedfolders"
43
44do_compile() {
45 ${CC} ${LDFLAGS} mount.vboxsf.c vbsfmount.c -o mount.vboxsf
46}
47
48do_install() {
49 install -m 0755 -d ${D}${bindir}/
50 install -m 0755 mount.vboxsf ${D}${bindir}/
51 install -m 0755 ${WORKDIR}/mount-vboxsf.sh ${D}${bindir}/
52
53 install -m 0755 -d ${D}${sysconfdir}/init.d
54 ln -s ${bindir}/mount-vboxsf.sh ${D}${sysconfdir}/init.d/
55
56 install -m 0755 -d ${D}${systemd_unitdir}/system
57 install -m 0644 ${WORKDIR}/mount-vboxsf.service ${D}${systemd_unitdir}/system/
58}
59
60INITSCRIPT_NAME = "mount-vboxsf.sh"
61INITSCRIPT_PARAMS = "defaults 33"
62
63SYSTEMD_SERVICE_${PN} = "mount-vboxsf.service"
64
65inherit update-rc.d systemd
diff --git a/meta-boot2qt/recipes-devtools/virtualbox/virtualbox-guest-additions_5.1.16.bb b/meta-boot2qt/recipes-devtools/virtualbox/virtualbox-guest-additions_5.1.16.bb
new file mode 100644
index 0000000..752d8cb
--- /dev/null
+++ b/meta-boot2qt/recipes-devtools/virtualbox/virtualbox-guest-additions_5.1.16.bb
@@ -0,0 +1,62 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Kernel drivers for the VirtualBox guest additions"
31LICENSE = "GPLv2"
32LIC_FILES_CHKSUM = "file://${WORKDIR}/VirtualBox-${PV}/COPYING;md5=e197d5641bb35b29d46ca8c4bf7f2660"
33
34inherit module
35
36MACHINE_KERNEL_PR_append = "a"
37PR = "${MACHINE_KERNEL_PR}"
38
39SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/VirtualBox-${PV}.tar.bz2"
40
41SRC_URI[md5sum] = "37ebbd51370841eed8ab80f2f38446d6"
42SRC_URI[sha256sum] = "78071c3172f3bd3c7981c352c3ae6c6a9c01f6ab24bc0aa7ec79f3528b2291a7"
43
44S = "${WORKDIR}/vbox"
45
46export KERN_DIR="${STAGING_KERNEL_DIR}"
47export KBUILD_VERBOSE="1"
48export BUILD_TARGET_ARCH="${ARCH}"
49
50do_compile_prepend() {
51 ${WORKDIR}/VirtualBox-${PV}/src/VBox/Additions/linux/export_modules ${WORKDIR}/vbox.tar.gz
52 tar xf ${WORKDIR}/vbox.tar.gz -C ${WORKDIR}/vbox
53}
54
55do_install() {
56 install -m 0755 -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/vbox
57 install -m 0644 vboxsf.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/vbox
58 install -m 0644 vboxguest.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/vbox
59 install -m 0644 vboxvideo.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/vbox
60}
61
62PKG_${PN} = "kernel-module-vbox"
diff --git a/meta-boot2qt/recipes-graphics/fonts/otf-noto_git.bb b/meta-boot2qt/recipes-graphics/fonts/otf-noto_git.bb
new file mode 100644
index 0000000..093ee33
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/fonts/otf-noto_git.bb
@@ -0,0 +1,52 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30SUMMARY = "Noto Sans CJK"
31SECTION = "fonts"
32HOMEPAGE = "http://www.google.com/get/noto"
33LICENSE = "OFL-1.1"
34LIC_FILES_CHKSUM = "file://${S}/LICENSE;md5=55719faa0112708e946b820b24b14097"
35
36INHIBIT_DEFAULT_DEPS = "1"
37
38inherit allarch fontcache
39
40PV = "1.004"
41SRC_URI = "git://github.com/googlei18n/noto-cjk.git"
42SRCREV = "40d9f5b179a59a06b98373c76bdc3e2119e4e6b2"
43
44S = "${WORKDIR}/git"
45
46do_install() {
47 install -m 0755 -d ${D}${datadir}/fonts/otf/noto
48 install -m 0644 ${S}/NotoSansCJKsc-Regular.otf ${D}${datadir}/fonts/otf/noto
49}
50
51PACKAGES = "${PN}"
52FILES_${PN} += "${datadir}/fonts/otf/noto"
diff --git a/meta-boot2qt/recipes-graphics/fonts/ttf-devanagari_2.94.0.bb b/meta-boot2qt/recipes-graphics/fonts/ttf-devanagari_2.94.0.bb
new file mode 100644
index 0000000..ee0ea06
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/fonts/ttf-devanagari_2.94.0.bb
@@ -0,0 +1,53 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30SUMMARY = "Lohit Devanagari Fonts"
31SECTION = "fonts"
32HOMEPAGE = "https://fedorahosted.org/lohit/"
33LICENSE = "OFL-1.1"
34LIC_FILES_CHKSUM = "file://${WORKDIR}/lohit-devanagari-ttf-${PV}/OFL.txt;md5=7dfa0a236dc535ad2d2548e6170c4402"
35
36INHIBIT_DEFAULT_DEPS = "1"
37
38inherit allarch fontcache
39
40SRC_URI = "https://releases.pagure.org/lohit/lohit-devanagari-ttf-${PV}.tar.gz"
41
42SRC_URI[md5sum] = "57527ee536a18b443cf786d4b8fd5ec8"
43SRC_URI[sha256sum] = "a6618aeb1d25df46d3c22e528c38ea1d1147654e19904497a1e97f4684c55353"
44
45do_install() {
46 install -m 0755 -d ${D}${datadir}/fonts/truetype/lohit
47 install -m 0755 -d ${D}${sysconfdir}/fonts/conf.d/
48 install -m 0644 ${WORKDIR}/lohit-devanagari-ttf-${PV}/66-lohit-devanagari.conf ${D}${sysconfdir}/fonts/conf.d/
49 install -m 0644 ${WORKDIR}/lohit-devanagari-ttf-${PV}/Lohit-Devanagari.ttf ${D}${datadir}/fonts/truetype/lohit
50}
51
52PACKAGES = "${PN}"
53FILES_${PN} += "${datadir}/fonts/truetype/lohit"
diff --git a/meta-boot2qt/recipes-graphics/fonts/ttf-freefont_20120503.bb b/meta-boot2qt/recipes-graphics/fonts/ttf-freefont_20120503.bb
new file mode 100644
index 0000000..abf9562
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/fonts/ttf-freefont_20120503.bb
@@ -0,0 +1,49 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "GNU FreeFont is a free family of scalable outline fonts"
31HOMEPAGE = "http://savannah.gnu.org/projects/freefont"
32LICENSE = "GPLv3"
33LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
34
35require recipes-graphics/ttf-fonts/ttf.inc
36
37inherit allarch fontcache
38
39S = "${WORKDIR}/freefont-${PV}"
40
41SRC_URI = "http://ftp.gnu.org/gnu/freefont/freefont-ttf-${PV}.zip"
42
43SRC_URI[md5sum] = "879b76d2e3c8003d567b555743f39154"
44SRC_URI[sha256sum] = "7c85baf1bf82a1a1845d1322112bc6ca982221b484e3b3925022e25b5cae89af"
45
46PACKAGES = "${PN}-sans ${PN}-mono ${PN}-serif"
47FILES_${PN}-sans = "${datadir}/fonts/truetype/FreeSans*.ttf"
48FILES_${PN}-mono = "${datadir}/fonts/truetype/FreeMono*.ttf"
49FILES_${PN}-serif = "${datadir}/fonts/truetype/FreeSerif*.ttf"
diff --git a/meta-boot2qt/recipes-graphics/fonts/ttf-opensans.bb b/meta-boot2qt/recipes-graphics/fonts/ttf-opensans.bb
new file mode 100644
index 0000000..1d581ac
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/fonts/ttf-opensans.bb
@@ -0,0 +1,51 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30SUMMARY = "Open Sans Fonts"
31SECTION = "fonts"
32HOMEPAGE = "https://fonts.google.com"
33LICENSE = "Apache-2.0"
34LIC_FILES_CHKSUM = "file://apache/opensans/LICENSE.txt;md5=d273d63619c9aeaf15cdaf76422c4f87"
35
36INHIBIT_DEFAULT_DEPS = "1"
37
38inherit allarch fontcache
39
40SRC_URI = "git://github.com/google/fonts"
41SRCREV = "beaec0837bd21524b57ecb435158f9011fc03999"
42
43S = "${WORKDIR}/git"
44
45do_install() {
46 install -m 0755 -d ${D}${datadir}/fonts/truetype/opensans
47 install -m 0644 apache/opensans/*.ttf ${D}${datadir}/fonts/truetype/opensans
48}
49
50PACKAGES = "${PN}"
51FILES_${PN} += "${datadir}/fonts/truetype/opensans"
diff --git a/meta-boot2qt/recipes-graphics/hunspell/hunspell-dicts.bb b/meta-boot2qt/recipes-graphics/hunspell/hunspell-dicts.bb
new file mode 100644
index 0000000..92fd300
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/hunspell/hunspell-dicts.bb
@@ -0,0 +1,57 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Hunspell Dictionaries"
31
32LICENSE = "GPL-2.0 & (GPL-2.0|LGPL-2.1|MPL-1.1)"
33LIC_FILES_CHKSUM = " \
34 file://en/license.txt;md5=686e6cb566fd6382c9fcc7a557bf4544 \
35 file://ar/COPYING.txt;md5=ccafd10563b9ffba693011bf470062c6 \
36"
37
38SRC_URI = "git://github.com/libreoffice/dictionaries.git;branch=libreoffice-5-4-2"
39
40S = "${WORKDIR}/git"
41
42inherit bin_package
43
44# using branch libreoffice-5.4.2 for dictionaries
45SRCREV = "28016713cf482d2ac466d03e007ce91ddb8b76aa"
46
47FILES_${PN} = "${datadir}/hunspell"
48
49do_install() {
50 install -m 0755 -d ${D}${datadir}/hunspell
51
52 install -m 0755 ${S}/ar/ar.dic ${D}${datadir}/hunspell/ar_EG.dic
53 install -m 0755 ${S}/ar/ar.aff ${D}${datadir}/hunspell/ar_EG.aff
54
55 install -m 0755 ${S}/en/en_GB.dic ${D}${datadir}/hunspell
56 install -m 0755 ${S}/en/en_GB.aff ${D}${datadir}/hunspell
57}
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/egl.cpp b/meta-boot2qt/recipes-graphics/opengldummy/files/egl.cpp
new file mode 100644
index 0000000..7c28b41
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/egl.cpp
@@ -0,0 +1,178 @@
1// Automatically generated file, do not edit.
2
3#include <EGL/egl.h>
4
5extern "C" {
6
7EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint * attrib_list, EGLConfig* configs, EGLint config_size, EGLint* num_config)
8{
9 return 0;
10}
11
12EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
13{
14 return 0;
15}
16
17EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_context, const EGLint * attrib_list)
18{
19 return 0;
20}
21
22EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const EGLint * attrib_list)
23{
24 return 0;
25}
26
27EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config, EGLNativePixmapType pixmap, const EGLint * attrib_list)
28{
29 return 0;
30}
31
32EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config, EGLNativeWindowType win, const EGLint * attrib_list)
33{
34 return 0;
35}
36
37EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx)
38{
39 return 0;
40}
41
42EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
43{
44 return 0;
45}
46
47EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint* value)
48{
49 return 0;
50}
51
52EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig* configs, EGLint config_size, EGLint* num_config)
53{
54 return 0;
55}
56
57EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay()
58{
59 return 0;
60}
61
62EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw)
63{
64 return 0;
65}
66
67EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)
68{
69 return 0;
70}
71
72EGLAPI EGLint EGLAPIENTRY eglGetError()
73{
74 return 0;
75}
76
77EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char * procname)
78{
79 return 0;
80}
81
82EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint* major, EGLint* minor)
83{
84 return 0;
85}
86
87EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx)
88{
89 return 0;
90}
91
92EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint* value)
93{
94 return 0;
95}
96
97EGLAPI const char * EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
98{
99 return 0;
100}
101
102EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint* value)
103{
104 return 0;
105}
106
107EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
108{
109 return 0;
110}
111
112EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy)
113{
114 return 0;
115}
116
117EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL()
118{
119 return 0;
120}
121
122EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine)
123{
124 return 0;
125}
126
127EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
128{
129 return 0;
130}
131
132EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
133{
134 return 0;
135}
136
137EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint value)
138{
139 return 0;
140}
141
142EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval)
143{
144 return 0;
145}
146
147EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)
148{
149 return 0;
150}
151
152EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer(EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer, EGLConfig config, const EGLint * attrib_list)
153{
154 return 0;
155}
156
157EGLAPI EGLenum EGLAPIENTRY eglQueryAPI()
158{
159 return 0;
160}
161
162EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread()
163{
164 return 0;
165}
166
167EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient()
168{
169 return 0;
170}
171
172EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext()
173{
174 return 0;
175}
176
177} // extern "C"
178
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/gles2.cpp b/meta-boot2qt/recipes-graphics/opengldummy/files/gles2.cpp
new file mode 100644
index 0000000..3f632a3
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/gles2.cpp
@@ -0,0 +1,728 @@
1// Automatically generated file, do not edit.
2
3#include <GLES2/gl2.h>
4
5extern "C" {
6
7GL_APICALL void GL_APIENTRY glActiveTexture(GLenum texture)
8{
9
10}
11
12GL_APICALL void GL_APIENTRY glAttachShader(GLuint program, GLuint shader)
13{
14
15}
16
17GL_APICALL void GL_APIENTRY glBindAttribLocation(GLuint program, GLuint index, const GLchar * name)
18{
19
20}
21
22GL_APICALL void GL_APIENTRY glBindBuffer(GLenum target, GLuint buffer)
23{
24
25}
26
27GL_APICALL void GL_APIENTRY glBindFramebuffer(GLenum target, GLuint framebuffer)
28{
29
30}
31
32GL_APICALL void GL_APIENTRY glBindRenderbuffer(GLenum target, GLuint renderbuffer)
33{
34
35}
36
37GL_APICALL void GL_APIENTRY glBindTexture(GLenum target, GLuint texture)
38{
39
40}
41
42GL_APICALL void GL_APIENTRY glBlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
43{
44
45}
46
47GL_APICALL void GL_APIENTRY glBlendEquation(GLenum mode)
48{
49
50}
51
52GL_APICALL void GL_APIENTRY glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha)
53{
54
55}
56
57GL_APICALL void GL_APIENTRY glBlendFunc(GLenum sfactor, GLenum dfactor)
58{
59
60}
61
62GL_APICALL void GL_APIENTRY glBlendFuncSeparate(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
63{
64
65}
66
67GL_APICALL void GL_APIENTRY glBufferData(GLenum target, GLsizeiptr size, const void * data, GLenum usage)
68{
69
70}
71
72GL_APICALL void GL_APIENTRY glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void * data)
73{
74
75}
76
77GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus(GLenum target)
78{
79 return 0;
80}
81
82GL_APICALL void GL_APIENTRY glClear(GLbitfield mask)
83{
84
85}
86
87GL_APICALL void GL_APIENTRY glClearColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
88{
89
90}
91
92GL_APICALL void GL_APIENTRY glClearDepthf(GLfloat d)
93{
94
95}
96
97GL_APICALL void GL_APIENTRY glClearStencil(GLint s)
98{
99
100}
101
102GL_APICALL void GL_APIENTRY glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
103{
104
105}
106
107GL_APICALL void GL_APIENTRY glCompileShader(GLuint shader)
108{
109
110}
111
112GL_APICALL void GL_APIENTRY glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data)
113{
114
115}
116
117GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data)
118{
119
120}
121
122GL_APICALL void GL_APIENTRY glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
123{
124
125}
126
127GL_APICALL void GL_APIENTRY glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
128{
129
130}
131
132GL_APICALL GLuint GL_APIENTRY glCreateProgram()
133{
134 return 0;
135}
136
137GL_APICALL GLuint GL_APIENTRY glCreateShader(GLenum type)
138{
139 return 0;
140}
141
142GL_APICALL void GL_APIENTRY glCullFace(GLenum mode)
143{
144
145}
146
147GL_APICALL void GL_APIENTRY glDeleteBuffers(GLsizei n, const GLuint * buffers)
148{
149
150}
151
152GL_APICALL void GL_APIENTRY glDeleteFramebuffers(GLsizei n, const GLuint * framebuffers)
153{
154
155}
156
157GL_APICALL void GL_APIENTRY glDeleteProgram(GLuint program)
158{
159
160}
161
162GL_APICALL void GL_APIENTRY glDeleteRenderbuffers(GLsizei n, const GLuint * renderbuffers)
163{
164
165}
166
167GL_APICALL void GL_APIENTRY glDeleteShader(GLuint shader)
168{
169
170}
171
172GL_APICALL void GL_APIENTRY glDeleteTextures(GLsizei n, const GLuint * textures)
173{
174
175}
176
177GL_APICALL void GL_APIENTRY glDepthFunc(GLenum func)
178{
179
180}
181
182GL_APICALL void GL_APIENTRY glDepthMask(GLboolean flag)
183{
184
185}
186
187GL_APICALL void GL_APIENTRY glDepthRangef(GLfloat n, GLfloat f)
188{
189
190}
191
192GL_APICALL void GL_APIENTRY glDetachShader(GLuint program, GLuint shader)
193{
194
195}
196
197GL_APICALL void GL_APIENTRY glDisable(GLenum cap)
198{
199
200}
201
202GL_APICALL void GL_APIENTRY glDisableVertexAttribArray(GLuint index)
203{
204
205}
206
207GL_APICALL void GL_APIENTRY glDrawArrays(GLenum mode, GLint first, GLsizei count)
208{
209
210}
211
212GL_APICALL void GL_APIENTRY glDrawElements(GLenum mode, GLsizei count, GLenum type, const void * indices)
213{
214
215}
216
217GL_APICALL void GL_APIENTRY glEnable(GLenum cap)
218{
219
220}
221
222GL_APICALL void GL_APIENTRY glEnableVertexAttribArray(GLuint index)
223{
224
225}
226
227GL_APICALL void GL_APIENTRY glFinish()
228{
229
230}
231
232GL_APICALL void GL_APIENTRY glFlush()
233{
234
235}
236
237GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
238{
239
240}
241
242GL_APICALL void GL_APIENTRY glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
243{
244
245}
246
247GL_APICALL void GL_APIENTRY glFrontFace(GLenum mode)
248{
249
250}
251
252GL_APICALL void GL_APIENTRY glGenBuffers(GLsizei n, GLuint* buffers)
253{
254
255}
256
257GL_APICALL void GL_APIENTRY glGenFramebuffers(GLsizei n, GLuint* framebuffers)
258{
259
260}
261
262GL_APICALL void GL_APIENTRY glGenRenderbuffers(GLsizei n, GLuint* renderbuffers)
263{
264
265}
266
267GL_APICALL void GL_APIENTRY glGenTextures(GLsizei n, GLuint* textures)
268{
269
270}
271
272GL_APICALL void GL_APIENTRY glGenerateMipmap(GLenum target)
273{
274
275}
276
277GL_APICALL void GL_APIENTRY glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
278{
279
280}
281
282GL_APICALL void GL_APIENTRY glGetActiveUniform(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLint* size, GLenum* type, GLchar* name)
283{
284
285}
286
287GL_APICALL void GL_APIENTRY glGetAttachedShaders(GLuint program, GLsizei maxCount, GLsizei* count, GLuint* shaders)
288{
289
290}
291
292GL_APICALL GLint GL_APIENTRY glGetAttribLocation(GLuint program, const GLchar * name)
293{
294 return 0;
295}
296
297GL_APICALL void GL_APIENTRY glGetBooleanv(GLenum pname, GLboolean* data)
298{
299
300}
301
302GL_APICALL void GL_APIENTRY glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
303{
304
305}
306
307GL_APICALL GLenum GL_APIENTRY glGetError()
308{
309 return 0;
310}
311
312GL_APICALL void GL_APIENTRY glGetFloatv(GLenum pname, GLfloat* data)
313{
314
315}
316
317GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
318{
319
320}
321
322GL_APICALL void GL_APIENTRY glGetIntegerv(GLenum pname, GLint* data)
323{
324
325}
326
327GL_APICALL void GL_APIENTRY glGetProgramInfoLog(GLuint program, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
328{
329
330}
331
332GL_APICALL void GL_APIENTRY glGetProgramiv(GLuint program, GLenum pname, GLint* params)
333{
334
335}
336
337GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
338{
339
340}
341
342GL_APICALL void GL_APIENTRY glGetShaderInfoLog(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* infoLog)
343{
344
345}
346
347GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
348{
349
350}
351
352GL_APICALL void GL_APIENTRY glGetShaderSource(GLuint shader, GLsizei bufSize, GLsizei* length, GLchar* source)
353{
354
355}
356
357GL_APICALL void GL_APIENTRY glGetShaderiv(GLuint shader, GLenum pname, GLint* params)
358{
359
360}
361
362GL_APICALL const GLubyte * GL_APIENTRY glGetString(GLenum name)
363{
364 return 0;
365}
366
367GL_APICALL void GL_APIENTRY glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
368{
369
370}
371
372GL_APICALL void GL_APIENTRY glGetTexParameteriv(GLenum target, GLenum pname, GLint* params)
373{
374
375}
376
377GL_APICALL GLint GL_APIENTRY glGetUniformLocation(GLuint program, const GLchar * name)
378{
379 return 0;
380}
381
382GL_APICALL void GL_APIENTRY glGetUniformfv(GLuint program, GLint location, GLfloat* params)
383{
384
385}
386
387GL_APICALL void GL_APIENTRY glGetUniformiv(GLuint program, GLint location, GLint* params)
388{
389
390}
391
392GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv(GLuint index, GLenum pname, void ** pointer)
393{
394
395}
396
397GL_APICALL void GL_APIENTRY glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
398{
399
400}
401
402GL_APICALL void GL_APIENTRY glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
403{
404
405}
406
407GL_APICALL void GL_APIENTRY glHint(GLenum target, GLenum mode)
408{
409
410}
411
412GL_APICALL GLboolean GL_APIENTRY glIsBuffer(GLuint buffer)
413{
414 return 0;
415}
416
417GL_APICALL GLboolean GL_APIENTRY glIsEnabled(GLenum cap)
418{
419 return 0;
420}
421
422GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer(GLuint framebuffer)
423{
424 return 0;
425}
426
427GL_APICALL GLboolean GL_APIENTRY glIsProgram(GLuint program)
428{
429 return 0;
430}
431
432GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer(GLuint renderbuffer)
433{
434 return 0;
435}
436
437GL_APICALL GLboolean GL_APIENTRY glIsShader(GLuint shader)
438{
439 return 0;
440}
441
442GL_APICALL GLboolean GL_APIENTRY glIsTexture(GLuint texture)
443{
444 return 0;
445}
446
447GL_APICALL void GL_APIENTRY glLineWidth(GLfloat width)
448{
449
450}
451
452GL_APICALL void GL_APIENTRY glLinkProgram(GLuint program)
453{
454
455}
456
457GL_APICALL void GL_APIENTRY glPixelStorei(GLenum pname, GLint param)
458{
459
460}
461
462GL_APICALL void GL_APIENTRY glPolygonOffset(GLfloat factor, GLfloat units)
463{
464
465}
466
467GL_APICALL void GL_APIENTRY glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels)
468{
469
470}
471
472GL_APICALL void GL_APIENTRY glReleaseShaderCompiler()
473{
474
475}
476
477GL_APICALL void GL_APIENTRY glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
478{
479
480}
481
482GL_APICALL void GL_APIENTRY glSampleCoverage(GLfloat value, GLboolean invert)
483{
484
485}
486
487GL_APICALL void GL_APIENTRY glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
488{
489
490}
491
492GL_APICALL void GL_APIENTRY glShaderBinary(GLsizei count, const GLuint * shaders, GLenum binaryformat, const void * binary, GLsizei length)
493{
494
495}
496
497GL_APICALL void GL_APIENTRY glShaderSource(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length)
498{
499
500}
501
502GL_APICALL void GL_APIENTRY glStencilFunc(GLenum func, GLint ref, GLuint mask)
503{
504
505}
506
507GL_APICALL void GL_APIENTRY glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
508{
509
510}
511
512GL_APICALL void GL_APIENTRY glStencilMask(GLuint mask)
513{
514
515}
516
517GL_APICALL void GL_APIENTRY glStencilMaskSeparate(GLenum face, GLuint mask)
518{
519
520}
521
522GL_APICALL void GL_APIENTRY glStencilOp(GLenum fail, GLenum zfail, GLenum zpass)
523{
524
525}
526
527GL_APICALL void GL_APIENTRY glStencilOpSeparate(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)
528{
529
530}
531
532GL_APICALL void GL_APIENTRY glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels)
533{
534
535}
536
537GL_APICALL void GL_APIENTRY glTexParameterf(GLenum target, GLenum pname, GLfloat param)
538{
539
540}
541
542GL_APICALL void GL_APIENTRY glTexParameterfv(GLenum target, GLenum pname, const GLfloat * params)
543{
544
545}
546
547GL_APICALL void GL_APIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param)
548{
549
550}
551
552GL_APICALL void GL_APIENTRY glTexParameteriv(GLenum target, GLenum pname, const GLint * params)
553{
554
555}
556
557GL_APICALL void GL_APIENTRY glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels)
558{
559
560}
561
562GL_APICALL void GL_APIENTRY glUniform1f(GLint location, GLfloat v0)
563{
564
565}
566
567GL_APICALL void GL_APIENTRY glUniform1fv(GLint location, GLsizei count, const GLfloat * value)
568{
569
570}
571
572GL_APICALL void GL_APIENTRY glUniform1i(GLint location, GLint v0)
573{
574
575}
576
577GL_APICALL void GL_APIENTRY glUniform1iv(GLint location, GLsizei count, const GLint * value)
578{
579
580}
581
582GL_APICALL void GL_APIENTRY glUniform2f(GLint location, GLfloat v0, GLfloat v1)
583{
584
585}
586
587GL_APICALL void GL_APIENTRY glUniform2fv(GLint location, GLsizei count, const GLfloat * value)
588{
589
590}
591
592GL_APICALL void GL_APIENTRY glUniform2i(GLint location, GLint v0, GLint v1)
593{
594
595}
596
597GL_APICALL void GL_APIENTRY glUniform2iv(GLint location, GLsizei count, const GLint * value)
598{
599
600}
601
602GL_APICALL void GL_APIENTRY glUniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
603{
604
605}
606
607GL_APICALL void GL_APIENTRY glUniform3fv(GLint location, GLsizei count, const GLfloat * value)
608{
609
610}
611
612GL_APICALL void GL_APIENTRY glUniform3i(GLint location, GLint v0, GLint v1, GLint v2)
613{
614
615}
616
617GL_APICALL void GL_APIENTRY glUniform3iv(GLint location, GLsizei count, const GLint * value)
618{
619
620}
621
622GL_APICALL void GL_APIENTRY glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)
623{
624
625}
626
627GL_APICALL void GL_APIENTRY glUniform4fv(GLint location, GLsizei count, const GLfloat * value)
628{
629
630}
631
632GL_APICALL void GL_APIENTRY glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
633{
634
635}
636
637GL_APICALL void GL_APIENTRY glUniform4iv(GLint location, GLsizei count, const GLint * value)
638{
639
640}
641
642GL_APICALL void GL_APIENTRY glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)
643{
644
645}
646
647GL_APICALL void GL_APIENTRY glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)
648{
649
650}
651
652GL_APICALL void GL_APIENTRY glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value)
653{
654
655}
656
657GL_APICALL void GL_APIENTRY glUseProgram(GLuint program)
658{
659
660}
661
662GL_APICALL void GL_APIENTRY glValidateProgram(GLuint program)
663{
664
665}
666
667GL_APICALL void GL_APIENTRY glVertexAttrib1f(GLuint index, GLfloat x)
668{
669
670}
671
672GL_APICALL void GL_APIENTRY glVertexAttrib1fv(GLuint index, const GLfloat * v)
673{
674
675}
676
677GL_APICALL void GL_APIENTRY glVertexAttrib2f(GLuint index, GLfloat x, GLfloat y)
678{
679
680}
681
682GL_APICALL void GL_APIENTRY glVertexAttrib2fv(GLuint index, const GLfloat * v)
683{
684
685}
686
687GL_APICALL void GL_APIENTRY glVertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z)
688{
689
690}
691
692GL_APICALL void GL_APIENTRY glVertexAttrib3fv(GLuint index, const GLfloat * v)
693{
694
695}
696
697GL_APICALL void GL_APIENTRY glVertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
698{
699
700}
701
702GL_APICALL void GL_APIENTRY glVertexAttrib4fv(GLuint index, const GLfloat * v)
703{
704
705}
706
707GL_APICALL void GL_APIENTRY glVertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer)
708{
709
710}
711
712GL_APICALL void GL_APIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
713{
714
715}
716
717GL_APICALL void GL_APIENTRY glBlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
718{
719
720}
721
722GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
723{
724
725}
726
727} // extern "C"
728
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/egl.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/egl.h
new file mode 100644
index 0000000..99ea342
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/egl.h
@@ -0,0 +1,329 @@
1/* -*- mode: c; tab-width: 8; -*- */
2/* vi: set sw=4 ts=8: */
3/* Reference version of egl.h for EGL 1.4.
4 * $Revision: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $
5 */
6
7/*
8** Copyright (c) 2007-2009 The Khronos Group Inc.
9**
10** Permission is hereby granted, free of charge, to any person obtaining a
11** copy of this software and/or associated documentation files (the
12** "Materials"), to deal in the Materials without restriction, including
13** without limitation the rights to use, copy, modify, merge, publish,
14** distribute, sublicense, and/or sell copies of the Materials, and to
15** permit persons to whom the Materials are furnished to do so, subject to
16** the following conditions:
17**
18** The above copyright notice and this permission notice shall be included
19** in all copies or substantial portions of the Materials.
20**
21** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
25** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
26** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
27** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
28*/
29
30#ifndef __egl_h_
31#define __egl_h_
32
33/* All platform-dependent types and macro boilerplate (such as EGLAPI
34 * and EGLAPIENTRY) should go in eglplatform.h.
35 */
36#include <EGL/eglplatform.h>
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42/* EGL Types */
43/* EGLint is defined in eglplatform.h */
44typedef unsigned int EGLBoolean;
45typedef unsigned int EGLenum;
46typedef void *EGLConfig;
47typedef void *EGLContext;
48typedef void *EGLDisplay;
49typedef void *EGLSurface;
50typedef void *EGLClientBuffer;
51
52/* EGL Versioning */
53#define EGL_VERSION_1_0 1
54#define EGL_VERSION_1_1 1
55#define EGL_VERSION_1_2 1
56#define EGL_VERSION_1_3 1
57#define EGL_VERSION_1_4 1
58
59/* EGL Enumerants. Bitmasks and other exceptional cases aside, most
60 * enums are assigned unique values starting at 0x3000.
61 */
62
63/* EGL aliases */
64#define EGL_FALSE 0
65#define EGL_TRUE 1
66
67/* Out-of-band handle values */
68#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
69#define EGL_NO_CONTEXT ((EGLContext)0)
70#define EGL_NO_DISPLAY ((EGLDisplay)0)
71#define EGL_NO_SURFACE ((EGLSurface)0)
72
73/* Out-of-band attribute value */
74#define EGL_DONT_CARE ((EGLint)-1)
75
76/* Errors / GetError return values */
77#define EGL_SUCCESS 0x3000
78#define EGL_NOT_INITIALIZED 0x3001
79#define EGL_BAD_ACCESS 0x3002
80#define EGL_BAD_ALLOC 0x3003
81#define EGL_BAD_ATTRIBUTE 0x3004
82#define EGL_BAD_CONFIG 0x3005
83#define EGL_BAD_CONTEXT 0x3006
84#define EGL_BAD_CURRENT_SURFACE 0x3007
85#define EGL_BAD_DISPLAY 0x3008
86#define EGL_BAD_MATCH 0x3009
87#define EGL_BAD_NATIVE_PIXMAP 0x300A
88#define EGL_BAD_NATIVE_WINDOW 0x300B
89#define EGL_BAD_PARAMETER 0x300C
90#define EGL_BAD_SURFACE 0x300D
91#define EGL_CONTEXT_LOST 0x300E /* EGL 1.1 - IMG_power_management */
92
93/* Reserved 0x300F-0x301F for additional errors */
94
95/* Config attributes */
96#define EGL_BUFFER_SIZE 0x3020
97#define EGL_ALPHA_SIZE 0x3021
98#define EGL_BLUE_SIZE 0x3022
99#define EGL_GREEN_SIZE 0x3023
100#define EGL_RED_SIZE 0x3024
101#define EGL_DEPTH_SIZE 0x3025
102#define EGL_STENCIL_SIZE 0x3026
103#define EGL_CONFIG_CAVEAT 0x3027
104#define EGL_CONFIG_ID 0x3028
105#define EGL_LEVEL 0x3029
106#define EGL_MAX_PBUFFER_HEIGHT 0x302A
107#define EGL_MAX_PBUFFER_PIXELS 0x302B
108#define EGL_MAX_PBUFFER_WIDTH 0x302C
109#define EGL_NATIVE_RENDERABLE 0x302D
110#define EGL_NATIVE_VISUAL_ID 0x302E
111#define EGL_NATIVE_VISUAL_TYPE 0x302F
112#define EGL_SAMPLES 0x3031
113#define EGL_SAMPLE_BUFFERS 0x3032
114#define EGL_SURFACE_TYPE 0x3033
115#define EGL_TRANSPARENT_TYPE 0x3034
116#define EGL_TRANSPARENT_BLUE_VALUE 0x3035
117#define EGL_TRANSPARENT_GREEN_VALUE 0x3036
118#define EGL_TRANSPARENT_RED_VALUE 0x3037
119#define EGL_NONE 0x3038 /* Attrib list terminator */
120#define EGL_BIND_TO_TEXTURE_RGB 0x3039
121#define EGL_BIND_TO_TEXTURE_RGBA 0x303A
122#define EGL_MIN_SWAP_INTERVAL 0x303B
123#define EGL_MAX_SWAP_INTERVAL 0x303C
124#define EGL_LUMINANCE_SIZE 0x303D
125#define EGL_ALPHA_MASK_SIZE 0x303E
126#define EGL_COLOR_BUFFER_TYPE 0x303F
127#define EGL_RENDERABLE_TYPE 0x3040
128#define EGL_MATCH_NATIVE_PIXMAP 0x3041 /* Pseudo-attribute (not queryable) */
129#define EGL_CONFORMANT 0x3042
130
131/* Reserved 0x3041-0x304F for additional config attributes */
132
133/* Config attribute values */
134#define EGL_SLOW_CONFIG 0x3050 /* EGL_CONFIG_CAVEAT value */
135#define EGL_NON_CONFORMANT_CONFIG 0x3051 /* EGL_CONFIG_CAVEAT value */
136#define EGL_TRANSPARENT_RGB 0x3052 /* EGL_TRANSPARENT_TYPE value */
137#define EGL_RGB_BUFFER 0x308E /* EGL_COLOR_BUFFER_TYPE value */
138#define EGL_LUMINANCE_BUFFER 0x308F /* EGL_COLOR_BUFFER_TYPE value */
139
140/* More config attribute values, for EGL_TEXTURE_FORMAT */
141#define EGL_NO_TEXTURE 0x305C
142#define EGL_TEXTURE_RGB 0x305D
143#define EGL_TEXTURE_RGBA 0x305E
144#define EGL_TEXTURE_2D 0x305F
145
146/* Config attribute mask bits */
147#define EGL_PBUFFER_BIT 0x0001 /* EGL_SURFACE_TYPE mask bits */
148#define EGL_PIXMAP_BIT 0x0002 /* EGL_SURFACE_TYPE mask bits */
149#define EGL_WINDOW_BIT 0x0004 /* EGL_SURFACE_TYPE mask bits */
150#define EGL_VG_COLORSPACE_LINEAR_BIT 0x0020 /* EGL_SURFACE_TYPE mask bits */
151#define EGL_VG_ALPHA_FORMAT_PRE_BIT 0x0040 /* EGL_SURFACE_TYPE mask bits */
152#define EGL_MULTISAMPLE_RESOLVE_BOX_BIT 0x0200 /* EGL_SURFACE_TYPE mask bits */
153#define EGL_SWAP_BEHAVIOR_PRESERVED_BIT 0x0400 /* EGL_SURFACE_TYPE mask bits */
154
155#define EGL_OPENGL_ES_BIT 0x0001 /* EGL_RENDERABLE_TYPE mask bits */
156#define EGL_OPENVG_BIT 0x0002 /* EGL_RENDERABLE_TYPE mask bits */
157#define EGL_OPENGL_ES2_BIT 0x0004 /* EGL_RENDERABLE_TYPE mask bits */
158#define EGL_OPENGL_BIT 0x0008 /* EGL_RENDERABLE_TYPE mask bits */
159
160/* QueryString targets */
161#define EGL_VENDOR 0x3053
162#define EGL_VERSION 0x3054
163#define EGL_EXTENSIONS 0x3055
164#define EGL_CLIENT_APIS 0x308D
165
166/* QuerySurface / SurfaceAttrib / CreatePbufferSurface targets */
167#define EGL_HEIGHT 0x3056
168#define EGL_WIDTH 0x3057
169#define EGL_LARGEST_PBUFFER 0x3058
170#define EGL_TEXTURE_FORMAT 0x3080
171#define EGL_TEXTURE_TARGET 0x3081
172#define EGL_MIPMAP_TEXTURE 0x3082
173#define EGL_MIPMAP_LEVEL 0x3083
174#define EGL_RENDER_BUFFER 0x3086
175#define EGL_VG_COLORSPACE 0x3087
176#define EGL_VG_ALPHA_FORMAT 0x3088
177#define EGL_HORIZONTAL_RESOLUTION 0x3090
178#define EGL_VERTICAL_RESOLUTION 0x3091
179#define EGL_PIXEL_ASPECT_RATIO 0x3092
180#define EGL_SWAP_BEHAVIOR 0x3093
181#define EGL_MULTISAMPLE_RESOLVE 0x3099
182
183/* EGL_RENDER_BUFFER values / BindTexImage / ReleaseTexImage buffer targets */
184#define EGL_BACK_BUFFER 0x3084
185#define EGL_SINGLE_BUFFER 0x3085
186
187/* OpenVG color spaces */
188#define EGL_VG_COLORSPACE_sRGB 0x3089 /* EGL_VG_COLORSPACE value */
189#define EGL_VG_COLORSPACE_LINEAR 0x308A /* EGL_VG_COLORSPACE value */
190
191/* OpenVG alpha formats */
192#define EGL_VG_ALPHA_FORMAT_NONPRE 0x308B /* EGL_ALPHA_FORMAT value */
193#define EGL_VG_ALPHA_FORMAT_PRE 0x308C /* EGL_ALPHA_FORMAT value */
194
195/* Constant scale factor by which fractional display resolutions &
196 * aspect ratio are scaled when queried as integer values.
197 */
198#define EGL_DISPLAY_SCALING 10000
199
200/* Unknown display resolution/aspect ratio */
201#define EGL_UNKNOWN ((EGLint)-1)
202
203/* Back buffer swap behaviors */
204#define EGL_BUFFER_PRESERVED 0x3094 /* EGL_SWAP_BEHAVIOR value */
205#define EGL_BUFFER_DESTROYED 0x3095 /* EGL_SWAP_BEHAVIOR value */
206
207/* CreatePbufferFromClientBuffer buffer types */
208#define EGL_OPENVG_IMAGE 0x3096
209
210/* QueryContext targets */
211#define EGL_CONTEXT_CLIENT_TYPE 0x3097
212
213/* CreateContext attributes */
214#define EGL_CONTEXT_CLIENT_VERSION 0x3098
215
216/* Multisample resolution behaviors */
217#define EGL_MULTISAMPLE_RESOLVE_DEFAULT 0x309A /* EGL_MULTISAMPLE_RESOLVE value */
218#define EGL_MULTISAMPLE_RESOLVE_BOX 0x309B /* EGL_MULTISAMPLE_RESOLVE value */
219
220/* BindAPI/QueryAPI targets */
221#define EGL_OPENGL_ES_API 0x30A0
222#define EGL_OPENVG_API 0x30A1
223#define EGL_OPENGL_API 0x30A2
224
225/* GetCurrentSurface targets */
226#define EGL_DRAW 0x3059
227#define EGL_READ 0x305A
228
229/* WaitNative engines */
230#define EGL_CORE_NATIVE_ENGINE 0x305B
231
232/* EGL 1.2 tokens renamed for consistency in EGL 1.3 */
233#define EGL_COLORSPACE EGL_VG_COLORSPACE
234#define EGL_ALPHA_FORMAT EGL_VG_ALPHA_FORMAT
235#define EGL_COLORSPACE_sRGB EGL_VG_COLORSPACE_sRGB
236#define EGL_COLORSPACE_LINEAR EGL_VG_COLORSPACE_LINEAR
237#define EGL_ALPHA_FORMAT_NONPRE EGL_VG_ALPHA_FORMAT_NONPRE
238#define EGL_ALPHA_FORMAT_PRE EGL_VG_ALPHA_FORMAT_PRE
239
240/* EGL extensions must request enum blocks from the Khronos
241 * API Registrar, who maintains the enumerant registry. Submit
242 * a bug in Khronos Bugzilla against task "Registry".
243 */
244
245
246
247/* EGL Functions */
248
249EGLAPI EGLint EGLAPIENTRY eglGetError(void);
250
251EGLAPI EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id);
252EGLAPI EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor);
253EGLAPI EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy);
254
255EGLAPI const char * EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name);
256
257EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy, EGLConfig *configs,
258 EGLint config_size, EGLint *num_config);
259EGLAPI EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy, const EGLint *attrib_list,
260 EGLConfig *configs, EGLint config_size,
261 EGLint *num_config);
262EGLAPI EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy, EGLConfig config,
263 EGLint attribute, EGLint *value);
264
265EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,
266 EGLNativeWindowType win,
267 const EGLint *attrib_list);
268EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config,
269 const EGLint *attrib_list);
270EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config,
271 EGLNativePixmapType pixmap,
272 const EGLint *attrib_list);
273EGLAPI EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface);
274EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy, EGLSurface surface,
275 EGLint attribute, EGLint *value);
276
277EGLAPI EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api);
278EGLAPI EGLenum EGLAPIENTRY eglQueryAPI(void);
279
280EGLAPI EGLBoolean EGLAPIENTRY eglWaitClient(void);
281
282EGLAPI EGLBoolean EGLAPIENTRY eglReleaseThread(void);
283
284EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer(
285 EGLDisplay dpy, EGLenum buftype, EGLClientBuffer buffer,
286 EGLConfig config, const EGLint *attrib_list);
287
288EGLAPI EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy, EGLSurface surface,
289 EGLint attribute, EGLint value);
290EGLAPI EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
291EGLAPI EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer);
292
293
294EGLAPI EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval);
295
296
297EGLAPI EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy, EGLConfig config,
298 EGLContext share_context,
299 const EGLint *attrib_list);
300EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx);
301EGLAPI EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy, EGLSurface draw,
302 EGLSurface read, EGLContext ctx);
303
304EGLAPI EGLContext EGLAPIENTRY eglGetCurrentContext(void);
305EGLAPI EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw);
306EGLAPI EGLDisplay EGLAPIENTRY eglGetCurrentDisplay(void);
307EGLAPI EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy, EGLContext ctx,
308 EGLint attribute, EGLint *value);
309
310EGLAPI EGLBoolean EGLAPIENTRY eglWaitGL(void);
311EGLAPI EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine);
312EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface);
313EGLAPI EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy, EGLSurface surface,
314 EGLNativePixmapType target);
315
316/* This is a generic function pointer type, whose name indicates it must
317 * be cast to the proper type *and calling convention* before use.
318 */
319typedef void (*__eglMustCastToProperFunctionPointerType)(void);
320
321/* Now, define eglGetProcAddress using the generic function ptr. type */
322EGLAPI __eglMustCastToProperFunctionPointerType EGLAPIENTRY
323 eglGetProcAddress(const char *procname);
324
325#ifdef __cplusplus
326}
327#endif
328
329#endif /* __egl_h_ */
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglext.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglext.h
new file mode 100644
index 0000000..a392b31
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglext.h
@@ -0,0 +1,628 @@
1#ifndef __eglext_h_
2#define __eglext_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright (c) 2013 The Khronos Group Inc.
10**
11** Permission is hereby granted, free of charge, to any person obtaining a
12** copy of this software and/or associated documentation files (the
13** "Materials"), to deal in the Materials without restriction, including
14** without limitation the rights to use, copy, modify, merge, publish,
15** distribute, sublicense, and/or sell copies of the Materials, and to
16** permit persons to whom the Materials are furnished to do so, subject to
17** the following conditions:
18**
19** The above copyright notice and this permission notice shall be included
20** in all copies or substantial portions of the Materials.
21**
22** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*/
30/*
31** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
34** http://www.opengl.org/registry/
35**
36** Khronos $Revision: 23535 $ on $Date: 2013-10-16 10:29:40 -0700 (Wed, 16 Oct 2013) $
37*/
38
39#include <EGL/eglplatform.h>
40
41#define EGL_EGLEXT_VERSION 20131016
42
43/* Generated C header for:
44 * API: egl
45 * Versions considered: .*
46 * Versions emitted: _nomatch_^
47 * Default extensions included: egl
48 * Additional extensions included: _nomatch_^
49 * Extensions removed: _nomatch_^
50 */
51
52#ifndef EGL_KHR_cl_event
53#define EGL_KHR_cl_event 1
54#define EGL_CL_EVENT_HANDLE_KHR 0x309C
55#define EGL_SYNC_CL_EVENT_KHR 0x30FE
56#define EGL_SYNC_CL_EVENT_COMPLETE_KHR 0x30FF
57#endif /* EGL_KHR_cl_event */
58
59#ifndef EGL_KHR_client_get_all_proc_addresses
60#define EGL_KHR_client_get_all_proc_addresses 1
61#endif /* EGL_KHR_client_get_all_proc_addresses */
62
63#ifndef EGL_KHR_config_attribs
64#define EGL_KHR_config_attribs 1
65#define EGL_CONFORMANT_KHR 0x3042
66#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR 0x0020
67#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR 0x0040
68#endif /* EGL_KHR_config_attribs */
69
70#ifndef EGL_KHR_create_context
71#define EGL_KHR_create_context 1
72#define EGL_CONTEXT_MAJOR_VERSION_KHR 0x3098
73#define EGL_CONTEXT_MINOR_VERSION_KHR 0x30FB
74#define EGL_CONTEXT_FLAGS_KHR 0x30FC
75#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR 0x30FD
76#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR 0x31BD
77#define EGL_NO_RESET_NOTIFICATION_KHR 0x31BE
78#define EGL_LOSE_CONTEXT_ON_RESET_KHR 0x31BF
79#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR 0x00000001
80#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR 0x00000002
81#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR 0x00000004
82#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR 0x00000001
83#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR 0x00000002
84#define EGL_OPENGL_ES3_BIT_KHR 0x00000040
85#endif /* EGL_KHR_create_context */
86
87#ifndef EGL_KHR_fence_sync
88#define EGL_KHR_fence_sync 1
89#ifdef KHRONOS_SUPPORT_INT64
90#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
91#define EGL_SYNC_CONDITION_KHR 0x30F8
92#define EGL_SYNC_FENCE_KHR 0x30F9
93#endif /* KHRONOS_SUPPORT_INT64 */
94#endif /* EGL_KHR_fence_sync */
95
96#ifndef EGL_KHR_get_all_proc_addresses
97#define EGL_KHR_get_all_proc_addresses 1
98#endif /* EGL_KHR_get_all_proc_addresses */
99
100#ifndef EGL_KHR_gl_renderbuffer_image
101#define EGL_KHR_gl_renderbuffer_image 1
102#define EGL_GL_RENDERBUFFER_KHR 0x30B9
103#endif /* EGL_KHR_gl_renderbuffer_image */
104
105#ifndef EGL_KHR_gl_texture_2D_image
106#define EGL_KHR_gl_texture_2D_image 1
107#define EGL_GL_TEXTURE_2D_KHR 0x30B1
108#define EGL_GL_TEXTURE_LEVEL_KHR 0x30BC
109#endif /* EGL_KHR_gl_texture_2D_image */
110
111#ifndef EGL_KHR_gl_texture_3D_image
112#define EGL_KHR_gl_texture_3D_image 1
113#define EGL_GL_TEXTURE_3D_KHR 0x30B2
114#define EGL_GL_TEXTURE_ZOFFSET_KHR 0x30BD
115#endif /* EGL_KHR_gl_texture_3D_image */
116
117#ifndef EGL_KHR_gl_texture_cubemap_image
118#define EGL_KHR_gl_texture_cubemap_image 1
119#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR 0x30B3
120#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR 0x30B4
121#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR 0x30B5
122#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR 0x30B6
123#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR 0x30B7
124#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR 0x30B8
125#endif /* EGL_KHR_gl_texture_cubemap_image */
126
127#ifndef EGL_KHR_image
128#define EGL_KHR_image 1
129typedef void *EGLImageKHR;
130#define EGL_NATIVE_PIXMAP_KHR 0x30B0
131#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0)
132typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
133typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
134#ifdef EGL_EGLEXT_PROTOTYPES
135EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
136EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
137#endif
138#endif /* EGL_KHR_image */
139
140#ifndef EGL_KHR_image_base
141#define EGL_KHR_image_base 1
142#define EGL_IMAGE_PRESERVED_KHR 0x30D2
143#endif /* EGL_KHR_image_base */
144
145#ifndef EGL_KHR_image_pixmap
146#define EGL_KHR_image_pixmap 1
147#endif /* EGL_KHR_image_pixmap */
148
149#ifndef EGL_KHR_lock_surface
150#define EGL_KHR_lock_surface 1
151#define EGL_READ_SURFACE_BIT_KHR 0x0001
152#define EGL_WRITE_SURFACE_BIT_KHR 0x0002
153#define EGL_LOCK_SURFACE_BIT_KHR 0x0080
154#define EGL_OPTIMAL_FORMAT_BIT_KHR 0x0100
155#define EGL_MATCH_FORMAT_KHR 0x3043
156#define EGL_FORMAT_RGB_565_EXACT_KHR 0x30C0
157#define EGL_FORMAT_RGB_565_KHR 0x30C1
158#define EGL_FORMAT_RGBA_8888_EXACT_KHR 0x30C2
159#define EGL_FORMAT_RGBA_8888_KHR 0x30C3
160#define EGL_MAP_PRESERVE_PIXELS_KHR 0x30C4
161#define EGL_LOCK_USAGE_HINT_KHR 0x30C5
162#define EGL_BITMAP_POINTER_KHR 0x30C6
163#define EGL_BITMAP_PITCH_KHR 0x30C7
164#define EGL_BITMAP_ORIGIN_KHR 0x30C8
165#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR 0x30C9
166#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR 0x30CA
167#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR 0x30CB
168#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR 0x30CC
169#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR 0x30CD
170#define EGL_LOWER_LEFT_KHR 0x30CE
171#define EGL_UPPER_LEFT_KHR 0x30CF
172typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
173typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
174#ifdef EGL_EGLEXT_PROTOTYPES
175EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
176EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
177#endif
178#endif /* EGL_KHR_lock_surface */
179
180#ifndef EGL_KHR_lock_surface2
181#define EGL_KHR_lock_surface2 1
182#define EGL_BITMAP_PIXEL_SIZE_KHR 0x3110
183#endif /* EGL_KHR_lock_surface2 */
184
185#ifndef EGL_KHR_reusable_sync
186#define EGL_KHR_reusable_sync 1
187typedef void *EGLSyncKHR;
188typedef khronos_utime_nanoseconds_t EGLTimeKHR;
189#ifdef KHRONOS_SUPPORT_INT64
190#define EGL_SYNC_STATUS_KHR 0x30F1
191#define EGL_SIGNALED_KHR 0x30F2
192#define EGL_UNSIGNALED_KHR 0x30F3
193#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5
194#define EGL_CONDITION_SATISFIED_KHR 0x30F6
195#define EGL_SYNC_TYPE_KHR 0x30F7
196#define EGL_SYNC_REUSABLE_KHR 0x30FA
197#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
198#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
199#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0)
200typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
201typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
202typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
203typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
204typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
205#ifdef EGL_EGLEXT_PROTOTYPES
206EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
207EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR (EGLDisplay dpy, EGLSyncKHR sync);
208EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
209EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
210EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
211#endif
212#endif /* KHRONOS_SUPPORT_INT64 */
213#endif /* EGL_KHR_reusable_sync */
214
215#ifndef EGL_KHR_stream
216#define EGL_KHR_stream 1
217typedef void *EGLStreamKHR;
218typedef khronos_uint64_t EGLuint64KHR;
219#ifdef KHRONOS_SUPPORT_INT64
220#define EGL_NO_STREAM_KHR ((EGLStreamKHR)0)
221#define EGL_CONSUMER_LATENCY_USEC_KHR 0x3210
222#define EGL_PRODUCER_FRAME_KHR 0x3212
223#define EGL_CONSUMER_FRAME_KHR 0x3213
224#define EGL_STREAM_STATE_KHR 0x3214
225#define EGL_STREAM_STATE_CREATED_KHR 0x3215
226#define EGL_STREAM_STATE_CONNECTING_KHR 0x3216
227#define EGL_STREAM_STATE_EMPTY_KHR 0x3217
228#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR 0x3218
229#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR 0x3219
230#define EGL_STREAM_STATE_DISCONNECTED_KHR 0x321A
231#define EGL_BAD_STREAM_KHR 0x321B
232#define EGL_BAD_STATE_KHR 0x321C
233typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC) (EGLDisplay dpy, const EGLint *attrib_list);
234typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
235typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
236typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
237typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
238#ifdef EGL_EGLEXT_PROTOTYPES
239EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR (EGLDisplay dpy, const EGLint *attrib_list);
240EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR (EGLDisplay dpy, EGLStreamKHR stream);
241EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
242EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
243EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
244#endif
245#endif /* KHRONOS_SUPPORT_INT64 */
246#endif /* EGL_KHR_stream */
247
248#ifndef EGL_KHR_stream_consumer_gltexture
249#define EGL_KHR_stream_consumer_gltexture 1
250#ifdef EGL_KHR_stream
251#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR 0x321E
252typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
253typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
254typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
255#ifdef EGL_EGLEXT_PROTOTYPES
256EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR (EGLDisplay dpy, EGLStreamKHR stream);
257EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR (EGLDisplay dpy, EGLStreamKHR stream);
258EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR (EGLDisplay dpy, EGLStreamKHR stream);
259#endif
260#endif /* EGL_KHR_stream */
261#endif /* EGL_KHR_stream_consumer_gltexture */
262
263#ifndef EGL_KHR_stream_cross_process_fd
264#define EGL_KHR_stream_cross_process_fd 1
265typedef int EGLNativeFileDescriptorKHR;
266#ifdef EGL_KHR_stream
267#define EGL_NO_FILE_DESCRIPTOR_KHR ((EGLNativeFileDescriptorKHR)(-1))
268typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream);
269typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC) (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
270#ifdef EGL_EGLEXT_PROTOTYPES
271EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR (EGLDisplay dpy, EGLStreamKHR stream);
272EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR (EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
273#endif
274#endif /* EGL_KHR_stream */
275#endif /* EGL_KHR_stream_cross_process_fd */
276
277#ifndef EGL_KHR_stream_fifo
278#define EGL_KHR_stream_fifo 1
279#ifdef EGL_KHR_stream
280#define EGL_STREAM_FIFO_LENGTH_KHR 0x31FC
281#define EGL_STREAM_TIME_NOW_KHR 0x31FD
282#define EGL_STREAM_TIME_CONSUMER_KHR 0x31FE
283#define EGL_STREAM_TIME_PRODUCER_KHR 0x31FF
284typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
285#ifdef EGL_EGLEXT_PROTOTYPES
286EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR (EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
287#endif
288#endif /* EGL_KHR_stream */
289#endif /* EGL_KHR_stream_fifo */
290
291#ifndef EGL_KHR_stream_producer_aldatalocator
292#define EGL_KHR_stream_producer_aldatalocator 1
293#ifdef EGL_KHR_stream
294#endif /* EGL_KHR_stream */
295#endif /* EGL_KHR_stream_producer_aldatalocator */
296
297#ifndef EGL_KHR_stream_producer_eglsurface
298#define EGL_KHR_stream_producer_eglsurface 1
299#ifdef EGL_KHR_stream
300#define EGL_STREAM_BIT_KHR 0x0800
301typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC) (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
302#ifdef EGL_EGLEXT_PROTOTYPES
303EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR (EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
304#endif
305#endif /* EGL_KHR_stream */
306#endif /* EGL_KHR_stream_producer_eglsurface */
307
308#ifndef EGL_KHR_surfaceless_context
309#define EGL_KHR_surfaceless_context 1
310#endif /* EGL_KHR_surfaceless_context */
311
312#ifndef EGL_KHR_vg_parent_image
313#define EGL_KHR_vg_parent_image 1
314#define EGL_VG_PARENT_IMAGE_KHR 0x30BA
315#endif /* EGL_KHR_vg_parent_image */
316
317#ifndef EGL_KHR_wait_sync
318#define EGL_KHR_wait_sync 1
319typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
320#ifdef EGL_EGLEXT_PROTOTYPES
321EGLAPI EGLint EGLAPIENTRY eglWaitSyncKHR (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
322#endif
323#endif /* EGL_KHR_wait_sync */
324
325#ifndef EGL_ANDROID_blob_cache
326#define EGL_ANDROID_blob_cache 1
327typedef khronos_ssize_t EGLsizeiANDROID;
328typedef void (*EGLSetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);
329typedef EGLsizeiANDROID (*EGLGetBlobFuncANDROID) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);
330typedef void (EGLAPIENTRYP PFNEGLSETBLOBCACHEFUNCSANDROIDPROC) (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
331#ifdef EGL_EGLEXT_PROTOTYPES
332EGLAPI void EGLAPIENTRY eglSetBlobCacheFuncsANDROID (EGLDisplay dpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
333#endif
334#endif /* EGL_ANDROID_blob_cache */
335
336#ifndef EGL_ANDROID_framebuffer_target
337#define EGL_ANDROID_framebuffer_target 1
338#define EGL_FRAMEBUFFER_TARGET_ANDROID 0x3147
339#endif /* EGL_ANDROID_framebuffer_target */
340
341#ifndef EGL_ANDROID_image_native_buffer
342#define EGL_ANDROID_image_native_buffer 1
343#define EGL_NATIVE_BUFFER_ANDROID 0x3140
344#endif /* EGL_ANDROID_image_native_buffer */
345
346#ifndef EGL_ANDROID_native_fence_sync
347#define EGL_ANDROID_native_fence_sync 1
348#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144
349#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145
350#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
351#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
352typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
353#ifdef EGL_EGLEXT_PROTOTYPES
354EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
355#endif
356#endif /* EGL_ANDROID_native_fence_sync */
357
358#ifndef EGL_ANDROID_recordable
359#define EGL_ANDROID_recordable 1
360#define EGL_RECORDABLE_ANDROID 0x3142
361#endif /* EGL_ANDROID_recordable */
362
363#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
364#define EGL_ANGLE_d3d_share_handle_client_buffer 1
365#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE 0x3200
366#endif /* EGL_ANGLE_d3d_share_handle_client_buffer */
367
368#ifndef EGL_ANGLE_query_surface_pointer
369#define EGL_ANGLE_query_surface_pointer 1
370typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
371#ifdef EGL_EGLEXT_PROTOTYPES
372EGLAPI EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
373#endif
374#endif /* EGL_ANGLE_query_surface_pointer */
375
376#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
377#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
378#endif /* EGL_ANGLE_surface_d3d_texture_2d_share_handle */
379
380#ifndef EGL_ARM_pixmap_multisample_discard
381#define EGL_ARM_pixmap_multisample_discard 1
382#define EGL_DISCARD_SAMPLES_ARM 0x3286
383#endif /* EGL_ARM_pixmap_multisample_discard */
384
385#ifndef EGL_EXT_buffer_age
386#define EGL_EXT_buffer_age 1
387#define EGL_BUFFER_AGE_EXT 0x313D
388#endif /* EGL_EXT_buffer_age */
389
390#ifndef EGL_EXT_client_extensions
391#define EGL_EXT_client_extensions 1
392#endif /* EGL_EXT_client_extensions */
393
394#ifndef EGL_EXT_create_context_robustness
395#define EGL_EXT_create_context_robustness 1
396#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT 0x30BF
397#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
398#define EGL_NO_RESET_NOTIFICATION_EXT 0x31BE
399#define EGL_LOSE_CONTEXT_ON_RESET_EXT 0x31BF
400#endif /* EGL_EXT_create_context_robustness */
401
402#ifndef EGL_EXT_image_dma_buf_import
403#define EGL_EXT_image_dma_buf_import 1
404#define EGL_LINUX_DMA_BUF_EXT 0x3270
405#define EGL_LINUX_DRM_FOURCC_EXT 0x3271
406#define EGL_DMA_BUF_PLANE0_FD_EXT 0x3272
407#define EGL_DMA_BUF_PLANE0_OFFSET_EXT 0x3273
408#define EGL_DMA_BUF_PLANE0_PITCH_EXT 0x3274
409#define EGL_DMA_BUF_PLANE1_FD_EXT 0x3275
410#define EGL_DMA_BUF_PLANE1_OFFSET_EXT 0x3276
411#define EGL_DMA_BUF_PLANE1_PITCH_EXT 0x3277
412#define EGL_DMA_BUF_PLANE2_FD_EXT 0x3278
413#define EGL_DMA_BUF_PLANE2_OFFSET_EXT 0x3279
414#define EGL_DMA_BUF_PLANE2_PITCH_EXT 0x327A
415#define EGL_YUV_COLOR_SPACE_HINT_EXT 0x327B
416#define EGL_SAMPLE_RANGE_HINT_EXT 0x327C
417#define EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT 0x327D
418#define EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT 0x327E
419#define EGL_ITU_REC601_EXT 0x327F
420#define EGL_ITU_REC709_EXT 0x3280
421#define EGL_ITU_REC2020_EXT 0x3281
422#define EGL_YUV_FULL_RANGE_EXT 0x3282
423#define EGL_YUV_NARROW_RANGE_EXT 0x3283
424#define EGL_YUV_CHROMA_SITING_0_EXT 0x3284
425#define EGL_YUV_CHROMA_SITING_0_5_EXT 0x3285
426#endif /* EGL_EXT_image_dma_buf_import */
427
428#ifndef EGL_EXT_multiview_window
429#define EGL_EXT_multiview_window 1
430#define EGL_MULTIVIEW_VIEW_COUNT_EXT 0x3134
431#endif /* EGL_EXT_multiview_window */
432
433#ifndef EGL_EXT_platform_base
434#define EGL_EXT_platform_base 1
435typedef EGLDisplay (EGLAPIENTRYP PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform, void *native_display, const EGLint *attrib_list);
436typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
437typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC) (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
438#ifdef EGL_EGLEXT_PROTOTYPES
439EGLAPI EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT (EGLenum platform, void *native_display, const EGLint *attrib_list);
440EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_window, const EGLint *attrib_list);
441EGLAPI EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT (EGLDisplay dpy, EGLConfig config, void *native_pixmap, const EGLint *attrib_list);
442#endif
443#endif /* EGL_EXT_platform_base */
444
445#ifndef EGL_EXT_platform_wayland
446#define EGL_EXT_platform_wayland 1
447#define EGL_PLATFORM_WAYLAND_EXT 0x31D8
448#endif /* EGL_EXT_platform_wayland */
449
450#ifndef EGL_EXT_platform_x11
451#define EGL_EXT_platform_x11 1
452#define EGL_PLATFORM_X11_EXT 0x31D5
453#define EGL_PLATFORM_X11_SCREEN_EXT 0x31D6
454#endif /* EGL_EXT_platform_x11 */
455
456#ifndef EGL_EXT_swap_buffers_with_damage
457#define EGL_EXT_swap_buffers_with_damage 1
458typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
459#ifdef EGL_EGLEXT_PROTOTYPES
460EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageEXT (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
461#endif
462#endif /* EGL_EXT_swap_buffers_with_damage */
463
464#ifndef EGL_HI_clientpixmap
465#define EGL_HI_clientpixmap 1
466struct EGLClientPixmapHI {
467 void *pData;
468 EGLint iWidth;
469 EGLint iHeight;
470 EGLint iStride;
471};
472#define EGL_CLIENT_PIXMAP_POINTER_HI 0x8F74
473typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
474#ifdef EGL_EGLEXT_PROTOTYPES
475EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI *pixmap);
476#endif
477#endif /* EGL_HI_clientpixmap */
478
479#ifndef EGL_HI_colorformats
480#define EGL_HI_colorformats 1
481#define EGL_COLOR_FORMAT_HI 0x8F70
482#define EGL_COLOR_RGB_HI 0x8F71
483#define EGL_COLOR_RGBA_HI 0x8F72
484#define EGL_COLOR_ARGB_HI 0x8F73
485#endif /* EGL_HI_colorformats */
486
487#ifndef EGL_IMG_context_priority
488#define EGL_IMG_context_priority 1
489#define EGL_CONTEXT_PRIORITY_LEVEL_IMG 0x3100
490#define EGL_CONTEXT_PRIORITY_HIGH_IMG 0x3101
491#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG 0x3102
492#define EGL_CONTEXT_PRIORITY_LOW_IMG 0x3103
493#endif /* EGL_IMG_context_priority */
494
495#ifndef EGL_MESA_drm_image
496#define EGL_MESA_drm_image 1
497#define EGL_DRM_BUFFER_FORMAT_MESA 0x31D0
498#define EGL_DRM_BUFFER_USE_MESA 0x31D1
499#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA 0x31D2
500#define EGL_DRM_BUFFER_MESA 0x31D3
501#define EGL_DRM_BUFFER_STRIDE_MESA 0x31D4
502#define EGL_DRM_BUFFER_USE_SCANOUT_MESA 0x00000001
503#define EGL_DRM_BUFFER_USE_SHARE_MESA 0x00000002
504typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
505typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
506#ifdef EGL_EGLEXT_PROTOTYPES
507EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
508EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
509#endif
510#endif /* EGL_MESA_drm_image */
511
512#ifndef EGL_MESA_platform_gbm
513#define EGL_MESA_platform_gbm 1
514#define EGL_PLATFORM_GBM_MESA 0x31D7
515#endif /* EGL_MESA_platform_gbm */
516
517#ifndef EGL_NV_3dvision_surface
518#define EGL_NV_3dvision_surface 1
519#define EGL_AUTO_STEREO_NV 0x3136
520#endif /* EGL_NV_3dvision_surface */
521
522#ifndef EGL_NV_coverage_sample
523#define EGL_NV_coverage_sample 1
524#define EGL_COVERAGE_BUFFERS_NV 0x30E0
525#define EGL_COVERAGE_SAMPLES_NV 0x30E1
526#endif /* EGL_NV_coverage_sample */
527
528#ifndef EGL_NV_coverage_sample_resolve
529#define EGL_NV_coverage_sample_resolve 1
530#define EGL_COVERAGE_SAMPLE_RESOLVE_NV 0x3131
531#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV 0x3132
532#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV 0x3133
533#endif /* EGL_NV_coverage_sample_resolve */
534
535#ifndef EGL_NV_depth_nonlinear
536#define EGL_NV_depth_nonlinear 1
537#define EGL_DEPTH_ENCODING_NV 0x30E2
538#define EGL_DEPTH_ENCODING_NONE_NV 0
539#define EGL_DEPTH_ENCODING_NONLINEAR_NV 0x30E3
540#endif /* EGL_NV_depth_nonlinear */
541
542#ifndef EGL_NV_native_query
543#define EGL_NV_native_query 1
544typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEDISPLAYNVPROC) (EGLDisplay dpy, EGLNativeDisplayType *display_id);
545typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEWINDOWNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
546typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYNATIVEPIXMAPNVPROC) (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
547#ifdef EGL_EGLEXT_PROTOTYPES
548EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeDisplayNV (EGLDisplay dpy, EGLNativeDisplayType *display_id);
549EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativeWindowNV (EGLDisplay dpy, EGLSurface surf, EGLNativeWindowType *window);
550EGLAPI EGLBoolean EGLAPIENTRY eglQueryNativePixmapNV (EGLDisplay dpy, EGLSurface surf, EGLNativePixmapType *pixmap);
551#endif
552#endif /* EGL_NV_native_query */
553
554#ifndef EGL_NV_post_convert_rounding
555#define EGL_NV_post_convert_rounding 1
556#endif /* EGL_NV_post_convert_rounding */
557
558#ifndef EGL_NV_post_sub_buffer
559#define EGL_NV_post_sub_buffer 1
560#define EGL_POST_SUB_BUFFER_SUPPORTED_NV 0x30BE
561typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
562#ifdef EGL_EGLEXT_PROTOTYPES
563EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
564#endif
565#endif /* EGL_NV_post_sub_buffer */
566
567#ifndef EGL_NV_stream_sync
568#define EGL_NV_stream_sync 1
569#define EGL_SYNC_NEW_FRAME_NV 0x321F
570typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESTREAMSYNCNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
571#ifdef EGL_EGLEXT_PROTOTYPES
572EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateStreamSyncNV (EGLDisplay dpy, EGLStreamKHR stream, EGLenum type, const EGLint *attrib_list);
573#endif
574#endif /* EGL_NV_stream_sync */
575
576#ifndef EGL_NV_sync
577#define EGL_NV_sync 1
578typedef void *EGLSyncNV;
579typedef khronos_utime_nanoseconds_t EGLTimeNV;
580#ifdef KHRONOS_SUPPORT_INT64
581#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV 0x30E6
582#define EGL_SYNC_STATUS_NV 0x30E7
583#define EGL_SIGNALED_NV 0x30E8
584#define EGL_UNSIGNALED_NV 0x30E9
585#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV 0x0001
586#define EGL_FOREVER_NV 0xFFFFFFFFFFFFFFFFull
587#define EGL_ALREADY_SIGNALED_NV 0x30EA
588#define EGL_TIMEOUT_EXPIRED_NV 0x30EB
589#define EGL_CONDITION_SATISFIED_NV 0x30EC
590#define EGL_SYNC_TYPE_NV 0x30ED
591#define EGL_SYNC_CONDITION_NV 0x30EE
592#define EGL_SYNC_FENCE_NV 0x30EF
593#define EGL_NO_SYNC_NV ((EGLSyncNV)0)
594typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
595typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
596typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
597typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
598typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
599typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
600#ifdef EGL_EGLEXT_PROTOTYPES
601EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
602EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
603EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
604EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
605EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
606EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
607#endif
608#endif /* KHRONOS_SUPPORT_INT64 */
609#endif /* EGL_NV_sync */
610
611#ifndef EGL_NV_system_time
612#define EGL_NV_system_time 1
613typedef khronos_utime_nanoseconds_t EGLuint64NV;
614#ifdef KHRONOS_SUPPORT_INT64
615typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
616typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
617#ifdef EGL_EGLEXT_PROTOTYPES
618EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV (void);
619EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV (void);
620#endif
621#endif /* KHRONOS_SUPPORT_INT64 */
622#endif /* EGL_NV_system_time */
623
624#ifdef __cplusplus
625}
626#endif
627
628#endif
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglplatform.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglplatform.h
new file mode 100644
index 0000000..572c7d5
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/EGL/eglplatform.h
@@ -0,0 +1,143 @@
1#ifndef __eglplatform_h_
2#define __eglplatform_h_
3
4/*
5** Copyright (c) 2007-2013 The Khronos Group Inc.
6**
7** Permission is hereby granted, free of charge, to any person obtaining a
8** copy of this software and/or associated documentation files (the
9** "Materials"), to deal in the Materials without restriction, including
10** without limitation the rights to use, copy, modify, merge, publish,
11** distribute, sublicense, and/or sell copies of the Materials, and to
12** permit persons to whom the Materials are furnished to do so, subject to
13** the following conditions:
14**
15** The above copyright notice and this permission notice shall be included
16** in all copies or substantial portions of the Materials.
17**
18** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
25*/
26
27/* Platform-specific types and definitions for egl.h
28 * $Revision: 23432 $ on $Date: 2013-10-09 00:57:24 -0700 (Wed, 09 Oct 2013) $
29 *
30 * Adopters may modify khrplatform.h and this file to suit their platform.
31 * You are encouraged to submit all modifications to the Khronos group so that
32 * they can be included in future versions of this file. Please submit changes
33 * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
34 * by filing a bug against product "EGL" component "Registry".
35 */
36
37#include <KHR/khrplatform.h>
38
39/* Macros used in EGL function prototype declarations.
40 *
41 * EGL functions should be prototyped as:
42 *
43 * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
44 * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
45 *
46 * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
47 */
48
49#ifndef EGLAPI
50#define EGLAPI KHRONOS_APICALL
51#endif
52
53#ifndef EGLAPIENTRY
54#define EGLAPIENTRY KHRONOS_APIENTRY
55#endif
56#define EGLAPIENTRYP EGLAPIENTRY*
57
58/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
59 * are aliases of window-system-dependent types, such as X Display * or
60 * Windows Device Context. They must be defined in platform-specific
61 * code below. The EGL-prefixed versions of Native*Type are the same
62 * types, renamed in EGL 1.3 so all types in the API start with "EGL".
63 *
64 * Khronos STRONGLY RECOMMENDS that you use the default definitions
65 * provided below, since these changes affect both binary and source
66 * portability of applications using EGL running on different EGL
67 * implementations.
68 */
69
70#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
71
72#if 1
73/* QtGlesStream */
74typedef unsigned int EGLNativeDisplayType;
75typedef unsigned int EGLNativeWindowType;
76typedef unsigned int EGLNativePixmapType;
77#else
78#ifndef WIN32_LEAN_AND_MEAN
79#define WIN32_LEAN_AND_MEAN 1
80#endif
81#include <windows.h>
82
83typedef HDC EGLNativeDisplayType;
84typedef HBITMAP EGLNativePixmapType;
85typedef HWND EGLNativeWindowType;
86#endif
87
88#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
89
90typedef int EGLNativeDisplayType;
91typedef void *EGLNativeWindowType;
92typedef void *EGLNativePixmapType;
93
94#elif defined(__ANDROID__) || defined(ANDROID)
95
96#include <android/native_window.h>
97
98struct egl_native_pixmap_t;
99
100typedef struct ANativeWindow* EGLNativeWindowType;
101typedef struct egl_native_pixmap_t* EGLNativePixmapType;
102typedef void* EGLNativeDisplayType;
103
104#elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
105#if 1
106
107/* QtGlesStream */
108typedef intptr_t EGLNativeDisplayType;
109typedef intptr_t EGLNativeWindowType;
110typedef intptr_t EGLNativePixmapType;
111
112#else
113
114/* X11 (tentative) */
115#include <X11/Xlib.h>
116#include <X11/Xutil.h>
117
118typedef Display *EGLNativeDisplayType;
119typedef Pixmap EGLNativePixmapType;
120typedef Window EGLNativeWindowType;
121
122#endif
123
124#else
125#error "Platform not recognized"
126#endif
127
128/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
129typedef EGLNativeDisplayType NativeDisplayType;
130typedef EGLNativePixmapType NativePixmapType;
131typedef EGLNativeWindowType NativeWindowType;
132
133
134/* Define EGLint. This must be a signed integral type large enough to contain
135 * all legal attribute names and values passed into and out of EGL, whether
136 * their type is boolean, bitmask, enumerant (symbolic constant), integer,
137 * handle, or other. While in general a 32-bit integer will suffice, if
138 * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
139 * integer type.
140 */
141typedef khronos_int32_t EGLint;
142
143#endif /* __eglplatform_h */
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2.h
new file mode 100644
index 0000000..f6bed7d
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2.h
@@ -0,0 +1,523 @@
1#ifndef __gl2_h_
2#define __gl2_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright (c) 2013 The Khronos Group Inc.
10**
11** Permission is hereby granted, free of charge, to any person obtaining a
12** copy of this software and/or associated documentation files (the
13** "Materials"), to deal in the Materials without restriction, including
14** without limitation the rights to use, copy, modify, merge, publish,
15** distribute, sublicense, and/or sell copies of the Materials, and to
16** permit persons to whom the Materials are furnished to do so, subject to
17** the following conditions:
18**
19** The above copyright notice and this permission notice shall be included
20** in all copies or substantial portions of the Materials.
21**
22** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*/
30/*
31** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
34** http://www.opengl.org/registry/
35**
36** Khronos $Revision$ on $Date$
37*/
38
39#include <GLES2/gl2platform.h>
40
41/* Generated C header for:
42 * API: gles2
43 * Profile: common
44 * Versions considered: 2\.[0-9]
45 * Versions emitted: .*
46 * Default extensions included: None
47 * Additional extensions included: _nomatch_^
48 * Extensions removed: _nomatch_^
49 */
50
51#ifndef GL_ES_VERSION_2_0
52#define GL_ES_VERSION_2_0 1
53#include <KHR/khrplatform.h>
54typedef khronos_int8_t GLbyte;
55typedef khronos_float_t GLclampf;
56typedef khronos_int32_t GLfixed;
57typedef short GLshort;
58typedef unsigned short GLushort;
59typedef void GLvoid;
60typedef struct __GLsync *GLsync;
61typedef khronos_int64_t GLint64;
62typedef khronos_uint64_t GLuint64;
63typedef unsigned int GLenum;
64typedef unsigned int GLuint;
65typedef char GLchar;
66typedef khronos_float_t GLfloat;
67typedef khronos_ssize_t GLsizeiptr;
68typedef khronos_intptr_t GLintptr;
69typedef unsigned int GLbitfield;
70typedef int GLint;
71typedef unsigned char GLboolean;
72typedef int GLsizei;
73typedef khronos_uint8_t GLubyte;
74#define GL_DEPTH_BUFFER_BIT 0x00000100
75#define GL_STENCIL_BUFFER_BIT 0x00000400
76#define GL_COLOR_BUFFER_BIT 0x00004000
77#define GL_FALSE 0
78#define GL_TRUE 1
79#define GL_POINTS 0x0000
80#define GL_LINES 0x0001
81#define GL_LINE_LOOP 0x0002
82#define GL_LINE_STRIP 0x0003
83#define GL_TRIANGLES 0x0004
84#define GL_TRIANGLE_STRIP 0x0005
85#define GL_TRIANGLE_FAN 0x0006
86#define GL_ZERO 0
87#define GL_ONE 1
88#define GL_SRC_COLOR 0x0300
89#define GL_ONE_MINUS_SRC_COLOR 0x0301
90#define GL_SRC_ALPHA 0x0302
91#define GL_ONE_MINUS_SRC_ALPHA 0x0303
92#define GL_DST_ALPHA 0x0304
93#define GL_ONE_MINUS_DST_ALPHA 0x0305
94#define GL_DST_COLOR 0x0306
95#define GL_ONE_MINUS_DST_COLOR 0x0307
96#define GL_SRC_ALPHA_SATURATE 0x0308
97#define GL_FUNC_ADD 0x8006
98#define GL_BLEND_EQUATION 0x8009
99#define GL_BLEND_EQUATION_RGB 0x8009
100#define GL_BLEND_EQUATION_ALPHA 0x883D
101#define GL_FUNC_SUBTRACT 0x800A
102#define GL_FUNC_REVERSE_SUBTRACT 0x800B
103#define GL_BLEND_DST_RGB 0x80C8
104#define GL_BLEND_SRC_RGB 0x80C9
105#define GL_BLEND_DST_ALPHA 0x80CA
106#define GL_BLEND_SRC_ALPHA 0x80CB
107#define GL_CONSTANT_COLOR 0x8001
108#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
109#define GL_CONSTANT_ALPHA 0x8003
110#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
111#define GL_BLEND_COLOR 0x8005
112#define GL_ARRAY_BUFFER 0x8892
113#define GL_ELEMENT_ARRAY_BUFFER 0x8893
114#define GL_ARRAY_BUFFER_BINDING 0x8894
115#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
116#define GL_STREAM_DRAW 0x88E0
117#define GL_STATIC_DRAW 0x88E4
118#define GL_DYNAMIC_DRAW 0x88E8
119#define GL_BUFFER_SIZE 0x8764
120#define GL_BUFFER_USAGE 0x8765
121#define GL_CURRENT_VERTEX_ATTRIB 0x8626
122#define GL_FRONT 0x0404
123#define GL_BACK 0x0405
124#define GL_FRONT_AND_BACK 0x0408
125#define GL_TEXTURE_2D 0x0DE1
126#define GL_CULL_FACE 0x0B44
127#define GL_BLEND 0x0BE2
128#define GL_DITHER 0x0BD0
129#define GL_STENCIL_TEST 0x0B90
130#define GL_DEPTH_TEST 0x0B71
131#define GL_SCISSOR_TEST 0x0C11
132#define GL_POLYGON_OFFSET_FILL 0x8037
133#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
134#define GL_SAMPLE_COVERAGE 0x80A0
135#define GL_NO_ERROR 0
136#define GL_INVALID_ENUM 0x0500
137#define GL_INVALID_VALUE 0x0501
138#define GL_INVALID_OPERATION 0x0502
139#define GL_OUT_OF_MEMORY 0x0505
140#define GL_CW 0x0900
141#define GL_CCW 0x0901
142#define GL_LINE_WIDTH 0x0B21
143#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
144#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
145#define GL_CULL_FACE_MODE 0x0B45
146#define GL_FRONT_FACE 0x0B46
147#define GL_DEPTH_RANGE 0x0B70
148#define GL_DEPTH_WRITEMASK 0x0B72
149#define GL_DEPTH_CLEAR_VALUE 0x0B73
150#define GL_DEPTH_FUNC 0x0B74
151#define GL_STENCIL_CLEAR_VALUE 0x0B91
152#define GL_STENCIL_FUNC 0x0B92
153#define GL_STENCIL_FAIL 0x0B94
154#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
155#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
156#define GL_STENCIL_REF 0x0B97
157#define GL_STENCIL_VALUE_MASK 0x0B93
158#define GL_STENCIL_WRITEMASK 0x0B98
159#define GL_STENCIL_BACK_FUNC 0x8800
160#define GL_STENCIL_BACK_FAIL 0x8801
161#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
162#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
163#define GL_STENCIL_BACK_REF 0x8CA3
164#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
165#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
166#define GL_VIEWPORT 0x0BA2
167#define GL_SCISSOR_BOX 0x0C10
168#define GL_COLOR_CLEAR_VALUE 0x0C22
169#define GL_COLOR_WRITEMASK 0x0C23
170#define GL_UNPACK_ALIGNMENT 0x0CF5
171#define GL_PACK_ALIGNMENT 0x0D05
172#define GL_MAX_TEXTURE_SIZE 0x0D33
173#define GL_MAX_VIEWPORT_DIMS 0x0D3A
174#define GL_SUBPIXEL_BITS 0x0D50
175#define GL_RED_BITS 0x0D52
176#define GL_GREEN_BITS 0x0D53
177#define GL_BLUE_BITS 0x0D54
178#define GL_ALPHA_BITS 0x0D55
179#define GL_DEPTH_BITS 0x0D56
180#define GL_STENCIL_BITS 0x0D57
181#define GL_POLYGON_OFFSET_UNITS 0x2A00
182#define GL_POLYGON_OFFSET_FACTOR 0x8038
183#define GL_TEXTURE_BINDING_2D 0x8069
184#define GL_SAMPLE_BUFFERS 0x80A8
185#define GL_SAMPLES 0x80A9
186#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
187#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
188#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
189#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
190#define GL_DONT_CARE 0x1100
191#define GL_FASTEST 0x1101
192#define GL_NICEST 0x1102
193#define GL_GENERATE_MIPMAP_HINT 0x8192
194#define GL_BYTE 0x1400
195#define GL_UNSIGNED_BYTE 0x1401
196#define GL_SHORT 0x1402
197#define GL_UNSIGNED_SHORT 0x1403
198#define GL_INT 0x1404
199#define GL_UNSIGNED_INT 0x1405
200#define GL_FLOAT 0x1406
201#define GL_FIXED 0x140C
202#define GL_DEPTH_COMPONENT 0x1902
203#define GL_ALPHA 0x1906
204#define GL_RGB 0x1907
205#define GL_RGBA 0x1908
206#define GL_LUMINANCE 0x1909
207#define GL_LUMINANCE_ALPHA 0x190A
208#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
209#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
210#define GL_UNSIGNED_SHORT_5_6_5 0x8363
211#define GL_FRAGMENT_SHADER 0x8B30
212#define GL_VERTEX_SHADER 0x8B31
213#define GL_MAX_VERTEX_ATTRIBS 0x8869
214#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
215#define GL_MAX_VARYING_VECTORS 0x8DFC
216#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
217#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
218#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
219#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
220#define GL_SHADER_TYPE 0x8B4F
221#define GL_DELETE_STATUS 0x8B80
222#define GL_LINK_STATUS 0x8B82
223#define GL_VALIDATE_STATUS 0x8B83
224#define GL_ATTACHED_SHADERS 0x8B85
225#define GL_ACTIVE_UNIFORMS 0x8B86
226#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
227#define GL_ACTIVE_ATTRIBUTES 0x8B89
228#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
229#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
230#define GL_CURRENT_PROGRAM 0x8B8D
231#define GL_NEVER 0x0200
232#define GL_LESS 0x0201
233#define GL_EQUAL 0x0202
234#define GL_LEQUAL 0x0203
235#define GL_GREATER 0x0204
236#define GL_NOTEQUAL 0x0205
237#define GL_GEQUAL 0x0206
238#define GL_ALWAYS 0x0207
239#define GL_KEEP 0x1E00
240#define GL_REPLACE 0x1E01
241#define GL_INCR 0x1E02
242#define GL_DECR 0x1E03
243#define GL_INVERT 0x150A
244#define GL_INCR_WRAP 0x8507
245#define GL_DECR_WRAP 0x8508
246#define GL_VENDOR 0x1F00
247#define GL_RENDERER 0x1F01
248#define GL_VERSION 0x1F02
249#define GL_EXTENSIONS 0x1F03
250#define GL_NEAREST 0x2600
251#define GL_LINEAR 0x2601
252#define GL_NEAREST_MIPMAP_NEAREST 0x2700
253#define GL_LINEAR_MIPMAP_NEAREST 0x2701
254#define GL_NEAREST_MIPMAP_LINEAR 0x2702
255#define GL_LINEAR_MIPMAP_LINEAR 0x2703
256#define GL_TEXTURE_MAG_FILTER 0x2800
257#define GL_TEXTURE_MIN_FILTER 0x2801
258#define GL_TEXTURE_WRAP_S 0x2802
259#define GL_TEXTURE_WRAP_T 0x2803
260#define GL_TEXTURE 0x1702
261#define GL_TEXTURE_CUBE_MAP 0x8513
262#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
263#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
264#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
265#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
266#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
267#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
268#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
269#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
270#define GL_TEXTURE0 0x84C0
271#define GL_TEXTURE1 0x84C1
272#define GL_TEXTURE2 0x84C2
273#define GL_TEXTURE3 0x84C3
274#define GL_TEXTURE4 0x84C4
275#define GL_TEXTURE5 0x84C5
276#define GL_TEXTURE6 0x84C6
277#define GL_TEXTURE7 0x84C7
278#define GL_TEXTURE8 0x84C8
279#define GL_TEXTURE9 0x84C9
280#define GL_TEXTURE10 0x84CA
281#define GL_TEXTURE11 0x84CB
282#define GL_TEXTURE12 0x84CC
283#define GL_TEXTURE13 0x84CD
284#define GL_TEXTURE14 0x84CE
285#define GL_TEXTURE15 0x84CF
286#define GL_TEXTURE16 0x84D0
287#define GL_TEXTURE17 0x84D1
288#define GL_TEXTURE18 0x84D2
289#define GL_TEXTURE19 0x84D3
290#define GL_TEXTURE20 0x84D4
291#define GL_TEXTURE21 0x84D5
292#define GL_TEXTURE22 0x84D6
293#define GL_TEXTURE23 0x84D7
294#define GL_TEXTURE24 0x84D8
295#define GL_TEXTURE25 0x84D9
296#define GL_TEXTURE26 0x84DA
297#define GL_TEXTURE27 0x84DB
298#define GL_TEXTURE28 0x84DC
299#define GL_TEXTURE29 0x84DD
300#define GL_TEXTURE30 0x84DE
301#define GL_TEXTURE31 0x84DF
302#define GL_ACTIVE_TEXTURE 0x84E0
303#define GL_REPEAT 0x2901
304#define GL_CLAMP_TO_EDGE 0x812F
305#define GL_MIRRORED_REPEAT 0x8370
306#define GL_FLOAT_VEC2 0x8B50
307#define GL_FLOAT_VEC3 0x8B51
308#define GL_FLOAT_VEC4 0x8B52
309#define GL_INT_VEC2 0x8B53
310#define GL_INT_VEC3 0x8B54
311#define GL_INT_VEC4 0x8B55
312#define GL_BOOL 0x8B56
313#define GL_BOOL_VEC2 0x8B57
314#define GL_BOOL_VEC3 0x8B58
315#define GL_BOOL_VEC4 0x8B59
316#define GL_FLOAT_MAT2 0x8B5A
317#define GL_FLOAT_MAT3 0x8B5B
318#define GL_FLOAT_MAT4 0x8B5C
319#define GL_SAMPLER_2D 0x8B5E
320#define GL_SAMPLER_CUBE 0x8B60
321#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
322#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
323#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
324#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
325#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
326#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
327#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
328#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
329#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
330#define GL_COMPILE_STATUS 0x8B81
331#define GL_INFO_LOG_LENGTH 0x8B84
332#define GL_SHADER_SOURCE_LENGTH 0x8B88
333#define GL_SHADER_COMPILER 0x8DFA
334#define GL_SHADER_BINARY_FORMATS 0x8DF8
335#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
336#define GL_LOW_FLOAT 0x8DF0
337#define GL_MEDIUM_FLOAT 0x8DF1
338#define GL_HIGH_FLOAT 0x8DF2
339#define GL_LOW_INT 0x8DF3
340#define GL_MEDIUM_INT 0x8DF4
341#define GL_HIGH_INT 0x8DF5
342#define GL_FRAMEBUFFER 0x8D40
343#define GL_RENDERBUFFER 0x8D41
344#define GL_RGBA4 0x8056
345#define GL_RGB5_A1 0x8057
346#define GL_RGB565 0x8D62
347#define GL_DEPTH_COMPONENT16 0x81A5
348#define GL_STENCIL_INDEX8 0x8D48
349#define GL_RENDERBUFFER_WIDTH 0x8D42
350#define GL_RENDERBUFFER_HEIGHT 0x8D43
351#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
352#define GL_RENDERBUFFER_RED_SIZE 0x8D50
353#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
354#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
355#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
356#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
357#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
358#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
359#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
360#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
361#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
362#define GL_COLOR_ATTACHMENT0 0x8CE0
363#define GL_DEPTH_ATTACHMENT 0x8D00
364#define GL_STENCIL_ATTACHMENT 0x8D20
365#define GL_NONE 0
366#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
367#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
368#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
369#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
370#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
371#define GL_FRAMEBUFFER_BINDING 0x8CA6
372#define GL_RENDERBUFFER_BINDING 0x8CA7
373#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
374#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
375GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
376GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
377GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
378GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
379GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
380GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
381GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
382GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
383GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
384GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
385GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
386GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
387GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
388GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
389GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
390GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
391GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
392GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
393GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
394GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
395GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
396GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
397GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
398GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
399GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
400GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
401GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
402GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
403GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
404GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
405GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
406GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
407GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
408GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
409GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
410GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
411GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
412GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
413GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
414GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
415GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
416GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
417GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
418GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
419GL_APICALL void GL_APIENTRY glFinish (void);
420GL_APICALL void GL_APIENTRY glFlush (void);
421GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
422GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
423GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
424GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
425GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
426GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
427GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
428GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
429GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
430GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
431GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
432GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
433GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *params);
434GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
435GL_APICALL GLenum GL_APIENTRY glGetError (void);
436GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *params);
437GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
438GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *params);
439GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
440GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
441GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
442GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
443GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
444GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
445GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
446GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
447GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
448GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
449GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
450GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
451GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
452GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
453GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
454GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
455GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
456GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
457GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
458GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
459GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
460GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
461GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
462GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
463GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
464GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
465GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
466GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
467GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
468GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
469GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
470GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
471GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
472GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
473GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
474GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
475GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
476GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
477GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
478GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
479GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
480GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
481GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
482GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
483GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
484GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
485GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
486GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
487GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
488GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
489GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
490GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
491GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
492GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
493GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
494GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
495GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
496GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
497GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
498GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
499GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
500GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
501GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
502GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
503GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
504GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
505GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
506GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
507GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
508GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
509GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
510GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
511GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
512GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
513GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
514GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
515GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
516GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
517#endif /* GL_ES_VERSION_2_0 */
518
519#ifdef __cplusplus
520}
521#endif
522
523#endif
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2ext.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2ext.h
new file mode 100644
index 0000000..36801be
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2ext.h
@@ -0,0 +1,1558 @@
1#ifndef __gl2ext_h_
2#define __gl2ext_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright (c) 2013 The Khronos Group Inc.
10**
11** Permission is hereby granted, free of charge, to any person obtaining a
12** copy of this software and/or associated documentation files (the
13** "Materials"), to deal in the Materials without restriction, including
14** without limitation the rights to use, copy, modify, merge, publish,
15** distribute, sublicense, and/or sell copies of the Materials, and to
16** permit persons to whom the Materials are furnished to do so, subject to
17** the following conditions:
18**
19** The above copyright notice and this permission notice shall be included
20** in all copies or substantial portions of the Materials.
21**
22** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*/
30/*
31** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
34** http://www.opengl.org/registry/
35**
36** Khronos $Revision: 23581 $ on $Date: 2013-10-18 03:28:51 -0700 (Fri, 18 Oct 2013) $
37*/
38
39#ifndef GL_APIENTRYP
40#define GL_APIENTRYP GL_APIENTRY*
41#endif
42
43/* Generated C header for:
44 * API: gles2
45 * Profile: common
46 * Versions considered: 2\.[0-9]
47 * Versions emitted: _nomatch_^
48 * Default extensions included: gles2
49 * Additional extensions included: _nomatch_^
50 * Extensions removed: _nomatch_^
51 */
52
53#ifndef GL_KHR_debug
54#define GL_KHR_debug 1
55typedef void (GL_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
56#define GL_SAMPLER 0x82E6
57#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242
58#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243
59#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244
60#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245
61#define GL_DEBUG_SOURCE_API_KHR 0x8246
62#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247
63#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248
64#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249
65#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A
66#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B
67#define GL_DEBUG_TYPE_ERROR_KHR 0x824C
68#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D
69#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E
70#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F
71#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250
72#define GL_DEBUG_TYPE_OTHER_KHR 0x8251
73#define GL_DEBUG_TYPE_MARKER_KHR 0x8268
74#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269
75#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A
76#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B
77#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C
78#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D
79#define GL_BUFFER_KHR 0x82E0
80#define GL_SHADER_KHR 0x82E1
81#define GL_PROGRAM_KHR 0x82E2
82#define GL_VERTEX_ARRAY_KHR 0x8074
83#define GL_QUERY_KHR 0x82E3
84#define GL_SAMPLER_KHR 0x82E6
85#define GL_MAX_LABEL_LENGTH_KHR 0x82E8
86#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143
87#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144
88#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145
89#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146
90#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147
91#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148
92#define GL_DEBUG_OUTPUT_KHR 0x92E0
93#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002
94#define GL_STACK_OVERFLOW_KHR 0x0503
95#define GL_STACK_UNDERFLOW_KHR 0x0504
96typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
97typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
98typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam);
99typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
100typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message);
101typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void);
102typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
103typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
104typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label);
105typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
106typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params);
107#ifdef GL_GLEXT_PROTOTYPES
108GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled);
109GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf);
110GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam);
111GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog);
112GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message);
113GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void);
114GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label);
115GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label);
116GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label);
117GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label);
118GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params);
119#endif
120#endif /* GL_KHR_debug */
121
122#ifndef GL_KHR_texture_compression_astc_hdr
123#define GL_KHR_texture_compression_astc_hdr 1
124#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0
125#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1
126#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2
127#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3
128#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4
129#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5
130#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6
131#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7
132#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8
133#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9
134#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA
135#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB
136#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC
137#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD
138#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0
139#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1
140#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2
141#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3
142#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4
143#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5
144#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6
145#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7
146#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8
147#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9
148#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA
149#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB
150#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC
151#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD
152#endif /* GL_KHR_texture_compression_astc_hdr */
153
154#ifndef GL_KHR_texture_compression_astc_ldr
155#define GL_KHR_texture_compression_astc_ldr 1
156#endif /* GL_KHR_texture_compression_astc_ldr */
157
158#ifndef GL_OES_EGL_image
159#define GL_OES_EGL_image 1
160typedef void *GLeglImageOES;
161typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image);
162typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image);
163#ifdef GL_GLEXT_PROTOTYPES
164GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image);
165GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image);
166#endif
167#endif /* GL_OES_EGL_image */
168
169#ifndef GL_OES_EGL_image_external
170#define GL_OES_EGL_image_external 1
171#define GL_TEXTURE_EXTERNAL_OES 0x8D65
172#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67
173#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68
174#define GL_SAMPLER_EXTERNAL_OES 0x8D66
175#endif /* GL_OES_EGL_image_external */
176
177#ifndef GL_OES_compressed_ETC1_RGB8_texture
178#define GL_OES_compressed_ETC1_RGB8_texture 1
179#define GL_ETC1_RGB8_OES 0x8D64
180#endif /* GL_OES_compressed_ETC1_RGB8_texture */
181
182#ifndef GL_OES_compressed_paletted_texture
183#define GL_OES_compressed_paletted_texture 1
184#define GL_PALETTE4_RGB8_OES 0x8B90
185#define GL_PALETTE4_RGBA8_OES 0x8B91
186#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
187#define GL_PALETTE4_RGBA4_OES 0x8B93
188#define GL_PALETTE4_RGB5_A1_OES 0x8B94
189#define GL_PALETTE8_RGB8_OES 0x8B95
190#define GL_PALETTE8_RGBA8_OES 0x8B96
191#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
192#define GL_PALETTE8_RGBA4_OES 0x8B98
193#define GL_PALETTE8_RGB5_A1_OES 0x8B99
194#endif /* GL_OES_compressed_paletted_texture */
195
196#ifndef GL_OES_depth24
197#define GL_OES_depth24 1
198#define GL_DEPTH_COMPONENT24_OES 0x81A6
199#endif /* GL_OES_depth24 */
200
201#ifndef GL_OES_depth32
202#define GL_OES_depth32 1
203#define GL_DEPTH_COMPONENT32_OES 0x81A7
204#endif /* GL_OES_depth32 */
205
206#ifndef GL_OES_depth_texture
207#define GL_OES_depth_texture 1
208#endif /* GL_OES_depth_texture */
209
210#ifndef GL_OES_element_index_uint
211#define GL_OES_element_index_uint 1
212#endif /* GL_OES_element_index_uint */
213
214#ifndef GL_OES_fbo_render_mipmap
215#define GL_OES_fbo_render_mipmap 1
216#endif /* GL_OES_fbo_render_mipmap */
217
218#ifndef GL_OES_fragment_precision_high
219#define GL_OES_fragment_precision_high 1
220#endif /* GL_OES_fragment_precision_high */
221
222#ifndef GL_OES_get_program_binary
223#define GL_OES_get_program_binary 1
224#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
225#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE
226#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF
227typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
228typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
229#ifdef GL_GLEXT_PROTOTYPES
230GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
231GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length);
232#endif
233#endif /* GL_OES_get_program_binary */
234
235#ifndef GL_OES_mapbuffer
236#define GL_OES_mapbuffer 1
237#define GL_WRITE_ONLY_OES 0x88B9
238#define GL_BUFFER_ACCESS_OES 0x88BB
239#define GL_BUFFER_MAPPED_OES 0x88BC
240#define GL_BUFFER_MAP_POINTER_OES 0x88BD
241typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access);
242typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target);
243typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params);
244#ifdef GL_GLEXT_PROTOTYPES
245GL_APICALL void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access);
246GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target);
247GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params);
248#endif
249#endif /* GL_OES_mapbuffer */
250
251#ifndef GL_OES_packed_depth_stencil
252#define GL_OES_packed_depth_stencil 1
253#define GL_DEPTH_STENCIL_OES 0x84F9
254#define GL_UNSIGNED_INT_24_8_OES 0x84FA
255#define GL_DEPTH24_STENCIL8_OES 0x88F0
256#endif /* GL_OES_packed_depth_stencil */
257
258#ifndef GL_OES_required_internalformat
259#define GL_OES_required_internalformat 1
260#define GL_ALPHA8_OES 0x803C
261#define GL_DEPTH_COMPONENT16_OES 0x81A5
262#define GL_LUMINANCE4_ALPHA4_OES 0x8043
263#define GL_LUMINANCE8_ALPHA8_OES 0x8045
264#define GL_LUMINANCE8_OES 0x8040
265#define GL_RGBA4_OES 0x8056
266#define GL_RGB5_A1_OES 0x8057
267#define GL_RGB565_OES 0x8D62
268#define GL_RGB8_OES 0x8051
269#define GL_RGBA8_OES 0x8058
270#define GL_RGB10_EXT 0x8052
271#define GL_RGB10_A2_EXT 0x8059
272#endif /* GL_OES_required_internalformat */
273
274#ifndef GL_OES_rgb8_rgba8
275#define GL_OES_rgb8_rgba8 1
276#endif /* GL_OES_rgb8_rgba8 */
277
278#ifndef GL_OES_standard_derivatives
279#define GL_OES_standard_derivatives 1
280#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B
281#endif /* GL_OES_standard_derivatives */
282
283#ifndef GL_OES_stencil1
284#define GL_OES_stencil1 1
285#define GL_STENCIL_INDEX1_OES 0x8D46
286#endif /* GL_OES_stencil1 */
287
288#ifndef GL_OES_stencil4
289#define GL_OES_stencil4 1
290#define GL_STENCIL_INDEX4_OES 0x8D47
291#endif /* GL_OES_stencil4 */
292
293#ifndef GL_OES_surfaceless_context
294#define GL_OES_surfaceless_context 1
295#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219
296#endif /* GL_OES_surfaceless_context */
297
298#ifndef GL_OES_texture_3D
299#define GL_OES_texture_3D 1
300#define GL_TEXTURE_WRAP_R_OES 0x8072
301#define GL_TEXTURE_3D_OES 0x806F
302#define GL_TEXTURE_BINDING_3D_OES 0x806A
303#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073
304#define GL_SAMPLER_3D_OES 0x8B5F
305#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4
306typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
307typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
308typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
309typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
310typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
311typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
312#ifdef GL_GLEXT_PROTOTYPES
313GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
314GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
315GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
316GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
317GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
318GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
319#endif
320#endif /* GL_OES_texture_3D */
321
322#ifndef GL_OES_texture_compression_astc
323#define GL_OES_texture_compression_astc 1
324#endif /* GL_OES_texture_compression_astc */
325
326#ifndef GL_OES_texture_float
327#define GL_OES_texture_float 1
328#endif /* GL_OES_texture_float */
329
330#ifndef GL_OES_texture_float_linear
331#define GL_OES_texture_float_linear 1
332#endif /* GL_OES_texture_float_linear */
333
334#ifndef GL_OES_texture_half_float
335#define GL_OES_texture_half_float 1
336#define GL_HALF_FLOAT_OES 0x8D61
337#endif /* GL_OES_texture_half_float */
338
339#ifndef GL_OES_texture_half_float_linear
340#define GL_OES_texture_half_float_linear 1
341#endif /* GL_OES_texture_half_float_linear */
342
343#ifndef GL_OES_texture_npot
344#define GL_OES_texture_npot 1
345#endif /* GL_OES_texture_npot */
346
347#ifndef GL_OES_vertex_array_object
348#define GL_OES_vertex_array_object 1
349#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5
350typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array);
351typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays);
352typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays);
353typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array);
354#ifdef GL_GLEXT_PROTOTYPES
355GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array);
356GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays);
357GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays);
358GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array);
359#endif
360#endif /* GL_OES_vertex_array_object */
361
362#ifndef GL_OES_vertex_half_float
363#define GL_OES_vertex_half_float 1
364#endif /* GL_OES_vertex_half_float */
365
366#ifndef GL_OES_vertex_type_10_10_10_2
367#define GL_OES_vertex_type_10_10_10_2 1
368#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6
369#define GL_INT_10_10_10_2_OES 0x8DF7
370#endif /* GL_OES_vertex_type_10_10_10_2 */
371
372#ifndef GL_AMD_compressed_3DC_texture
373#define GL_AMD_compressed_3DC_texture 1
374#define GL_3DC_X_AMD 0x87F9
375#define GL_3DC_XY_AMD 0x87FA
376#endif /* GL_AMD_compressed_3DC_texture */
377
378#ifndef GL_AMD_compressed_ATC_texture
379#define GL_AMD_compressed_ATC_texture 1
380#define GL_ATC_RGB_AMD 0x8C92
381#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93
382#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE
383#endif /* GL_AMD_compressed_ATC_texture */
384
385#ifndef GL_AMD_performance_monitor
386#define GL_AMD_performance_monitor 1
387#define GL_COUNTER_TYPE_AMD 0x8BC0
388#define GL_COUNTER_RANGE_AMD 0x8BC1
389#define GL_UNSIGNED_INT64_AMD 0x8BC2
390#define GL_PERCENTAGE_AMD 0x8BC3
391#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4
392#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5
393#define GL_PERFMON_RESULT_AMD 0x8BC6
394typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
395typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
396typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
397typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
398typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data);
399typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
400typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors);
401typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
402typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor);
403typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor);
404typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
405#ifdef GL_GLEXT_PROTOTYPES
406GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups);
407GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters);
408GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString);
409GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString);
410GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data);
411GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors);
412GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors);
413GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList);
414GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor);
415GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor);
416GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten);
417#endif
418#endif /* GL_AMD_performance_monitor */
419
420#ifndef GL_AMD_program_binary_Z400
421#define GL_AMD_program_binary_Z400 1
422#define GL_Z400_BINARY_AMD 0x8740
423#endif /* GL_AMD_program_binary_Z400 */
424
425#ifndef GL_ANGLE_depth_texture
426#define GL_ANGLE_depth_texture 1
427#endif /* GL_ANGLE_depth_texture */
428
429#ifndef GL_ANGLE_framebuffer_blit
430#define GL_ANGLE_framebuffer_blit 1
431#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8
432#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9
433#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6
434#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA
435typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
436#ifdef GL_GLEXT_PROTOTYPES
437GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
438#endif
439#endif /* GL_ANGLE_framebuffer_blit */
440
441#ifndef GL_ANGLE_framebuffer_multisample
442#define GL_ANGLE_framebuffer_multisample 1
443#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB
444#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56
445#define GL_MAX_SAMPLES_ANGLE 0x8D57
446typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
447#ifdef GL_GLEXT_PROTOTYPES
448GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
449#endif
450#endif /* GL_ANGLE_framebuffer_multisample */
451
452#ifndef GL_ANGLE_instanced_arrays
453#define GL_ANGLE_instanced_arrays 1
454#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE
455typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
456typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
457typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor);
458#ifdef GL_GLEXT_PROTOTYPES
459GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
460GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
461GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor);
462#endif
463#endif /* GL_ANGLE_instanced_arrays */
464
465#ifndef GL_ANGLE_pack_reverse_row_order
466#define GL_ANGLE_pack_reverse_row_order 1
467#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4
468#endif /* GL_ANGLE_pack_reverse_row_order */
469
470#ifndef GL_ANGLE_program_binary
471#define GL_ANGLE_program_binary 1
472#define GL_PROGRAM_BINARY_ANGLE 0x93A6
473#endif /* GL_ANGLE_program_binary */
474
475#ifndef GL_ANGLE_texture_compression_dxt3
476#define GL_ANGLE_texture_compression_dxt3 1
477#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2
478#endif /* GL_ANGLE_texture_compression_dxt3 */
479
480#ifndef GL_ANGLE_texture_compression_dxt5
481#define GL_ANGLE_texture_compression_dxt5 1
482#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3
483#endif /* GL_ANGLE_texture_compression_dxt5 */
484
485#ifndef GL_ANGLE_texture_usage
486#define GL_ANGLE_texture_usage 1
487#define GL_TEXTURE_USAGE_ANGLE 0x93A2
488#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3
489#endif /* GL_ANGLE_texture_usage */
490
491#ifndef GL_ANGLE_translated_shader_source
492#define GL_ANGLE_translated_shader_source 1
493#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
494typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
495#ifdef GL_GLEXT_PROTOTYPES
496GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source);
497#endif
498#endif /* GL_ANGLE_translated_shader_source */
499
500#ifndef GL_APPLE_copy_texture_levels
501#define GL_APPLE_copy_texture_levels 1
502typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
503#ifdef GL_GLEXT_PROTOTYPES
504GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount);
505#endif
506#endif /* GL_APPLE_copy_texture_levels */
507
508#ifndef GL_APPLE_framebuffer_multisample
509#define GL_APPLE_framebuffer_multisample 1
510#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB
511#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56
512#define GL_MAX_SAMPLES_APPLE 0x8D57
513#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8
514#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9
515#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6
516#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA
517typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
518typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void);
519#ifdef GL_GLEXT_PROTOTYPES
520GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
521GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void);
522#endif
523#endif /* GL_APPLE_framebuffer_multisample */
524
525#ifndef GL_APPLE_rgb_422
526#define GL_APPLE_rgb_422 1
527#define GL_RGB_422_APPLE 0x8A1F
528#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA
529#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB
530#define GL_RGB_RAW_422_APPLE 0x8A51
531#endif /* GL_APPLE_rgb_422 */
532
533#ifndef GL_APPLE_sync
534#define GL_APPLE_sync 1
535#define GL_SYNC_OBJECT_APPLE 0x8A53
536#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111
537#define GL_OBJECT_TYPE_APPLE 0x9112
538#define GL_SYNC_CONDITION_APPLE 0x9113
539#define GL_SYNC_STATUS_APPLE 0x9114
540#define GL_SYNC_FLAGS_APPLE 0x9115
541#define GL_SYNC_FENCE_APPLE 0x9116
542#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117
543#define GL_UNSIGNALED_APPLE 0x9118
544#define GL_SIGNALED_APPLE 0x9119
545#define GL_ALREADY_SIGNALED_APPLE 0x911A
546#define GL_TIMEOUT_EXPIRED_APPLE 0x911B
547#define GL_CONDITION_SATISFIED_APPLE 0x911C
548#define GL_WAIT_FAILED_APPLE 0x911D
549#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001
550#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull
551typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags);
552typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync);
553typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync);
554typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
555typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout);
556typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params);
557typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
558#ifdef GL_GLEXT_PROTOTYPES
559GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags);
560GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync);
561GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync);
562GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
563GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout);
564GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params);
565GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
566#endif
567#endif /* GL_APPLE_sync */
568
569#ifndef GL_APPLE_texture_format_BGRA8888
570#define GL_APPLE_texture_format_BGRA8888 1
571#define GL_BGRA_EXT 0x80E1
572#define GL_BGRA8_EXT 0x93A1
573#endif /* GL_APPLE_texture_format_BGRA8888 */
574
575#ifndef GL_APPLE_texture_max_level
576#define GL_APPLE_texture_max_level 1
577#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D
578#endif /* GL_APPLE_texture_max_level */
579
580#ifndef GL_ARM_mali_program_binary
581#define GL_ARM_mali_program_binary 1
582#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61
583#endif /* GL_ARM_mali_program_binary */
584
585#ifndef GL_ARM_mali_shader_binary
586#define GL_ARM_mali_shader_binary 1
587#define GL_MALI_SHADER_BINARY_ARM 0x8F60
588#endif /* GL_ARM_mali_shader_binary */
589
590#ifndef GL_ARM_rgba8
591#define GL_ARM_rgba8 1
592#endif /* GL_ARM_rgba8 */
593
594#ifndef GL_DMP_shader_binary
595#define GL_DMP_shader_binary 1
596#define GL_SHADER_BINARY_DMP 0x9250
597#endif /* GL_DMP_shader_binary */
598
599#ifndef GL_EXT_blend_minmax
600#define GL_EXT_blend_minmax 1
601#define GL_MIN_EXT 0x8007
602#define GL_MAX_EXT 0x8008
603#endif /* GL_EXT_blend_minmax */
604
605#ifndef GL_EXT_color_buffer_half_float
606#define GL_EXT_color_buffer_half_float 1
607#define GL_RGBA16F_EXT 0x881A
608#define GL_RGB16F_EXT 0x881B
609#define GL_RG16F_EXT 0x822F
610#define GL_R16F_EXT 0x822D
611#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211
612#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17
613#endif /* GL_EXT_color_buffer_half_float */
614
615#ifndef GL_EXT_debug_label
616#define GL_EXT_debug_label 1
617#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F
618#define GL_PROGRAM_OBJECT_EXT 0x8B40
619#define GL_SHADER_OBJECT_EXT 0x8B48
620#define GL_BUFFER_OBJECT_EXT 0x9151
621#define GL_QUERY_OBJECT_EXT 0x9153
622#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154
623#define GL_TRANSFORM_FEEDBACK 0x8E22
624typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label);
625typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
626#ifdef GL_GLEXT_PROTOTYPES
627GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label);
628GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label);
629#endif
630#endif /* GL_EXT_debug_label */
631
632#ifndef GL_EXT_debug_marker
633#define GL_EXT_debug_marker 1
634typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker);
635typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker);
636typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void);
637#ifdef GL_GLEXT_PROTOTYPES
638GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker);
639GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker);
640GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void);
641#endif
642#endif /* GL_EXT_debug_marker */
643
644#ifndef GL_EXT_discard_framebuffer
645#define GL_EXT_discard_framebuffer 1
646#define GL_COLOR_EXT 0x1800
647#define GL_DEPTH_EXT 0x1801
648#define GL_STENCIL_EXT 0x1802
649typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments);
650#ifdef GL_GLEXT_PROTOTYPES
651GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments);
652#endif
653#endif /* GL_EXT_discard_framebuffer */
654
655#ifndef GL_EXT_disjoint_timer_query
656#define GL_EXT_disjoint_timer_query 1
657#define GL_QUERY_COUNTER_BITS_EXT 0x8864
658#define GL_CURRENT_QUERY_EXT 0x8865
659#define GL_QUERY_RESULT_EXT 0x8866
660#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867
661#define GL_TIME_ELAPSED_EXT 0x88BF
662#define GL_TIMESTAMP_EXT 0x8E28
663#define GL_GPU_DISJOINT_EXT 0x8FBB
664typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids);
665typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids);
666typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id);
667typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id);
668typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target);
669typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target);
670typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
671typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params);
672typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params);
673typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params);
674typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params);
675#ifdef GL_GLEXT_PROTOTYPES
676GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids);
677GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids);
678GL_APICALL GLboolean GL_APIENTRY glIsQueryEXT (GLuint id);
679GL_APICALL void GL_APIENTRY glBeginQueryEXT (GLenum target, GLuint id);
680GL_APICALL void GL_APIENTRY glEndQueryEXT (GLenum target);
681GL_APICALL void GL_APIENTRY glQueryCounterEXT (GLuint id, GLenum target);
682GL_APICALL void GL_APIENTRY glGetQueryivEXT (GLenum target, GLenum pname, GLint *params);
683GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLint *params);
684GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params);
685GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params);
686GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params);
687#endif
688#endif /* GL_EXT_disjoint_timer_query */
689
690#ifndef GL_EXT_draw_buffers
691#define GL_EXT_draw_buffers 1
692#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
693#define GL_MAX_DRAW_BUFFERS_EXT 0x8824
694#define GL_DRAW_BUFFER0_EXT 0x8825
695#define GL_DRAW_BUFFER1_EXT 0x8826
696#define GL_DRAW_BUFFER2_EXT 0x8827
697#define GL_DRAW_BUFFER3_EXT 0x8828
698#define GL_DRAW_BUFFER4_EXT 0x8829
699#define GL_DRAW_BUFFER5_EXT 0x882A
700#define GL_DRAW_BUFFER6_EXT 0x882B
701#define GL_DRAW_BUFFER7_EXT 0x882C
702#define GL_DRAW_BUFFER8_EXT 0x882D
703#define GL_DRAW_BUFFER9_EXT 0x882E
704#define GL_DRAW_BUFFER10_EXT 0x882F
705#define GL_DRAW_BUFFER11_EXT 0x8830
706#define GL_DRAW_BUFFER12_EXT 0x8831
707#define GL_DRAW_BUFFER13_EXT 0x8832
708#define GL_DRAW_BUFFER14_EXT 0x8833
709#define GL_DRAW_BUFFER15_EXT 0x8834
710#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
711#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
712#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
713#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
714#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
715#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
716#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
717#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
718#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
719#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
720#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
721#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
722#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
723#define GL_COLOR_ATTACHMENT13_EXT 0x8CED
724#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
725#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
726typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs);
727#ifdef GL_GLEXT_PROTOTYPES
728GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs);
729#endif
730#endif /* GL_EXT_draw_buffers */
731
732#ifndef GL_EXT_draw_instanced
733#define GL_EXT_draw_instanced 1
734typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
735typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
736#ifdef GL_GLEXT_PROTOTYPES
737GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount);
738GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
739#endif
740#endif /* GL_EXT_draw_instanced */
741
742#ifndef GL_EXT_instanced_arrays
743#define GL_EXT_instanced_arrays 1
744#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE
745typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor);
746#ifdef GL_GLEXT_PROTOTYPES
747GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT (GLuint index, GLuint divisor);
748#endif
749#endif /* GL_EXT_instanced_arrays */
750
751#ifndef GL_EXT_map_buffer_range
752#define GL_EXT_map_buffer_range 1
753#define GL_MAP_READ_BIT_EXT 0x0001
754#define GL_MAP_WRITE_BIT_EXT 0x0002
755#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004
756#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008
757#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010
758#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020
759typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
760typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length);
761#ifdef GL_GLEXT_PROTOTYPES
762GL_APICALL void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
763GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length);
764#endif
765#endif /* GL_EXT_map_buffer_range */
766
767#ifndef GL_EXT_multi_draw_arrays
768#define GL_EXT_multi_draw_arrays 1
769typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
770typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
771#ifdef GL_GLEXT_PROTOTYPES
772GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
773GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount);
774#endif
775#endif /* GL_EXT_multi_draw_arrays */
776
777#ifndef GL_EXT_multisampled_render_to_texture
778#define GL_EXT_multisampled_render_to_texture 1
779#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C
780#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB
781#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
782#define GL_MAX_SAMPLES_EXT 0x8D57
783typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
784typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
785#ifdef GL_GLEXT_PROTOTYPES
786GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
787GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
788#endif
789#endif /* GL_EXT_multisampled_render_to_texture */
790
791#ifndef GL_EXT_multiview_draw_buffers
792#define GL_EXT_multiview_draw_buffers 1
793#define GL_COLOR_ATTACHMENT_EXT 0x90F0
794#define GL_MULTIVIEW_EXT 0x90F1
795#define GL_DRAW_BUFFER_EXT 0x0C01
796#define GL_READ_BUFFER_EXT 0x0C02
797#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2
798typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index);
799typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices);
800typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data);
801#ifdef GL_GLEXT_PROTOTYPES
802GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index);
803GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices);
804GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data);
805#endif
806#endif /* GL_EXT_multiview_draw_buffers */
807
808#ifndef GL_EXT_occlusion_query_boolean
809#define GL_EXT_occlusion_query_boolean 1
810#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F
811#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A
812#endif /* GL_EXT_occlusion_query_boolean */
813
814#ifndef GL_EXT_pvrtc_sRGB
815#define GL_EXT_pvrtc_sRGB 1
816#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54
817#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55
818#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56
819#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57
820#endif /* GL_EXT_pvrtc_sRGB */
821
822#ifndef GL_EXT_read_format_bgra
823#define GL_EXT_read_format_bgra 1
824#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365
825#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366
826#endif /* GL_EXT_read_format_bgra */
827
828#ifndef GL_EXT_robustness
829#define GL_EXT_robustness 1
830#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253
831#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254
832#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255
833#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3
834#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256
835#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252
836#define GL_NO_RESET_NOTIFICATION_EXT 0x8261
837typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void);
838typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
839typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
840typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params);
841#ifdef GL_GLEXT_PROTOTYPES
842GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void);
843GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data);
844GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params);
845GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params);
846#endif
847#endif /* GL_EXT_robustness */
848
849#ifndef GL_EXT_sRGB
850#define GL_EXT_sRGB 1
851#define GL_SRGB_EXT 0x8C40
852#define GL_SRGB_ALPHA_EXT 0x8C42
853#define GL_SRGB8_ALPHA8_EXT 0x8C43
854#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210
855#endif /* GL_EXT_sRGB */
856
857#ifndef GL_EXT_sRGB_write_control
858#define GL_EXT_sRGB_write_control 1
859#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9
860#endif /* GL_EXT_sRGB_write_control */
861
862#ifndef GL_EXT_separate_shader_objects
863#define GL_EXT_separate_shader_objects 1
864#define GL_ACTIVE_PROGRAM_EXT 0x8259
865#define GL_VERTEX_SHADER_BIT_EXT 0x00000001
866#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002
867#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF
868#define GL_PROGRAM_SEPARABLE_EXT 0x8258
869#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A
870typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program);
871typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
872typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings);
873typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines);
874typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines);
875typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
876typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params);
877typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
878typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value);
879typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0);
880typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
881typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0);
882typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
883typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1);
884typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
885typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1);
886typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
887typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
888typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
889typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
890typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
891typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
892typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value);
893typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
894typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value);
895typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
896typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
897typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
898typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program);
899typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline);
900typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0);
901typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1);
902typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
903typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
904typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
905typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
906typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
907typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value);
908typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
909typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
910typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
911typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
912typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
913typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
914#ifdef GL_GLEXT_PROTOTYPES
915GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program);
916GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline);
917GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings);
918GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines);
919GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines);
920GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
921GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params);
922GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline);
923GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value);
924GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0);
925GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
926GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0);
927GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
928GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1);
929GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
930GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1);
931GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
932GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
933GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
934GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
935GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
936GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
937GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value);
938GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
939GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value);
940GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
941GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
942GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
943GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program);
944GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline);
945GL_APICALL void GL_APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0);
946GL_APICALL void GL_APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1);
947GL_APICALL void GL_APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
948GL_APICALL void GL_APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
949GL_APICALL void GL_APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
950GL_APICALL void GL_APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
951GL_APICALL void GL_APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
952GL_APICALL void GL_APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value);
953GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
954GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
955GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
956GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
957GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
958GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
959#endif
960#endif /* GL_EXT_separate_shader_objects */
961
962#ifndef GL_EXT_shader_framebuffer_fetch
963#define GL_EXT_shader_framebuffer_fetch 1
964#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52
965#endif /* GL_EXT_shader_framebuffer_fetch */
966
967#ifndef GL_EXT_shader_integer_mix
968#define GL_EXT_shader_integer_mix 1
969#endif /* GL_EXT_shader_integer_mix */
970
971#ifndef GL_EXT_shader_texture_lod
972#define GL_EXT_shader_texture_lod 1
973#endif /* GL_EXT_shader_texture_lod */
974
975#ifndef GL_EXT_shadow_samplers
976#define GL_EXT_shadow_samplers 1
977#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C
978#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D
979#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E
980#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62
981#endif /* GL_EXT_shadow_samplers */
982
983#ifndef GL_EXT_texture_compression_dxt1
984#define GL_EXT_texture_compression_dxt1 1
985#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0
986#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1
987#endif /* GL_EXT_texture_compression_dxt1 */
988
989#ifndef GL_EXT_texture_compression_s3tc
990#define GL_EXT_texture_compression_s3tc 1
991#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2
992#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3
993#endif /* GL_EXT_texture_compression_s3tc */
994
995#ifndef GL_EXT_texture_filter_anisotropic
996#define GL_EXT_texture_filter_anisotropic 1
997#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
998#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
999#endif /* GL_EXT_texture_filter_anisotropic */
1000
1001#ifndef GL_EXT_texture_format_BGRA8888
1002#define GL_EXT_texture_format_BGRA8888 1
1003#endif /* GL_EXT_texture_format_BGRA8888 */
1004
1005#ifndef GL_EXT_texture_rg
1006#define GL_EXT_texture_rg 1
1007#define GL_RED_EXT 0x1903
1008#define GL_RG_EXT 0x8227
1009#define GL_R8_EXT 0x8229
1010#define GL_RG8_EXT 0x822B
1011#endif /* GL_EXT_texture_rg */
1012
1013#ifndef GL_EXT_texture_sRGB_decode
1014#define GL_EXT_texture_sRGB_decode 1
1015#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48
1016#define GL_DECODE_EXT 0x8A49
1017#define GL_SKIP_DECODE_EXT 0x8A4A
1018#endif /* GL_EXT_texture_sRGB_decode */
1019
1020#ifndef GL_EXT_texture_storage
1021#define GL_EXT_texture_storage 1
1022#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F
1023#define GL_ALPHA8_EXT 0x803C
1024#define GL_LUMINANCE8_EXT 0x8040
1025#define GL_LUMINANCE8_ALPHA8_EXT 0x8045
1026#define GL_RGBA32F_EXT 0x8814
1027#define GL_RGB32F_EXT 0x8815
1028#define GL_ALPHA32F_EXT 0x8816
1029#define GL_LUMINANCE32F_EXT 0x8818
1030#define GL_LUMINANCE_ALPHA32F_EXT 0x8819
1031#define GL_ALPHA16F_EXT 0x881C
1032#define GL_LUMINANCE16F_EXT 0x881E
1033#define GL_LUMINANCE_ALPHA16F_EXT 0x881F
1034#define GL_R32F_EXT 0x822E
1035#define GL_RG32F_EXT 0x8230
1036typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1037typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1038typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1039typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1040typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1041typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1042#ifdef GL_GLEXT_PROTOTYPES
1043GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1044GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1045GL_APICALL void GL_APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1046GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width);
1047GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
1048GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
1049#endif
1050#endif /* GL_EXT_texture_storage */
1051
1052#ifndef GL_EXT_texture_type_2_10_10_10_REV
1053#define GL_EXT_texture_type_2_10_10_10_REV 1
1054#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
1055#endif /* GL_EXT_texture_type_2_10_10_10_REV */
1056
1057#ifndef GL_EXT_unpack_subimage
1058#define GL_EXT_unpack_subimage 1
1059#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2
1060#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3
1061#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4
1062#endif /* GL_EXT_unpack_subimage */
1063
1064#ifndef GL_FJ_shader_binary_GCCSO
1065#define GL_FJ_shader_binary_GCCSO 1
1066#define GL_GCCSO_SHADER_BINARY_FJ 0x9260
1067#endif /* GL_FJ_shader_binary_GCCSO */
1068
1069#ifndef GL_IMG_multisampled_render_to_texture
1070#define GL_IMG_multisampled_render_to_texture 1
1071#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133
1072#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134
1073#define GL_MAX_SAMPLES_IMG 0x9135
1074#define GL_TEXTURE_SAMPLES_IMG 0x9136
1075typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1076typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1077#ifdef GL_GLEXT_PROTOTYPES
1078GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1079GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples);
1080#endif
1081#endif /* GL_IMG_multisampled_render_to_texture */
1082
1083#ifndef GL_IMG_program_binary
1084#define GL_IMG_program_binary 1
1085#define GL_SGX_PROGRAM_BINARY_IMG 0x9130
1086#endif /* GL_IMG_program_binary */
1087
1088#ifndef GL_IMG_read_format
1089#define GL_IMG_read_format 1
1090#define GL_BGRA_IMG 0x80E1
1091#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365
1092#endif /* GL_IMG_read_format */
1093
1094#ifndef GL_IMG_shader_binary
1095#define GL_IMG_shader_binary 1
1096#define GL_SGX_BINARY_IMG 0x8C0A
1097#endif /* GL_IMG_shader_binary */
1098
1099#ifndef GL_IMG_texture_compression_pvrtc
1100#define GL_IMG_texture_compression_pvrtc 1
1101#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
1102#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
1103#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
1104#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
1105#endif /* GL_IMG_texture_compression_pvrtc */
1106
1107#ifndef GL_IMG_texture_compression_pvrtc2
1108#define GL_IMG_texture_compression_pvrtc2 1
1109#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
1110#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
1111#endif /* GL_IMG_texture_compression_pvrtc2 */
1112
1113#ifndef GL_NV_blend_equation_advanced
1114#define GL_NV_blend_equation_advanced 1
1115#define GL_BLUE_NV 0x1905
1116#define GL_GREEN_NV 0x1904
1117#define GL_RED_NV 0x1903
1118#define GL_XOR_NV 0x1506
1119#define GL_BLEND_OVERLAP_NV 0x9281
1120#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280
1121#define GL_COLORBURN_NV 0x929A
1122#define GL_COLORDODGE_NV 0x9299
1123#define GL_CONJOINT_NV 0x9284
1124#define GL_CONTRAST_NV 0x92A1
1125#define GL_DARKEN_NV 0x9297
1126#define GL_DIFFERENCE_NV 0x929E
1127#define GL_DISJOINT_NV 0x9283
1128#define GL_DST_ATOP_NV 0x928F
1129#define GL_DST_IN_NV 0x928B
1130#define GL_DST_NV 0x9287
1131#define GL_DST_OUT_NV 0x928D
1132#define GL_DST_OVER_NV 0x9289
1133#define GL_EXCLUSION_NV 0x92A0
1134#define GL_HARDLIGHT_NV 0x929B
1135#define GL_HARDMIX_NV 0x92A9
1136#define GL_HSL_COLOR_NV 0x92AF
1137#define GL_HSL_HUE_NV 0x92AD
1138#define GL_HSL_LUMINOSITY_NV 0x92B0
1139#define GL_HSL_SATURATION_NV 0x92AE
1140#define GL_INVERT_OVG_NV 0x92B4
1141#define GL_INVERT_RGB_NV 0x92A3
1142#define GL_LIGHTEN_NV 0x9298
1143#define GL_LINEARBURN_NV 0x92A5
1144#define GL_LINEARDODGE_NV 0x92A4
1145#define GL_LINEARLIGHT_NV 0x92A7
1146#define GL_MINUS_CLAMPED_NV 0x92B3
1147#define GL_MINUS_NV 0x929F
1148#define GL_MULTIPLY_NV 0x9294
1149#define GL_OVERLAY_NV 0x9296
1150#define GL_PINLIGHT_NV 0x92A8
1151#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2
1152#define GL_PLUS_CLAMPED_NV 0x92B1
1153#define GL_PLUS_DARKER_NV 0x9292
1154#define GL_PLUS_NV 0x9291
1155#define GL_SCREEN_NV 0x9295
1156#define GL_SOFTLIGHT_NV 0x929C
1157#define GL_SRC_ATOP_NV 0x928E
1158#define GL_SRC_IN_NV 0x928A
1159#define GL_SRC_NV 0x9286
1160#define GL_SRC_OUT_NV 0x928C
1161#define GL_SRC_OVER_NV 0x9288
1162#define GL_UNCORRELATED_NV 0x9282
1163#define GL_VIVIDLIGHT_NV 0x92A6
1164typedef void (GL_APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value);
1165typedef void (GL_APIENTRYP PFNGLBLENDBARRIERNVPROC) (void);
1166#ifdef GL_GLEXT_PROTOTYPES
1167GL_APICALL void GL_APIENTRY glBlendParameteriNV (GLenum pname, GLint value);
1168GL_APICALL void GL_APIENTRY glBlendBarrierNV (void);
1169#endif
1170#endif /* GL_NV_blend_equation_advanced */
1171
1172#ifndef GL_NV_blend_equation_advanced_coherent
1173#define GL_NV_blend_equation_advanced_coherent 1
1174#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285
1175#endif /* GL_NV_blend_equation_advanced_coherent */
1176
1177#ifndef GL_NV_copy_buffer
1178#define GL_NV_copy_buffer 1
1179#define GL_COPY_READ_BUFFER_NV 0x8F36
1180#define GL_COPY_WRITE_BUFFER_NV 0x8F37
1181typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1182#ifdef GL_GLEXT_PROTOTYPES
1183GL_APICALL void GL_APIENTRY glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
1184#endif
1185#endif /* GL_NV_copy_buffer */
1186
1187#ifndef GL_NV_coverage_sample
1188#define GL_NV_coverage_sample 1
1189#define GL_COVERAGE_COMPONENT_NV 0x8ED0
1190#define GL_COVERAGE_COMPONENT4_NV 0x8ED1
1191#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2
1192#define GL_COVERAGE_BUFFERS_NV 0x8ED3
1193#define GL_COVERAGE_SAMPLES_NV 0x8ED4
1194#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5
1195#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6
1196#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7
1197#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000
1198typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask);
1199typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation);
1200#ifdef GL_GLEXT_PROTOTYPES
1201GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask);
1202GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation);
1203#endif
1204#endif /* GL_NV_coverage_sample */
1205
1206#ifndef GL_NV_depth_nonlinear
1207#define GL_NV_depth_nonlinear 1
1208#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C
1209#endif /* GL_NV_depth_nonlinear */
1210
1211#ifndef GL_NV_draw_buffers
1212#define GL_NV_draw_buffers 1
1213#define GL_MAX_DRAW_BUFFERS_NV 0x8824
1214#define GL_DRAW_BUFFER0_NV 0x8825
1215#define GL_DRAW_BUFFER1_NV 0x8826
1216#define GL_DRAW_BUFFER2_NV 0x8827
1217#define GL_DRAW_BUFFER3_NV 0x8828
1218#define GL_DRAW_BUFFER4_NV 0x8829
1219#define GL_DRAW_BUFFER5_NV 0x882A
1220#define GL_DRAW_BUFFER6_NV 0x882B
1221#define GL_DRAW_BUFFER7_NV 0x882C
1222#define GL_DRAW_BUFFER8_NV 0x882D
1223#define GL_DRAW_BUFFER9_NV 0x882E
1224#define GL_DRAW_BUFFER10_NV 0x882F
1225#define GL_DRAW_BUFFER11_NV 0x8830
1226#define GL_DRAW_BUFFER12_NV 0x8831
1227#define GL_DRAW_BUFFER13_NV 0x8832
1228#define GL_DRAW_BUFFER14_NV 0x8833
1229#define GL_DRAW_BUFFER15_NV 0x8834
1230#define GL_COLOR_ATTACHMENT0_NV 0x8CE0
1231#define GL_COLOR_ATTACHMENT1_NV 0x8CE1
1232#define GL_COLOR_ATTACHMENT2_NV 0x8CE2
1233#define GL_COLOR_ATTACHMENT3_NV 0x8CE3
1234#define GL_COLOR_ATTACHMENT4_NV 0x8CE4
1235#define GL_COLOR_ATTACHMENT5_NV 0x8CE5
1236#define GL_COLOR_ATTACHMENT6_NV 0x8CE6
1237#define GL_COLOR_ATTACHMENT7_NV 0x8CE7
1238#define GL_COLOR_ATTACHMENT8_NV 0x8CE8
1239#define GL_COLOR_ATTACHMENT9_NV 0x8CE9
1240#define GL_COLOR_ATTACHMENT10_NV 0x8CEA
1241#define GL_COLOR_ATTACHMENT11_NV 0x8CEB
1242#define GL_COLOR_ATTACHMENT12_NV 0x8CEC
1243#define GL_COLOR_ATTACHMENT13_NV 0x8CED
1244#define GL_COLOR_ATTACHMENT14_NV 0x8CEE
1245#define GL_COLOR_ATTACHMENT15_NV 0x8CEF
1246typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs);
1247#ifdef GL_GLEXT_PROTOTYPES
1248GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs);
1249#endif
1250#endif /* GL_NV_draw_buffers */
1251
1252#ifndef GL_NV_draw_instanced
1253#define GL_NV_draw_instanced 1
1254typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1255typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1256#ifdef GL_GLEXT_PROTOTYPES
1257GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount);
1258GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount);
1259#endif
1260#endif /* GL_NV_draw_instanced */
1261
1262#ifndef GL_NV_explicit_attrib_location
1263#define GL_NV_explicit_attrib_location 1
1264#endif /* GL_NV_explicit_attrib_location */
1265
1266#ifndef GL_NV_fbo_color_attachments
1267#define GL_NV_fbo_color_attachments 1
1268#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF
1269#endif /* GL_NV_fbo_color_attachments */
1270
1271#ifndef GL_NV_fence
1272#define GL_NV_fence 1
1273#define GL_ALL_COMPLETED_NV 0x84F2
1274#define GL_FENCE_STATUS_NV 0x84F3
1275#define GL_FENCE_CONDITION_NV 0x84F4
1276typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
1277typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
1278typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
1279typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
1280typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
1281typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
1282typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
1283#ifdef GL_GLEXT_PROTOTYPES
1284GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences);
1285GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences);
1286GL_APICALL GLboolean GL_APIENTRY glIsFenceNV (GLuint fence);
1287GL_APICALL GLboolean GL_APIENTRY glTestFenceNV (GLuint fence);
1288GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *params);
1289GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence);
1290GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition);
1291#endif
1292#endif /* GL_NV_fence */
1293
1294#ifndef GL_NV_framebuffer_blit
1295#define GL_NV_framebuffer_blit 1
1296#define GL_READ_FRAMEBUFFER_NV 0x8CA8
1297#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9
1298#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6
1299#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA
1300typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1301#ifdef GL_GLEXT_PROTOTYPES
1302GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
1303#endif
1304#endif /* GL_NV_framebuffer_blit */
1305
1306#ifndef GL_NV_framebuffer_multisample
1307#define GL_NV_framebuffer_multisample 1
1308#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB
1309#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56
1310#define GL_MAX_SAMPLES_NV 0x8D57
1311typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1312#ifdef GL_GLEXT_PROTOTYPES
1313GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
1314#endif
1315#endif /* GL_NV_framebuffer_multisample */
1316
1317#ifndef GL_NV_generate_mipmap_sRGB
1318#define GL_NV_generate_mipmap_sRGB 1
1319#endif /* GL_NV_generate_mipmap_sRGB */
1320
1321#ifndef GL_NV_instanced_arrays
1322#define GL_NV_instanced_arrays 1
1323#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE
1324typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor);
1325#ifdef GL_GLEXT_PROTOTYPES
1326GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor);
1327#endif
1328#endif /* GL_NV_instanced_arrays */
1329
1330#ifndef GL_NV_non_square_matrices
1331#define GL_NV_non_square_matrices 1
1332#define GL_FLOAT_MAT2x3_NV 0x8B65
1333#define GL_FLOAT_MAT2x4_NV 0x8B66
1334#define GL_FLOAT_MAT3x2_NV 0x8B67
1335#define GL_FLOAT_MAT3x4_NV 0x8B68
1336#define GL_FLOAT_MAT4x2_NV 0x8B69
1337#define GL_FLOAT_MAT4x3_NV 0x8B6A
1338typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1339typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1340typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1341typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1342typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1343typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1344#ifdef GL_GLEXT_PROTOTYPES
1345GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1346GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1347GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1348GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1349GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1350GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1351#endif
1352#endif /* GL_NV_non_square_matrices */
1353
1354#ifndef GL_NV_read_buffer
1355#define GL_NV_read_buffer 1
1356#define GL_READ_BUFFER_NV 0x0C02
1357typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode);
1358#ifdef GL_GLEXT_PROTOTYPES
1359GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode);
1360#endif
1361#endif /* GL_NV_read_buffer */
1362
1363#ifndef GL_NV_read_buffer_front
1364#define GL_NV_read_buffer_front 1
1365#endif /* GL_NV_read_buffer_front */
1366
1367#ifndef GL_NV_read_depth
1368#define GL_NV_read_depth 1
1369#endif /* GL_NV_read_depth */
1370
1371#ifndef GL_NV_read_depth_stencil
1372#define GL_NV_read_depth_stencil 1
1373#endif /* GL_NV_read_depth_stencil */
1374
1375#ifndef GL_NV_read_stencil
1376#define GL_NV_read_stencil 1
1377#endif /* GL_NV_read_stencil */
1378
1379#ifndef GL_NV_sRGB_formats
1380#define GL_NV_sRGB_formats 1
1381#define GL_SLUMINANCE_NV 0x8C46
1382#define GL_SLUMINANCE_ALPHA_NV 0x8C44
1383#define GL_SRGB8_NV 0x8C41
1384#define GL_SLUMINANCE8_NV 0x8C47
1385#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45
1386#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C
1387#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D
1388#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E
1389#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F
1390#define GL_ETC1_SRGB8_NV 0x88EE
1391#endif /* GL_NV_sRGB_formats */
1392
1393#ifndef GL_NV_shadow_samplers_array
1394#define GL_NV_shadow_samplers_array 1
1395#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4
1396#endif /* GL_NV_shadow_samplers_array */
1397
1398#ifndef GL_NV_shadow_samplers_cube
1399#define GL_NV_shadow_samplers_cube 1
1400#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5
1401#endif /* GL_NV_shadow_samplers_cube */
1402
1403#ifndef GL_NV_texture_border_clamp
1404#define GL_NV_texture_border_clamp 1
1405#define GL_TEXTURE_BORDER_COLOR_NV 0x1004
1406#define GL_CLAMP_TO_BORDER_NV 0x812D
1407#endif /* GL_NV_texture_border_clamp */
1408
1409#ifndef GL_NV_texture_compression_s3tc_update
1410#define GL_NV_texture_compression_s3tc_update 1
1411#endif /* GL_NV_texture_compression_s3tc_update */
1412
1413#ifndef GL_NV_texture_npot_2D_mipmap
1414#define GL_NV_texture_npot_2D_mipmap 1
1415#endif /* GL_NV_texture_npot_2D_mipmap */
1416
1417#ifndef GL_QCOM_alpha_test
1418#define GL_QCOM_alpha_test 1
1419#define GL_ALPHA_TEST_QCOM 0x0BC0
1420#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1
1421#define GL_ALPHA_TEST_REF_QCOM 0x0BC2
1422typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref);
1423#ifdef GL_GLEXT_PROTOTYPES
1424GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref);
1425#endif
1426#endif /* GL_QCOM_alpha_test */
1427
1428#ifndef GL_QCOM_binning_control
1429#define GL_QCOM_binning_control 1
1430#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0
1431#define GL_CPU_OPTIMIZED_QCOM 0x8FB1
1432#define GL_GPU_OPTIMIZED_QCOM 0x8FB2
1433#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3
1434#endif /* GL_QCOM_binning_control */
1435
1436#ifndef GL_QCOM_driver_control
1437#define GL_QCOM_driver_control 1
1438typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls);
1439typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1440typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1441typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl);
1442#ifdef GL_GLEXT_PROTOTYPES
1443GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls);
1444GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString);
1445GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl);
1446GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl);
1447#endif
1448#endif /* GL_QCOM_driver_control */
1449
1450#ifndef GL_QCOM_extended_get
1451#define GL_QCOM_extended_get 1
1452#define GL_TEXTURE_WIDTH_QCOM 0x8BD2
1453#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3
1454#define GL_TEXTURE_DEPTH_QCOM 0x8BD4
1455#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5
1456#define GL_TEXTURE_FORMAT_QCOM 0x8BD6
1457#define GL_TEXTURE_TYPE_QCOM 0x8BD7
1458#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8
1459#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9
1460#define GL_TEXTURE_TARGET_QCOM 0x8BDA
1461#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB
1462#define GL_STATE_RESTORE 0x8BDC
1463typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures);
1464typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1465typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1466typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1467typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1468typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param);
1469typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
1470typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params);
1471#ifdef GL_GLEXT_PROTOTYPES
1472GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures);
1473GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers);
1474GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers);
1475GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers);
1476GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params);
1477GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param);
1478GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels);
1479GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params);
1480#endif
1481#endif /* GL_QCOM_extended_get */
1482
1483#ifndef GL_QCOM_extended_get2
1484#define GL_QCOM_extended_get2 1
1485typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1486typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1487typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program);
1488typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1489#ifdef GL_GLEXT_PROTOTYPES
1490GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders);
1491GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms);
1492GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program);
1493GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length);
1494#endif
1495#endif /* GL_QCOM_extended_get2 */
1496
1497#ifndef GL_QCOM_perfmon_global_mode
1498#define GL_QCOM_perfmon_global_mode 1
1499#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0
1500#endif /* GL_QCOM_perfmon_global_mode */
1501
1502#ifndef GL_QCOM_tiled_rendering
1503#define GL_QCOM_tiled_rendering 1
1504#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001
1505#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002
1506#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004
1507#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008
1508#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010
1509#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020
1510#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040
1511#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080
1512#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100
1513#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200
1514#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400
1515#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800
1516#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000
1517#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000
1518#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000
1519#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000
1520#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000
1521#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000
1522#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000
1523#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000
1524#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000
1525#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000
1526#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000
1527#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000
1528#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000
1529#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000
1530#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000
1531#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000
1532#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000
1533#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000
1534#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000
1535#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000
1536typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1537typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask);
1538#ifdef GL_GLEXT_PROTOTYPES
1539GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
1540GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask);
1541#endif
1542#endif /* GL_QCOM_tiled_rendering */
1543
1544#ifndef GL_QCOM_writeonly_rendering
1545#define GL_QCOM_writeonly_rendering 1
1546#define GL_WRITEONLY_RENDERING_QCOM 0x8823
1547#endif /* GL_QCOM_writeonly_rendering */
1548
1549#ifndef GL_VIV_shader_binary
1550#define GL_VIV_shader_binary 1
1551#define GL_SHADER_BINARY_VIV 0x8FC4
1552#endif /* GL_VIV_shader_binary */
1553
1554#ifdef __cplusplus
1555}
1556#endif
1557
1558#endif
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2platform.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2platform.h
new file mode 100644
index 0000000..89d4d44
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES2/gl2platform.h
@@ -0,0 +1,30 @@
1#ifndef __gl2platform_h_
2#define __gl2platform_h_
3
4/* $Revision: 23328 $ on $Date:: 2013-10-02 02:28:28 -0700 #$ */
5
6/*
7 * This document is licensed under the SGI Free Software B License Version
8 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
9 */
10
11/* Platform-specific types and definitions for OpenGL ES 2.X gl2.h
12 *
13 * Adopters may modify khrplatform.h and this file to suit their platform.
14 * You are encouraged to submit all modifications to the Khronos group so that
15 * they can be included in future versions of this file. Please submit changes
16 * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
17 * by filing a bug against product "OpenGL-ES" component "Registry".
18 */
19
20#include <KHR/khrplatform.h>
21
22#ifndef GL_APICALL
23#define GL_APICALL KHRONOS_APICALL
24#endif
25
26#ifndef GL_APIENTRY
27#define GL_APIENTRY KHRONOS_APIENTRY
28#endif
29
30#endif /* __gl2platform_h_ */
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3.h
new file mode 100644
index 0000000..81b63bd
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3.h
@@ -0,0 +1,937 @@
1#ifndef __gl3_h_
2#define __gl3_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright (c) 2013 The Khronos Group Inc.
10**
11** Permission is hereby granted, free of charge, to any person obtaining a
12** copy of this software and/or associated documentation files (the
13** "Materials"), to deal in the Materials without restriction, including
14** without limitation the rights to use, copy, modify, merge, publish,
15** distribute, sublicense, and/or sell copies of the Materials, and to
16** permit persons to whom the Materials are furnished to do so, subject to
17** the following conditions:
18**
19** The above copyright notice and this permission notice shall be included
20** in all copies or substantial portions of the Materials.
21**
22** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*/
30/*
31** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
34** http://www.opengl.org/registry/
35**
36** Khronos $Revision$ on $Date$
37*/
38
39#include <GLES3/gl3platform.h>
40
41/* Generated C header for:
42 * API: gles2
43 * Profile: common
44 * Versions considered: [23]\.[0-9]
45 * Versions emitted: .*
46 * Default extensions included: None
47 * Additional extensions included: _nomatch_^
48 * Extensions removed: _nomatch_^
49 */
50
51#ifndef GL_ES_VERSION_2_0
52#define GL_ES_VERSION_2_0 1
53#include <KHR/khrplatform.h>
54typedef khronos_int8_t GLbyte;
55typedef khronos_float_t GLclampf;
56typedef khronos_int32_t GLfixed;
57typedef short GLshort;
58typedef unsigned short GLushort;
59typedef void GLvoid;
60typedef struct __GLsync *GLsync;
61typedef khronos_int64_t GLint64;
62typedef khronos_uint64_t GLuint64;
63typedef unsigned int GLenum;
64typedef unsigned int GLuint;
65typedef char GLchar;
66typedef khronos_float_t GLfloat;
67typedef khronos_ssize_t GLsizeiptr;
68typedef khronos_intptr_t GLintptr;
69typedef unsigned int GLbitfield;
70typedef int GLint;
71typedef unsigned char GLboolean;
72typedef int GLsizei;
73typedef khronos_uint8_t GLubyte;
74#define GL_DEPTH_BUFFER_BIT 0x00000100
75#define GL_STENCIL_BUFFER_BIT 0x00000400
76#define GL_COLOR_BUFFER_BIT 0x00004000
77#define GL_FALSE 0
78#define GL_TRUE 1
79#define GL_POINTS 0x0000
80#define GL_LINES 0x0001
81#define GL_LINE_LOOP 0x0002
82#define GL_LINE_STRIP 0x0003
83#define GL_TRIANGLES 0x0004
84#define GL_TRIANGLE_STRIP 0x0005
85#define GL_TRIANGLE_FAN 0x0006
86#define GL_ZERO 0
87#define GL_ONE 1
88#define GL_SRC_COLOR 0x0300
89#define GL_ONE_MINUS_SRC_COLOR 0x0301
90#define GL_SRC_ALPHA 0x0302
91#define GL_ONE_MINUS_SRC_ALPHA 0x0303
92#define GL_DST_ALPHA 0x0304
93#define GL_ONE_MINUS_DST_ALPHA 0x0305
94#define GL_DST_COLOR 0x0306
95#define GL_ONE_MINUS_DST_COLOR 0x0307
96#define GL_SRC_ALPHA_SATURATE 0x0308
97#define GL_FUNC_ADD 0x8006
98#define GL_BLEND_EQUATION 0x8009
99#define GL_BLEND_EQUATION_RGB 0x8009
100#define GL_BLEND_EQUATION_ALPHA 0x883D
101#define GL_FUNC_SUBTRACT 0x800A
102#define GL_FUNC_REVERSE_SUBTRACT 0x800B
103#define GL_BLEND_DST_RGB 0x80C8
104#define GL_BLEND_SRC_RGB 0x80C9
105#define GL_BLEND_DST_ALPHA 0x80CA
106#define GL_BLEND_SRC_ALPHA 0x80CB
107#define GL_CONSTANT_COLOR 0x8001
108#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
109#define GL_CONSTANT_ALPHA 0x8003
110#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
111#define GL_BLEND_COLOR 0x8005
112#define GL_ARRAY_BUFFER 0x8892
113#define GL_ELEMENT_ARRAY_BUFFER 0x8893
114#define GL_ARRAY_BUFFER_BINDING 0x8894
115#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
116#define GL_STREAM_DRAW 0x88E0
117#define GL_STATIC_DRAW 0x88E4
118#define GL_DYNAMIC_DRAW 0x88E8
119#define GL_BUFFER_SIZE 0x8764
120#define GL_BUFFER_USAGE 0x8765
121#define GL_CURRENT_VERTEX_ATTRIB 0x8626
122#define GL_FRONT 0x0404
123#define GL_BACK 0x0405
124#define GL_FRONT_AND_BACK 0x0408
125#define GL_TEXTURE_2D 0x0DE1
126#define GL_CULL_FACE 0x0B44
127#define GL_BLEND 0x0BE2
128#define GL_DITHER 0x0BD0
129#define GL_STENCIL_TEST 0x0B90
130#define GL_DEPTH_TEST 0x0B71
131#define GL_SCISSOR_TEST 0x0C11
132#define GL_POLYGON_OFFSET_FILL 0x8037
133#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
134#define GL_SAMPLE_COVERAGE 0x80A0
135#define GL_NO_ERROR 0
136#define GL_INVALID_ENUM 0x0500
137#define GL_INVALID_VALUE 0x0501
138#define GL_INVALID_OPERATION 0x0502
139#define GL_OUT_OF_MEMORY 0x0505
140#define GL_CW 0x0900
141#define GL_CCW 0x0901
142#define GL_LINE_WIDTH 0x0B21
143#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
144#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
145#define GL_CULL_FACE_MODE 0x0B45
146#define GL_FRONT_FACE 0x0B46
147#define GL_DEPTH_RANGE 0x0B70
148#define GL_DEPTH_WRITEMASK 0x0B72
149#define GL_DEPTH_CLEAR_VALUE 0x0B73
150#define GL_DEPTH_FUNC 0x0B74
151#define GL_STENCIL_CLEAR_VALUE 0x0B91
152#define GL_STENCIL_FUNC 0x0B92
153#define GL_STENCIL_FAIL 0x0B94
154#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
155#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
156#define GL_STENCIL_REF 0x0B97
157#define GL_STENCIL_VALUE_MASK 0x0B93
158#define GL_STENCIL_WRITEMASK 0x0B98
159#define GL_STENCIL_BACK_FUNC 0x8800
160#define GL_STENCIL_BACK_FAIL 0x8801
161#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
162#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
163#define GL_STENCIL_BACK_REF 0x8CA3
164#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
165#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
166#define GL_VIEWPORT 0x0BA2
167#define GL_SCISSOR_BOX 0x0C10
168#define GL_COLOR_CLEAR_VALUE 0x0C22
169#define GL_COLOR_WRITEMASK 0x0C23
170#define GL_UNPACK_ALIGNMENT 0x0CF5
171#define GL_PACK_ALIGNMENT 0x0D05
172#define GL_MAX_TEXTURE_SIZE 0x0D33
173#define GL_MAX_VIEWPORT_DIMS 0x0D3A
174#define GL_SUBPIXEL_BITS 0x0D50
175#define GL_RED_BITS 0x0D52
176#define GL_GREEN_BITS 0x0D53
177#define GL_BLUE_BITS 0x0D54
178#define GL_ALPHA_BITS 0x0D55
179#define GL_DEPTH_BITS 0x0D56
180#define GL_STENCIL_BITS 0x0D57
181#define GL_POLYGON_OFFSET_UNITS 0x2A00
182#define GL_POLYGON_OFFSET_FACTOR 0x8038
183#define GL_TEXTURE_BINDING_2D 0x8069
184#define GL_SAMPLE_BUFFERS 0x80A8
185#define GL_SAMPLES 0x80A9
186#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
187#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
188#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
189#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
190#define GL_DONT_CARE 0x1100
191#define GL_FASTEST 0x1101
192#define GL_NICEST 0x1102
193#define GL_GENERATE_MIPMAP_HINT 0x8192
194#define GL_BYTE 0x1400
195#define GL_UNSIGNED_BYTE 0x1401
196#define GL_SHORT 0x1402
197#define GL_UNSIGNED_SHORT 0x1403
198#define GL_INT 0x1404
199#define GL_UNSIGNED_INT 0x1405
200#define GL_FLOAT 0x1406
201#define GL_FIXED 0x140C
202#define GL_DEPTH_COMPONENT 0x1902
203#define GL_ALPHA 0x1906
204#define GL_RGB 0x1907
205#define GL_RGBA 0x1908
206#define GL_LUMINANCE 0x1909
207#define GL_LUMINANCE_ALPHA 0x190A
208#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
209#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
210#define GL_UNSIGNED_SHORT_5_6_5 0x8363
211#define GL_FRAGMENT_SHADER 0x8B30
212#define GL_VERTEX_SHADER 0x8B31
213#define GL_MAX_VERTEX_ATTRIBS 0x8869
214#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
215#define GL_MAX_VARYING_VECTORS 0x8DFC
216#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
217#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
218#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
219#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
220#define GL_SHADER_TYPE 0x8B4F
221#define GL_DELETE_STATUS 0x8B80
222#define GL_LINK_STATUS 0x8B82
223#define GL_VALIDATE_STATUS 0x8B83
224#define GL_ATTACHED_SHADERS 0x8B85
225#define GL_ACTIVE_UNIFORMS 0x8B86
226#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
227#define GL_ACTIVE_ATTRIBUTES 0x8B89
228#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
229#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
230#define GL_CURRENT_PROGRAM 0x8B8D
231#define GL_NEVER 0x0200
232#define GL_LESS 0x0201
233#define GL_EQUAL 0x0202
234#define GL_LEQUAL 0x0203
235#define GL_GREATER 0x0204
236#define GL_NOTEQUAL 0x0205
237#define GL_GEQUAL 0x0206
238#define GL_ALWAYS 0x0207
239#define GL_KEEP 0x1E00
240#define GL_REPLACE 0x1E01
241#define GL_INCR 0x1E02
242#define GL_DECR 0x1E03
243#define GL_INVERT 0x150A
244#define GL_INCR_WRAP 0x8507
245#define GL_DECR_WRAP 0x8508
246#define GL_VENDOR 0x1F00
247#define GL_RENDERER 0x1F01
248#define GL_VERSION 0x1F02
249#define GL_EXTENSIONS 0x1F03
250#define GL_NEAREST 0x2600
251#define GL_LINEAR 0x2601
252#define GL_NEAREST_MIPMAP_NEAREST 0x2700
253#define GL_LINEAR_MIPMAP_NEAREST 0x2701
254#define GL_NEAREST_MIPMAP_LINEAR 0x2702
255#define GL_LINEAR_MIPMAP_LINEAR 0x2703
256#define GL_TEXTURE_MAG_FILTER 0x2800
257#define GL_TEXTURE_MIN_FILTER 0x2801
258#define GL_TEXTURE_WRAP_S 0x2802
259#define GL_TEXTURE_WRAP_T 0x2803
260#define GL_TEXTURE 0x1702
261#define GL_TEXTURE_CUBE_MAP 0x8513
262#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
263#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
264#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
265#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
266#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
267#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
268#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
269#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
270#define GL_TEXTURE0 0x84C0
271#define GL_TEXTURE1 0x84C1
272#define GL_TEXTURE2 0x84C2
273#define GL_TEXTURE3 0x84C3
274#define GL_TEXTURE4 0x84C4
275#define GL_TEXTURE5 0x84C5
276#define GL_TEXTURE6 0x84C6
277#define GL_TEXTURE7 0x84C7
278#define GL_TEXTURE8 0x84C8
279#define GL_TEXTURE9 0x84C9
280#define GL_TEXTURE10 0x84CA
281#define GL_TEXTURE11 0x84CB
282#define GL_TEXTURE12 0x84CC
283#define GL_TEXTURE13 0x84CD
284#define GL_TEXTURE14 0x84CE
285#define GL_TEXTURE15 0x84CF
286#define GL_TEXTURE16 0x84D0
287#define GL_TEXTURE17 0x84D1
288#define GL_TEXTURE18 0x84D2
289#define GL_TEXTURE19 0x84D3
290#define GL_TEXTURE20 0x84D4
291#define GL_TEXTURE21 0x84D5
292#define GL_TEXTURE22 0x84D6
293#define GL_TEXTURE23 0x84D7
294#define GL_TEXTURE24 0x84D8
295#define GL_TEXTURE25 0x84D9
296#define GL_TEXTURE26 0x84DA
297#define GL_TEXTURE27 0x84DB
298#define GL_TEXTURE28 0x84DC
299#define GL_TEXTURE29 0x84DD
300#define GL_TEXTURE30 0x84DE
301#define GL_TEXTURE31 0x84DF
302#define GL_ACTIVE_TEXTURE 0x84E0
303#define GL_REPEAT 0x2901
304#define GL_CLAMP_TO_EDGE 0x812F
305#define GL_MIRRORED_REPEAT 0x8370
306#define GL_FLOAT_VEC2 0x8B50
307#define GL_FLOAT_VEC3 0x8B51
308#define GL_FLOAT_VEC4 0x8B52
309#define GL_INT_VEC2 0x8B53
310#define GL_INT_VEC3 0x8B54
311#define GL_INT_VEC4 0x8B55
312#define GL_BOOL 0x8B56
313#define GL_BOOL_VEC2 0x8B57
314#define GL_BOOL_VEC3 0x8B58
315#define GL_BOOL_VEC4 0x8B59
316#define GL_FLOAT_MAT2 0x8B5A
317#define GL_FLOAT_MAT3 0x8B5B
318#define GL_FLOAT_MAT4 0x8B5C
319#define GL_SAMPLER_2D 0x8B5E
320#define GL_SAMPLER_CUBE 0x8B60
321#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
322#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
323#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
324#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
325#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
326#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
327#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
328#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
329#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
330#define GL_COMPILE_STATUS 0x8B81
331#define GL_INFO_LOG_LENGTH 0x8B84
332#define GL_SHADER_SOURCE_LENGTH 0x8B88
333#define GL_SHADER_COMPILER 0x8DFA
334#define GL_SHADER_BINARY_FORMATS 0x8DF8
335#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
336#define GL_LOW_FLOAT 0x8DF0
337#define GL_MEDIUM_FLOAT 0x8DF1
338#define GL_HIGH_FLOAT 0x8DF2
339#define GL_LOW_INT 0x8DF3
340#define GL_MEDIUM_INT 0x8DF4
341#define GL_HIGH_INT 0x8DF5
342#define GL_FRAMEBUFFER 0x8D40
343#define GL_RENDERBUFFER 0x8D41
344#define GL_RGBA4 0x8056
345#define GL_RGB5_A1 0x8057
346#define GL_RGB565 0x8D62
347#define GL_DEPTH_COMPONENT16 0x81A5
348#define GL_STENCIL_INDEX8 0x8D48
349#define GL_RENDERBUFFER_WIDTH 0x8D42
350#define GL_RENDERBUFFER_HEIGHT 0x8D43
351#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
352#define GL_RENDERBUFFER_RED_SIZE 0x8D50
353#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
354#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
355#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
356#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
357#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
358#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
359#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
360#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
361#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
362#define GL_COLOR_ATTACHMENT0 0x8CE0
363#define GL_DEPTH_ATTACHMENT 0x8D00
364#define GL_STENCIL_ATTACHMENT 0x8D20
365#define GL_NONE 0
366#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
367#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
368#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
369#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
370#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
371#define GL_FRAMEBUFFER_BINDING 0x8CA6
372#define GL_RENDERBUFFER_BINDING 0x8CA7
373#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
374#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
375GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
376GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
377GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
378GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
379GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
380GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
381GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
382GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
383GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
384GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
385GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
386GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
387GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
388GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
389GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
390GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
391GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
392GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
393GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
394GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
395GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
396GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
397GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
398GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
399GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
400GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
401GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
402GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
403GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
404GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
405GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
406GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
407GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
408GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
409GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
410GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
411GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
412GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
413GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
414GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
415GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
416GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
417GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
418GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
419GL_APICALL void GL_APIENTRY glFinish (void);
420GL_APICALL void GL_APIENTRY glFlush (void);
421GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
422GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
423GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
424GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
425GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
426GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
427GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
428GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
429GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
430GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
431GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
432GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
433GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *params);
434GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
435GL_APICALL GLenum GL_APIENTRY glGetError (void);
436GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *params);
437GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
438GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *params);
439GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
440GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
441GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
442GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
443GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
444GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
445GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
446GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
447GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
448GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
449GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
450GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
451GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
452GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
453GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
454GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
455GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
456GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
457GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
458GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
459GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
460GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
461GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
462GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
463GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
464GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
465GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
466GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
467GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
468GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
469GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
470GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
471GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
472GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
473GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
474GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
475GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
476GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
477GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
478GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
479GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
480GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
481GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
482GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
483GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
484GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
485GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
486GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
487GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
488GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
489GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
490GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
491GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
492GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
493GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
494GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
495GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
496GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
497GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
498GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
499GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
500GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
501GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
502GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
503GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
504GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
505GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
506GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
507GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
508GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
509GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
510GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
511GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
512GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
513GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
514GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
515GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
516GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
517#endif /* GL_ES_VERSION_2_0 */
518
519#ifndef GL_ES_VERSION_3_0
520#define GL_ES_VERSION_3_0 1
521typedef unsigned short GLhalf;
522#define GL_READ_BUFFER 0x0C02
523#define GL_UNPACK_ROW_LENGTH 0x0CF2
524#define GL_UNPACK_SKIP_ROWS 0x0CF3
525#define GL_UNPACK_SKIP_PIXELS 0x0CF4
526#define GL_PACK_ROW_LENGTH 0x0D02
527#define GL_PACK_SKIP_ROWS 0x0D03
528#define GL_PACK_SKIP_PIXELS 0x0D04
529#define GL_COLOR 0x1800
530#define GL_DEPTH 0x1801
531#define GL_STENCIL 0x1802
532#define GL_RED 0x1903
533#define GL_RGB8 0x8051
534#define GL_RGBA8 0x8058
535#define GL_RGB10_A2 0x8059
536#define GL_TEXTURE_BINDING_3D 0x806A
537#define GL_UNPACK_SKIP_IMAGES 0x806D
538#define GL_UNPACK_IMAGE_HEIGHT 0x806E
539#define GL_TEXTURE_3D 0x806F
540#define GL_TEXTURE_WRAP_R 0x8072
541#define GL_MAX_3D_TEXTURE_SIZE 0x8073
542#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
543#define GL_MAX_ELEMENTS_VERTICES 0x80E8
544#define GL_MAX_ELEMENTS_INDICES 0x80E9
545#define GL_TEXTURE_MIN_LOD 0x813A
546#define GL_TEXTURE_MAX_LOD 0x813B
547#define GL_TEXTURE_BASE_LEVEL 0x813C
548#define GL_TEXTURE_MAX_LEVEL 0x813D
549#define GL_MIN 0x8007
550#define GL_MAX 0x8008
551#define GL_DEPTH_COMPONENT24 0x81A6
552#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
553#define GL_TEXTURE_COMPARE_MODE 0x884C
554#define GL_TEXTURE_COMPARE_FUNC 0x884D
555#define GL_CURRENT_QUERY 0x8865
556#define GL_QUERY_RESULT 0x8866
557#define GL_QUERY_RESULT_AVAILABLE 0x8867
558#define GL_BUFFER_MAPPED 0x88BC
559#define GL_BUFFER_MAP_POINTER 0x88BD
560#define GL_STREAM_READ 0x88E1
561#define GL_STREAM_COPY 0x88E2
562#define GL_STATIC_READ 0x88E5
563#define GL_STATIC_COPY 0x88E6
564#define GL_DYNAMIC_READ 0x88E9
565#define GL_DYNAMIC_COPY 0x88EA
566#define GL_MAX_DRAW_BUFFERS 0x8824
567#define GL_DRAW_BUFFER0 0x8825
568#define GL_DRAW_BUFFER1 0x8826
569#define GL_DRAW_BUFFER2 0x8827
570#define GL_DRAW_BUFFER3 0x8828
571#define GL_DRAW_BUFFER4 0x8829
572#define GL_DRAW_BUFFER5 0x882A
573#define GL_DRAW_BUFFER6 0x882B
574#define GL_DRAW_BUFFER7 0x882C
575#define GL_DRAW_BUFFER8 0x882D
576#define GL_DRAW_BUFFER9 0x882E
577#define GL_DRAW_BUFFER10 0x882F
578#define GL_DRAW_BUFFER11 0x8830
579#define GL_DRAW_BUFFER12 0x8831
580#define GL_DRAW_BUFFER13 0x8832
581#define GL_DRAW_BUFFER14 0x8833
582#define GL_DRAW_BUFFER15 0x8834
583#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
584#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
585#define GL_SAMPLER_3D 0x8B5F
586#define GL_SAMPLER_2D_SHADOW 0x8B62
587#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
588#define GL_PIXEL_PACK_BUFFER 0x88EB
589#define GL_PIXEL_UNPACK_BUFFER 0x88EC
590#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
591#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
592#define GL_FLOAT_MAT2x3 0x8B65
593#define GL_FLOAT_MAT2x4 0x8B66
594#define GL_FLOAT_MAT3x2 0x8B67
595#define GL_FLOAT_MAT3x4 0x8B68
596#define GL_FLOAT_MAT4x2 0x8B69
597#define GL_FLOAT_MAT4x3 0x8B6A
598#define GL_SRGB 0x8C40
599#define GL_SRGB8 0x8C41
600#define GL_SRGB8_ALPHA8 0x8C43
601#define GL_COMPARE_REF_TO_TEXTURE 0x884E
602#define GL_MAJOR_VERSION 0x821B
603#define GL_MINOR_VERSION 0x821C
604#define GL_NUM_EXTENSIONS 0x821D
605#define GL_RGBA32F 0x8814
606#define GL_RGB32F 0x8815
607#define GL_RGBA16F 0x881A
608#define GL_RGB16F 0x881B
609#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
610#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
611#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
612#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
613#define GL_MAX_VARYING_COMPONENTS 0x8B4B
614#define GL_TEXTURE_2D_ARRAY 0x8C1A
615#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
616#define GL_R11F_G11F_B10F 0x8C3A
617#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
618#define GL_RGB9_E5 0x8C3D
619#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
620#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
621#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
622#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
623#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
624#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
625#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
626#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
627#define GL_RASTERIZER_DISCARD 0x8C89
628#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
629#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
630#define GL_INTERLEAVED_ATTRIBS 0x8C8C
631#define GL_SEPARATE_ATTRIBS 0x8C8D
632#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
633#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
634#define GL_RGBA32UI 0x8D70
635#define GL_RGB32UI 0x8D71
636#define GL_RGBA16UI 0x8D76
637#define GL_RGB16UI 0x8D77
638#define GL_RGBA8UI 0x8D7C
639#define GL_RGB8UI 0x8D7D
640#define GL_RGBA32I 0x8D82
641#define GL_RGB32I 0x8D83
642#define GL_RGBA16I 0x8D88
643#define GL_RGB16I 0x8D89
644#define GL_RGBA8I 0x8D8E
645#define GL_RGB8I 0x8D8F
646#define GL_RED_INTEGER 0x8D94
647#define GL_RGB_INTEGER 0x8D98
648#define GL_RGBA_INTEGER 0x8D99
649#define GL_SAMPLER_2D_ARRAY 0x8DC1
650#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
651#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
652#define GL_UNSIGNED_INT_VEC2 0x8DC6
653#define GL_UNSIGNED_INT_VEC3 0x8DC7
654#define GL_UNSIGNED_INT_VEC4 0x8DC8
655#define GL_INT_SAMPLER_2D 0x8DCA
656#define GL_INT_SAMPLER_3D 0x8DCB
657#define GL_INT_SAMPLER_CUBE 0x8DCC
658#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
659#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
660#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
661#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
662#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
663#define GL_BUFFER_ACCESS_FLAGS 0x911F
664#define GL_BUFFER_MAP_LENGTH 0x9120
665#define GL_BUFFER_MAP_OFFSET 0x9121
666#define GL_DEPTH_COMPONENT32F 0x8CAC
667#define GL_DEPTH32F_STENCIL8 0x8CAD
668#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
669#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
670#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
671#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
672#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
673#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
674#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
675#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
676#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
677#define GL_FRAMEBUFFER_DEFAULT 0x8218
678#define GL_FRAMEBUFFER_UNDEFINED 0x8219
679#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
680#define GL_DEPTH_STENCIL 0x84F9
681#define GL_UNSIGNED_INT_24_8 0x84FA
682#define GL_DEPTH24_STENCIL8 0x88F0
683#define GL_UNSIGNED_NORMALIZED 0x8C17
684#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
685#define GL_READ_FRAMEBUFFER 0x8CA8
686#define GL_DRAW_FRAMEBUFFER 0x8CA9
687#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
688#define GL_RENDERBUFFER_SAMPLES 0x8CAB
689#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
690#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
691#define GL_COLOR_ATTACHMENT1 0x8CE1
692#define GL_COLOR_ATTACHMENT2 0x8CE2
693#define GL_COLOR_ATTACHMENT3 0x8CE3
694#define GL_COLOR_ATTACHMENT4 0x8CE4
695#define GL_COLOR_ATTACHMENT5 0x8CE5
696#define GL_COLOR_ATTACHMENT6 0x8CE6
697#define GL_COLOR_ATTACHMENT7 0x8CE7
698#define GL_COLOR_ATTACHMENT8 0x8CE8
699#define GL_COLOR_ATTACHMENT9 0x8CE9
700#define GL_COLOR_ATTACHMENT10 0x8CEA
701#define GL_COLOR_ATTACHMENT11 0x8CEB
702#define GL_COLOR_ATTACHMENT12 0x8CEC
703#define GL_COLOR_ATTACHMENT13 0x8CED
704#define GL_COLOR_ATTACHMENT14 0x8CEE
705#define GL_COLOR_ATTACHMENT15 0x8CEF
706#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
707#define GL_MAX_SAMPLES 0x8D57
708#define GL_HALF_FLOAT 0x140B
709#define GL_MAP_READ_BIT 0x0001
710#define GL_MAP_WRITE_BIT 0x0002
711#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
712#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
713#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
714#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
715#define GL_RG 0x8227
716#define GL_RG_INTEGER 0x8228
717#define GL_R8 0x8229
718#define GL_RG8 0x822B
719#define GL_R16F 0x822D
720#define GL_R32F 0x822E
721#define GL_RG16F 0x822F
722#define GL_RG32F 0x8230
723#define GL_R8I 0x8231
724#define GL_R8UI 0x8232
725#define GL_R16I 0x8233
726#define GL_R16UI 0x8234
727#define GL_R32I 0x8235
728#define GL_R32UI 0x8236
729#define GL_RG8I 0x8237
730#define GL_RG8UI 0x8238
731#define GL_RG16I 0x8239
732#define GL_RG16UI 0x823A
733#define GL_RG32I 0x823B
734#define GL_RG32UI 0x823C
735#define GL_VERTEX_ARRAY_BINDING 0x85B5
736#define GL_R8_SNORM 0x8F94
737#define GL_RG8_SNORM 0x8F95
738#define GL_RGB8_SNORM 0x8F96
739#define GL_RGBA8_SNORM 0x8F97
740#define GL_SIGNED_NORMALIZED 0x8F9C
741#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
742#define GL_COPY_READ_BUFFER 0x8F36
743#define GL_COPY_WRITE_BUFFER 0x8F37
744#define GL_COPY_READ_BUFFER_BINDING 0x8F36
745#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
746#define GL_UNIFORM_BUFFER 0x8A11
747#define GL_UNIFORM_BUFFER_BINDING 0x8A28
748#define GL_UNIFORM_BUFFER_START 0x8A29
749#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
750#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
751#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
752#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
753#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
754#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
755#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
756#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
757#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
758#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
759#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
760#define GL_UNIFORM_TYPE 0x8A37
761#define GL_UNIFORM_SIZE 0x8A38
762#define GL_UNIFORM_NAME_LENGTH 0x8A39
763#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
764#define GL_UNIFORM_OFFSET 0x8A3B
765#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
766#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
767#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
768#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
769#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
770#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
771#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
772#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
773#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
774#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
775#define GL_INVALID_INDEX 0xFFFFFFFFu
776#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
777#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
778#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
779#define GL_OBJECT_TYPE 0x9112
780#define GL_SYNC_CONDITION 0x9113
781#define GL_SYNC_STATUS 0x9114
782#define GL_SYNC_FLAGS 0x9115
783#define GL_SYNC_FENCE 0x9116
784#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
785#define GL_UNSIGNALED 0x9118
786#define GL_SIGNALED 0x9119
787#define GL_ALREADY_SIGNALED 0x911A
788#define GL_TIMEOUT_EXPIRED 0x911B
789#define GL_CONDITION_SATISFIED 0x911C
790#define GL_WAIT_FAILED 0x911D
791#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
792#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
793#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
794#define GL_ANY_SAMPLES_PASSED 0x8C2F
795#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
796#define GL_SAMPLER_BINDING 0x8919
797#define GL_RGB10_A2UI 0x906F
798#define GL_TEXTURE_SWIZZLE_R 0x8E42
799#define GL_TEXTURE_SWIZZLE_G 0x8E43
800#define GL_TEXTURE_SWIZZLE_B 0x8E44
801#define GL_TEXTURE_SWIZZLE_A 0x8E45
802#define GL_GREEN 0x1904
803#define GL_BLUE 0x1905
804#define GL_INT_2_10_10_10_REV 0x8D9F
805#define GL_TRANSFORM_FEEDBACK 0x8E22
806#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
807#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
808#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
809#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
810#define GL_PROGRAM_BINARY_LENGTH 0x8741
811#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
812#define GL_PROGRAM_BINARY_FORMATS 0x87FF
813#define GL_COMPRESSED_R11_EAC 0x9270
814#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
815#define GL_COMPRESSED_RG11_EAC 0x9272
816#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
817#define GL_COMPRESSED_RGB8_ETC2 0x9274
818#define GL_COMPRESSED_SRGB8_ETC2 0x9275
819#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
820#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
821#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
822#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
823#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
824#define GL_MAX_ELEMENT_INDEX 0x8D6B
825#define GL_NUM_SAMPLE_COUNTS 0x9380
826#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
827GL_APICALL void GL_APIENTRY glReadBuffer (GLenum mode);
828GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
829GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
830GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
831GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
832GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
833GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
834GL_APICALL void GL_APIENTRY glGenQueries (GLsizei n, GLuint *ids);
835GL_APICALL void GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
836GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id);
837GL_APICALL void GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
838GL_APICALL void GL_APIENTRY glEndQuery (GLenum target);
839GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
840GL_APICALL void GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
841GL_APICALL GLboolean GL_APIENTRY glUnmapBuffer (GLenum target);
842GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
843GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
844GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
845GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
846GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
847GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
848GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
849GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
850GL_APICALL void GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
851GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
852GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
853GL_APICALL void *GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
854GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
855GL_APICALL void GL_APIENTRY glBindVertexArray (GLuint array);
856GL_APICALL void GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
857GL_APICALL void GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
858GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array);
859GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
860GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
861GL_APICALL void GL_APIENTRY glEndTransformFeedback (void);
862GL_APICALL void GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
863GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
864GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
865GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
866GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
867GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
868GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
869GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
870GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
871GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
872GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
873GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
874GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
875GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
876GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
877GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
878GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
879GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
880GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
881GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
882GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
883GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
884GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
885GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
886GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
887GL_APICALL const GLubyte *GL_APIENTRY glGetStringi (GLenum name, GLuint index);
888GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
889GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
890GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
891GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
892GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
893GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
894GL_APICALL void GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
895GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
896GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
897GL_APICALL GLsync GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
898GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync);
899GL_APICALL void GL_APIENTRY glDeleteSync (GLsync sync);
900GL_APICALL GLenum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
901GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
902GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64 *params);
903GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
904GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
905GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
906GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
907GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
908GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
909GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
910GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
911GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
912GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
913GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
914GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
915GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
916GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
917GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
918GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
919GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
920GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id);
921GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void);
922GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void);
923GL_APICALL void GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
924GL_APICALL void GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
925GL_APICALL void GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
926GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
927GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
928GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
929GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
930GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
931#endif /* GL_ES_VERSION_3_0 */
932
933#ifdef __cplusplus
934}
935#endif
936
937#endif
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl31.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl31.h
new file mode 100644
index 0000000..6fe473d
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl31.h
@@ -0,0 +1,1184 @@
1#ifndef __gl31_h_
2#define __gl31_h_ 1
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/*
9** Copyright (c) 2013-2014 The Khronos Group Inc.
10**
11** Permission is hereby granted, free of charge, to any person obtaining a
12** copy of this software and/or associated documentation files (the
13** "Materials"), to deal in the Materials without restriction, including
14** without limitation the rights to use, copy, modify, merge, publish,
15** distribute, sublicense, and/or sell copies of the Materials, and to
16** permit persons to whom the Materials are furnished to do so, subject to
17** the following conditions:
18**
19** The above copyright notice and this permission notice shall be included
20** in all copies or substantial portions of the Materials.
21**
22** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
23** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
25** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
26** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
28** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
29*/
30/*
31** This header is generated from the Khronos OpenGL / OpenGL ES XML
32** API Registry. The current version of the Registry, generator scripts
33** used to make the header, and the header can be found at
34** http://www.opengl.org/registry/
35**
36** Khronos $Revision$ on $Date$
37*/
38
39#include <GLES3/gl3platform.h>
40
41/* Generated on date 20140319 */
42
43/* Generated C header for:
44 * API: gles2
45 * Profile: common
46 * Versions considered: 2.[0-9]|3.[01]
47 * Versions emitted: .*
48 * Default extensions included: None
49 * Additional extensions included: _nomatch_^
50 * Extensions removed: _nomatch_^
51 */
52
53#ifndef GL_ES_VERSION_2_0
54#define GL_ES_VERSION_2_0 1
55#include <KHR/khrplatform.h>
56typedef khronos_int8_t GLbyte;
57typedef khronos_float_t GLclampf;
58typedef khronos_int32_t GLfixed;
59typedef short GLshort;
60typedef unsigned short GLushort;
61typedef void GLvoid;
62typedef struct __GLsync *GLsync;
63typedef khronos_int64_t GLint64;
64typedef khronos_uint64_t GLuint64;
65typedef unsigned int GLenum;
66typedef unsigned int GLuint;
67typedef char GLchar;
68typedef khronos_float_t GLfloat;
69typedef khronos_ssize_t GLsizeiptr;
70typedef khronos_intptr_t GLintptr;
71typedef unsigned int GLbitfield;
72typedef int GLint;
73typedef unsigned char GLboolean;
74typedef int GLsizei;
75typedef khronos_uint8_t GLubyte;
76#define GL_DEPTH_BUFFER_BIT 0x00000100
77#define GL_STENCIL_BUFFER_BIT 0x00000400
78#define GL_COLOR_BUFFER_BIT 0x00004000
79#define GL_FALSE 0
80#define GL_TRUE 1
81#define GL_POINTS 0x0000
82#define GL_LINES 0x0001
83#define GL_LINE_LOOP 0x0002
84#define GL_LINE_STRIP 0x0003
85#define GL_TRIANGLES 0x0004
86#define GL_TRIANGLE_STRIP 0x0005
87#define GL_TRIANGLE_FAN 0x0006
88#define GL_ZERO 0
89#define GL_ONE 1
90#define GL_SRC_COLOR 0x0300
91#define GL_ONE_MINUS_SRC_COLOR 0x0301
92#define GL_SRC_ALPHA 0x0302
93#define GL_ONE_MINUS_SRC_ALPHA 0x0303
94#define GL_DST_ALPHA 0x0304
95#define GL_ONE_MINUS_DST_ALPHA 0x0305
96#define GL_DST_COLOR 0x0306
97#define GL_ONE_MINUS_DST_COLOR 0x0307
98#define GL_SRC_ALPHA_SATURATE 0x0308
99#define GL_FUNC_ADD 0x8006
100#define GL_BLEND_EQUATION 0x8009
101#define GL_BLEND_EQUATION_RGB 0x8009
102#define GL_BLEND_EQUATION_ALPHA 0x883D
103#define GL_FUNC_SUBTRACT 0x800A
104#define GL_FUNC_REVERSE_SUBTRACT 0x800B
105#define GL_BLEND_DST_RGB 0x80C8
106#define GL_BLEND_SRC_RGB 0x80C9
107#define GL_BLEND_DST_ALPHA 0x80CA
108#define GL_BLEND_SRC_ALPHA 0x80CB
109#define GL_CONSTANT_COLOR 0x8001
110#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
111#define GL_CONSTANT_ALPHA 0x8003
112#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
113#define GL_BLEND_COLOR 0x8005
114#define GL_ARRAY_BUFFER 0x8892
115#define GL_ELEMENT_ARRAY_BUFFER 0x8893
116#define GL_ARRAY_BUFFER_BINDING 0x8894
117#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
118#define GL_STREAM_DRAW 0x88E0
119#define GL_STATIC_DRAW 0x88E4
120#define GL_DYNAMIC_DRAW 0x88E8
121#define GL_BUFFER_SIZE 0x8764
122#define GL_BUFFER_USAGE 0x8765
123#define GL_CURRENT_VERTEX_ATTRIB 0x8626
124#define GL_FRONT 0x0404
125#define GL_BACK 0x0405
126#define GL_FRONT_AND_BACK 0x0408
127#define GL_TEXTURE_2D 0x0DE1
128#define GL_CULL_FACE 0x0B44
129#define GL_BLEND 0x0BE2
130#define GL_DITHER 0x0BD0
131#define GL_STENCIL_TEST 0x0B90
132#define GL_DEPTH_TEST 0x0B71
133#define GL_SCISSOR_TEST 0x0C11
134#define GL_POLYGON_OFFSET_FILL 0x8037
135#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
136#define GL_SAMPLE_COVERAGE 0x80A0
137#define GL_NO_ERROR 0
138#define GL_INVALID_ENUM 0x0500
139#define GL_INVALID_VALUE 0x0501
140#define GL_INVALID_OPERATION 0x0502
141#define GL_OUT_OF_MEMORY 0x0505
142#define GL_CW 0x0900
143#define GL_CCW 0x0901
144#define GL_LINE_WIDTH 0x0B21
145#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
146#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
147#define GL_CULL_FACE_MODE 0x0B45
148#define GL_FRONT_FACE 0x0B46
149#define GL_DEPTH_RANGE 0x0B70
150#define GL_DEPTH_WRITEMASK 0x0B72
151#define GL_DEPTH_CLEAR_VALUE 0x0B73
152#define GL_DEPTH_FUNC 0x0B74
153#define GL_STENCIL_CLEAR_VALUE 0x0B91
154#define GL_STENCIL_FUNC 0x0B92
155#define GL_STENCIL_FAIL 0x0B94
156#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
157#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
158#define GL_STENCIL_REF 0x0B97
159#define GL_STENCIL_VALUE_MASK 0x0B93
160#define GL_STENCIL_WRITEMASK 0x0B98
161#define GL_STENCIL_BACK_FUNC 0x8800
162#define GL_STENCIL_BACK_FAIL 0x8801
163#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
164#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
165#define GL_STENCIL_BACK_REF 0x8CA3
166#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
167#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
168#define GL_VIEWPORT 0x0BA2
169#define GL_SCISSOR_BOX 0x0C10
170#define GL_COLOR_CLEAR_VALUE 0x0C22
171#define GL_COLOR_WRITEMASK 0x0C23
172#define GL_UNPACK_ALIGNMENT 0x0CF5
173#define GL_PACK_ALIGNMENT 0x0D05
174#define GL_MAX_TEXTURE_SIZE 0x0D33
175#define GL_MAX_VIEWPORT_DIMS 0x0D3A
176#define GL_SUBPIXEL_BITS 0x0D50
177#define GL_RED_BITS 0x0D52
178#define GL_GREEN_BITS 0x0D53
179#define GL_BLUE_BITS 0x0D54
180#define GL_ALPHA_BITS 0x0D55
181#define GL_DEPTH_BITS 0x0D56
182#define GL_STENCIL_BITS 0x0D57
183#define GL_POLYGON_OFFSET_UNITS 0x2A00
184#define GL_POLYGON_OFFSET_FACTOR 0x8038
185#define GL_TEXTURE_BINDING_2D 0x8069
186#define GL_SAMPLE_BUFFERS 0x80A8
187#define GL_SAMPLES 0x80A9
188#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
189#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
190#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
191#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
192#define GL_DONT_CARE 0x1100
193#define GL_FASTEST 0x1101
194#define GL_NICEST 0x1102
195#define GL_GENERATE_MIPMAP_HINT 0x8192
196#define GL_BYTE 0x1400
197#define GL_UNSIGNED_BYTE 0x1401
198#define GL_SHORT 0x1402
199#define GL_UNSIGNED_SHORT 0x1403
200#define GL_INT 0x1404
201#define GL_UNSIGNED_INT 0x1405
202#define GL_FLOAT 0x1406
203#define GL_FIXED 0x140C
204#define GL_DEPTH_COMPONENT 0x1902
205#define GL_ALPHA 0x1906
206#define GL_RGB 0x1907
207#define GL_RGBA 0x1908
208#define GL_LUMINANCE 0x1909
209#define GL_LUMINANCE_ALPHA 0x190A
210#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
211#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
212#define GL_UNSIGNED_SHORT_5_6_5 0x8363
213#define GL_FRAGMENT_SHADER 0x8B30
214#define GL_VERTEX_SHADER 0x8B31
215#define GL_MAX_VERTEX_ATTRIBS 0x8869
216#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
217#define GL_MAX_VARYING_VECTORS 0x8DFC
218#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
219#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
220#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
221#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
222#define GL_SHADER_TYPE 0x8B4F
223#define GL_DELETE_STATUS 0x8B80
224#define GL_LINK_STATUS 0x8B82
225#define GL_VALIDATE_STATUS 0x8B83
226#define GL_ATTACHED_SHADERS 0x8B85
227#define GL_ACTIVE_UNIFORMS 0x8B86
228#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
229#define GL_ACTIVE_ATTRIBUTES 0x8B89
230#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
231#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
232#define GL_CURRENT_PROGRAM 0x8B8D
233#define GL_NEVER 0x0200
234#define GL_LESS 0x0201
235#define GL_EQUAL 0x0202
236#define GL_LEQUAL 0x0203
237#define GL_GREATER 0x0204
238#define GL_NOTEQUAL 0x0205
239#define GL_GEQUAL 0x0206
240#define GL_ALWAYS 0x0207
241#define GL_KEEP 0x1E00
242#define GL_REPLACE 0x1E01
243#define GL_INCR 0x1E02
244#define GL_DECR 0x1E03
245#define GL_INVERT 0x150A
246#define GL_INCR_WRAP 0x8507
247#define GL_DECR_WRAP 0x8508
248#define GL_VENDOR 0x1F00
249#define GL_RENDERER 0x1F01
250#define GL_VERSION 0x1F02
251#define GL_EXTENSIONS 0x1F03
252#define GL_NEAREST 0x2600
253#define GL_LINEAR 0x2601
254#define GL_NEAREST_MIPMAP_NEAREST 0x2700
255#define GL_LINEAR_MIPMAP_NEAREST 0x2701
256#define GL_NEAREST_MIPMAP_LINEAR 0x2702
257#define GL_LINEAR_MIPMAP_LINEAR 0x2703
258#define GL_TEXTURE_MAG_FILTER 0x2800
259#define GL_TEXTURE_MIN_FILTER 0x2801
260#define GL_TEXTURE_WRAP_S 0x2802
261#define GL_TEXTURE_WRAP_T 0x2803
262#define GL_TEXTURE 0x1702
263#define GL_TEXTURE_CUBE_MAP 0x8513
264#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
265#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
266#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
267#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
268#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
269#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
270#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
271#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
272#define GL_TEXTURE0 0x84C0
273#define GL_TEXTURE1 0x84C1
274#define GL_TEXTURE2 0x84C2
275#define GL_TEXTURE3 0x84C3
276#define GL_TEXTURE4 0x84C4
277#define GL_TEXTURE5 0x84C5
278#define GL_TEXTURE6 0x84C6
279#define GL_TEXTURE7 0x84C7
280#define GL_TEXTURE8 0x84C8
281#define GL_TEXTURE9 0x84C9
282#define GL_TEXTURE10 0x84CA
283#define GL_TEXTURE11 0x84CB
284#define GL_TEXTURE12 0x84CC
285#define GL_TEXTURE13 0x84CD
286#define GL_TEXTURE14 0x84CE
287#define GL_TEXTURE15 0x84CF
288#define GL_TEXTURE16 0x84D0
289#define GL_TEXTURE17 0x84D1
290#define GL_TEXTURE18 0x84D2
291#define GL_TEXTURE19 0x84D3
292#define GL_TEXTURE20 0x84D4
293#define GL_TEXTURE21 0x84D5
294#define GL_TEXTURE22 0x84D6
295#define GL_TEXTURE23 0x84D7
296#define GL_TEXTURE24 0x84D8
297#define GL_TEXTURE25 0x84D9
298#define GL_TEXTURE26 0x84DA
299#define GL_TEXTURE27 0x84DB
300#define GL_TEXTURE28 0x84DC
301#define GL_TEXTURE29 0x84DD
302#define GL_TEXTURE30 0x84DE
303#define GL_TEXTURE31 0x84DF
304#define GL_ACTIVE_TEXTURE 0x84E0
305#define GL_REPEAT 0x2901
306#define GL_CLAMP_TO_EDGE 0x812F
307#define GL_MIRRORED_REPEAT 0x8370
308#define GL_FLOAT_VEC2 0x8B50
309#define GL_FLOAT_VEC3 0x8B51
310#define GL_FLOAT_VEC4 0x8B52
311#define GL_INT_VEC2 0x8B53
312#define GL_INT_VEC3 0x8B54
313#define GL_INT_VEC4 0x8B55
314#define GL_BOOL 0x8B56
315#define GL_BOOL_VEC2 0x8B57
316#define GL_BOOL_VEC3 0x8B58
317#define GL_BOOL_VEC4 0x8B59
318#define GL_FLOAT_MAT2 0x8B5A
319#define GL_FLOAT_MAT3 0x8B5B
320#define GL_FLOAT_MAT4 0x8B5C
321#define GL_SAMPLER_2D 0x8B5E
322#define GL_SAMPLER_CUBE 0x8B60
323#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
324#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
325#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
326#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
327#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
328#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
329#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
330#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
331#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
332#define GL_COMPILE_STATUS 0x8B81
333#define GL_INFO_LOG_LENGTH 0x8B84
334#define GL_SHADER_SOURCE_LENGTH 0x8B88
335#define GL_SHADER_COMPILER 0x8DFA
336#define GL_SHADER_BINARY_FORMATS 0x8DF8
337#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
338#define GL_LOW_FLOAT 0x8DF0
339#define GL_MEDIUM_FLOAT 0x8DF1
340#define GL_HIGH_FLOAT 0x8DF2
341#define GL_LOW_INT 0x8DF3
342#define GL_MEDIUM_INT 0x8DF4
343#define GL_HIGH_INT 0x8DF5
344#define GL_FRAMEBUFFER 0x8D40
345#define GL_RENDERBUFFER 0x8D41
346#define GL_RGBA4 0x8056
347#define GL_RGB5_A1 0x8057
348#define GL_RGB565 0x8D62
349#define GL_DEPTH_COMPONENT16 0x81A5
350#define GL_STENCIL_INDEX8 0x8D48
351#define GL_RENDERBUFFER_WIDTH 0x8D42
352#define GL_RENDERBUFFER_HEIGHT 0x8D43
353#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
354#define GL_RENDERBUFFER_RED_SIZE 0x8D50
355#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
356#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
357#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
358#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
359#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
360#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
361#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
362#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
363#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
364#define GL_COLOR_ATTACHMENT0 0x8CE0
365#define GL_DEPTH_ATTACHMENT 0x8D00
366#define GL_STENCIL_ATTACHMENT 0x8D20
367#define GL_NONE 0
368#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
369#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
370#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
371#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
372#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
373#define GL_FRAMEBUFFER_BINDING 0x8CA6
374#define GL_RENDERBUFFER_BINDING 0x8CA7
375#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
376#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
377GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture);
378GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
379GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
380GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
381GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
382GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
383GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
384GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
385GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode);
386GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
387GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
388GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
389GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage);
390GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data);
391GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target);
392GL_APICALL void GL_APIENTRY glClear (GLbitfield mask);
393GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
394GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d);
395GL_APICALL void GL_APIENTRY glClearStencil (GLint s);
396GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
397GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader);
398GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data);
399GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data);
400GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
401GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
402GL_APICALL GLuint GL_APIENTRY glCreateProgram (void);
403GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type);
404GL_APICALL void GL_APIENTRY glCullFace (GLenum mode);
405GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
406GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers);
407GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program);
408GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers);
409GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader);
410GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
411GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func);
412GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag);
413GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f);
414GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
415GL_APICALL void GL_APIENTRY glDisable (GLenum cap);
416GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index);
417GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
418GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices);
419GL_APICALL void GL_APIENTRY glEnable (GLenum cap);
420GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index);
421GL_APICALL void GL_APIENTRY glFinish (void);
422GL_APICALL void GL_APIENTRY glFlush (void);
423GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
424GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
425GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode);
426GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
427GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target);
428GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers);
429GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers);
430GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
431GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
432GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
433GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders);
434GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name);
435GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data);
436GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
437GL_APICALL GLenum GL_APIENTRY glGetError (void);
438GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data);
439GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params);
440GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data);
441GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params);
442GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
443GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params);
444GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params);
445GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
446GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision);
447GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
448GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name);
449GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
450GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
451GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params);
452GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params);
453GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name);
454GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params);
455GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params);
456GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer);
457GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode);
458GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
459GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
460GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
461GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program);
462GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
463GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader);
464GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture);
465GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width);
466GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program);
467GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
468GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
469GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
470GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void);
471GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
472GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert);
473GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
474GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length);
475GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length);
476GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
477GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
478GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask);
479GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
480GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
481GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
482GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels);
483GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
484GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
485GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
486GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
487GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels);
488GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0);
489GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value);
490GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0);
491GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value);
492GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1);
493GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value);
494GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1);
495GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value);
496GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
497GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value);
498GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2);
499GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value);
500GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
501GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value);
502GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
503GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value);
504GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
505GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
506GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
507GL_APICALL void GL_APIENTRY glUseProgram (GLuint program);
508GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program);
509GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x);
510GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v);
511GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y);
512GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v);
513GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z);
514GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v);
515GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
516GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v);
517GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer);
518GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
519#endif /* GL_ES_VERSION_2_0 */
520
521#ifndef GL_ES_VERSION_3_0
522#define GL_ES_VERSION_3_0 1
523typedef unsigned short GLhalf;
524#define GL_READ_BUFFER 0x0C02
525#define GL_UNPACK_ROW_LENGTH 0x0CF2
526#define GL_UNPACK_SKIP_ROWS 0x0CF3
527#define GL_UNPACK_SKIP_PIXELS 0x0CF4
528#define GL_PACK_ROW_LENGTH 0x0D02
529#define GL_PACK_SKIP_ROWS 0x0D03
530#define GL_PACK_SKIP_PIXELS 0x0D04
531#define GL_COLOR 0x1800
532#define GL_DEPTH 0x1801
533#define GL_STENCIL 0x1802
534#define GL_RED 0x1903
535#define GL_RGB8 0x8051
536#define GL_RGBA8 0x8058
537#define GL_RGB10_A2 0x8059
538#define GL_TEXTURE_BINDING_3D 0x806A
539#define GL_UNPACK_SKIP_IMAGES 0x806D
540#define GL_UNPACK_IMAGE_HEIGHT 0x806E
541#define GL_TEXTURE_3D 0x806F
542#define GL_TEXTURE_WRAP_R 0x8072
543#define GL_MAX_3D_TEXTURE_SIZE 0x8073
544#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
545#define GL_MAX_ELEMENTS_VERTICES 0x80E8
546#define GL_MAX_ELEMENTS_INDICES 0x80E9
547#define GL_TEXTURE_MIN_LOD 0x813A
548#define GL_TEXTURE_MAX_LOD 0x813B
549#define GL_TEXTURE_BASE_LEVEL 0x813C
550#define GL_TEXTURE_MAX_LEVEL 0x813D
551#define GL_MIN 0x8007
552#define GL_MAX 0x8008
553#define GL_DEPTH_COMPONENT24 0x81A6
554#define GL_MAX_TEXTURE_LOD_BIAS 0x84FD
555#define GL_TEXTURE_COMPARE_MODE 0x884C
556#define GL_TEXTURE_COMPARE_FUNC 0x884D
557#define GL_CURRENT_QUERY 0x8865
558#define GL_QUERY_RESULT 0x8866
559#define GL_QUERY_RESULT_AVAILABLE 0x8867
560#define GL_BUFFER_MAPPED 0x88BC
561#define GL_BUFFER_MAP_POINTER 0x88BD
562#define GL_STREAM_READ 0x88E1
563#define GL_STREAM_COPY 0x88E2
564#define GL_STATIC_READ 0x88E5
565#define GL_STATIC_COPY 0x88E6
566#define GL_DYNAMIC_READ 0x88E9
567#define GL_DYNAMIC_COPY 0x88EA
568#define GL_MAX_DRAW_BUFFERS 0x8824
569#define GL_DRAW_BUFFER0 0x8825
570#define GL_DRAW_BUFFER1 0x8826
571#define GL_DRAW_BUFFER2 0x8827
572#define GL_DRAW_BUFFER3 0x8828
573#define GL_DRAW_BUFFER4 0x8829
574#define GL_DRAW_BUFFER5 0x882A
575#define GL_DRAW_BUFFER6 0x882B
576#define GL_DRAW_BUFFER7 0x882C
577#define GL_DRAW_BUFFER8 0x882D
578#define GL_DRAW_BUFFER9 0x882E
579#define GL_DRAW_BUFFER10 0x882F
580#define GL_DRAW_BUFFER11 0x8830
581#define GL_DRAW_BUFFER12 0x8831
582#define GL_DRAW_BUFFER13 0x8832
583#define GL_DRAW_BUFFER14 0x8833
584#define GL_DRAW_BUFFER15 0x8834
585#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
586#define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
587#define GL_SAMPLER_3D 0x8B5F
588#define GL_SAMPLER_2D_SHADOW 0x8B62
589#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
590#define GL_PIXEL_PACK_BUFFER 0x88EB
591#define GL_PIXEL_UNPACK_BUFFER 0x88EC
592#define GL_PIXEL_PACK_BUFFER_BINDING 0x88ED
593#define GL_PIXEL_UNPACK_BUFFER_BINDING 0x88EF
594#define GL_FLOAT_MAT2x3 0x8B65
595#define GL_FLOAT_MAT2x4 0x8B66
596#define GL_FLOAT_MAT3x2 0x8B67
597#define GL_FLOAT_MAT3x4 0x8B68
598#define GL_FLOAT_MAT4x2 0x8B69
599#define GL_FLOAT_MAT4x3 0x8B6A
600#define GL_SRGB 0x8C40
601#define GL_SRGB8 0x8C41
602#define GL_SRGB8_ALPHA8 0x8C43
603#define GL_COMPARE_REF_TO_TEXTURE 0x884E
604#define GL_MAJOR_VERSION 0x821B
605#define GL_MINOR_VERSION 0x821C
606#define GL_NUM_EXTENSIONS 0x821D
607#define GL_RGBA32F 0x8814
608#define GL_RGB32F 0x8815
609#define GL_RGBA16F 0x881A
610#define GL_RGB16F 0x881B
611#define GL_VERTEX_ATTRIB_ARRAY_INTEGER 0x88FD
612#define GL_MAX_ARRAY_TEXTURE_LAYERS 0x88FF
613#define GL_MIN_PROGRAM_TEXEL_OFFSET 0x8904
614#define GL_MAX_PROGRAM_TEXEL_OFFSET 0x8905
615#define GL_MAX_VARYING_COMPONENTS 0x8B4B
616#define GL_TEXTURE_2D_ARRAY 0x8C1A
617#define GL_TEXTURE_BINDING_2D_ARRAY 0x8C1D
618#define GL_R11F_G11F_B10F 0x8C3A
619#define GL_UNSIGNED_INT_10F_11F_11F_REV 0x8C3B
620#define GL_RGB9_E5 0x8C3D
621#define GL_UNSIGNED_INT_5_9_9_9_REV 0x8C3E
622#define GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH 0x8C76
623#define GL_TRANSFORM_FEEDBACK_BUFFER_MODE 0x8C7F
624#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS 0x8C80
625#define GL_TRANSFORM_FEEDBACK_VARYINGS 0x8C83
626#define GL_TRANSFORM_FEEDBACK_BUFFER_START 0x8C84
627#define GL_TRANSFORM_FEEDBACK_BUFFER_SIZE 0x8C85
628#define GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN 0x8C88
629#define GL_RASTERIZER_DISCARD 0x8C89
630#define GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS 0x8C8A
631#define GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS 0x8C8B
632#define GL_INTERLEAVED_ATTRIBS 0x8C8C
633#define GL_SEPARATE_ATTRIBS 0x8C8D
634#define GL_TRANSFORM_FEEDBACK_BUFFER 0x8C8E
635#define GL_TRANSFORM_FEEDBACK_BUFFER_BINDING 0x8C8F
636#define GL_RGBA32UI 0x8D70
637#define GL_RGB32UI 0x8D71
638#define GL_RGBA16UI 0x8D76
639#define GL_RGB16UI 0x8D77
640#define GL_RGBA8UI 0x8D7C
641#define GL_RGB8UI 0x8D7D
642#define GL_RGBA32I 0x8D82
643#define GL_RGB32I 0x8D83
644#define GL_RGBA16I 0x8D88
645#define GL_RGB16I 0x8D89
646#define GL_RGBA8I 0x8D8E
647#define GL_RGB8I 0x8D8F
648#define GL_RED_INTEGER 0x8D94
649#define GL_RGB_INTEGER 0x8D98
650#define GL_RGBA_INTEGER 0x8D99
651#define GL_SAMPLER_2D_ARRAY 0x8DC1
652#define GL_SAMPLER_2D_ARRAY_SHADOW 0x8DC4
653#define GL_SAMPLER_CUBE_SHADOW 0x8DC5
654#define GL_UNSIGNED_INT_VEC2 0x8DC6
655#define GL_UNSIGNED_INT_VEC3 0x8DC7
656#define GL_UNSIGNED_INT_VEC4 0x8DC8
657#define GL_INT_SAMPLER_2D 0x8DCA
658#define GL_INT_SAMPLER_3D 0x8DCB
659#define GL_INT_SAMPLER_CUBE 0x8DCC
660#define GL_INT_SAMPLER_2D_ARRAY 0x8DCF
661#define GL_UNSIGNED_INT_SAMPLER_2D 0x8DD2
662#define GL_UNSIGNED_INT_SAMPLER_3D 0x8DD3
663#define GL_UNSIGNED_INT_SAMPLER_CUBE 0x8DD4
664#define GL_UNSIGNED_INT_SAMPLER_2D_ARRAY 0x8DD7
665#define GL_BUFFER_ACCESS_FLAGS 0x911F
666#define GL_BUFFER_MAP_LENGTH 0x9120
667#define GL_BUFFER_MAP_OFFSET 0x9121
668#define GL_DEPTH_COMPONENT32F 0x8CAC
669#define GL_DEPTH32F_STENCIL8 0x8CAD
670#define GL_FLOAT_32_UNSIGNED_INT_24_8_REV 0x8DAD
671#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING 0x8210
672#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE 0x8211
673#define GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
674#define GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
675#define GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
676#define GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
677#define GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
678#define GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
679#define GL_FRAMEBUFFER_DEFAULT 0x8218
680#define GL_FRAMEBUFFER_UNDEFINED 0x8219
681#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
682#define GL_DEPTH_STENCIL 0x84F9
683#define GL_UNSIGNED_INT_24_8 0x84FA
684#define GL_DEPTH24_STENCIL8 0x88F0
685#define GL_UNSIGNED_NORMALIZED 0x8C17
686#define GL_DRAW_FRAMEBUFFER_BINDING 0x8CA6
687#define GL_READ_FRAMEBUFFER 0x8CA8
688#define GL_DRAW_FRAMEBUFFER 0x8CA9
689#define GL_READ_FRAMEBUFFER_BINDING 0x8CAA
690#define GL_RENDERBUFFER_SAMPLES 0x8CAB
691#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
692#define GL_MAX_COLOR_ATTACHMENTS 0x8CDF
693#define GL_COLOR_ATTACHMENT1 0x8CE1
694#define GL_COLOR_ATTACHMENT2 0x8CE2
695#define GL_COLOR_ATTACHMENT3 0x8CE3
696#define GL_COLOR_ATTACHMENT4 0x8CE4
697#define GL_COLOR_ATTACHMENT5 0x8CE5
698#define GL_COLOR_ATTACHMENT6 0x8CE6
699#define GL_COLOR_ATTACHMENT7 0x8CE7
700#define GL_COLOR_ATTACHMENT8 0x8CE8
701#define GL_COLOR_ATTACHMENT9 0x8CE9
702#define GL_COLOR_ATTACHMENT10 0x8CEA
703#define GL_COLOR_ATTACHMENT11 0x8CEB
704#define GL_COLOR_ATTACHMENT12 0x8CEC
705#define GL_COLOR_ATTACHMENT13 0x8CED
706#define GL_COLOR_ATTACHMENT14 0x8CEE
707#define GL_COLOR_ATTACHMENT15 0x8CEF
708#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE 0x8D56
709#define GL_MAX_SAMPLES 0x8D57
710#define GL_HALF_FLOAT 0x140B
711#define GL_MAP_READ_BIT 0x0001
712#define GL_MAP_WRITE_BIT 0x0002
713#define GL_MAP_INVALIDATE_RANGE_BIT 0x0004
714#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
715#define GL_MAP_FLUSH_EXPLICIT_BIT 0x0010
716#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
717#define GL_RG 0x8227
718#define GL_RG_INTEGER 0x8228
719#define GL_R8 0x8229
720#define GL_RG8 0x822B
721#define GL_R16F 0x822D
722#define GL_R32F 0x822E
723#define GL_RG16F 0x822F
724#define GL_RG32F 0x8230
725#define GL_R8I 0x8231
726#define GL_R8UI 0x8232
727#define GL_R16I 0x8233
728#define GL_R16UI 0x8234
729#define GL_R32I 0x8235
730#define GL_R32UI 0x8236
731#define GL_RG8I 0x8237
732#define GL_RG8UI 0x8238
733#define GL_RG16I 0x8239
734#define GL_RG16UI 0x823A
735#define GL_RG32I 0x823B
736#define GL_RG32UI 0x823C
737#define GL_VERTEX_ARRAY_BINDING 0x85B5
738#define GL_R8_SNORM 0x8F94
739#define GL_RG8_SNORM 0x8F95
740#define GL_RGB8_SNORM 0x8F96
741#define GL_RGBA8_SNORM 0x8F97
742#define GL_SIGNED_NORMALIZED 0x8F9C
743#define GL_PRIMITIVE_RESTART_FIXED_INDEX 0x8D69
744#define GL_COPY_READ_BUFFER 0x8F36
745#define GL_COPY_WRITE_BUFFER 0x8F37
746#define GL_COPY_READ_BUFFER_BINDING 0x8F36
747#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37
748#define GL_UNIFORM_BUFFER 0x8A11
749#define GL_UNIFORM_BUFFER_BINDING 0x8A28
750#define GL_UNIFORM_BUFFER_START 0x8A29
751#define GL_UNIFORM_BUFFER_SIZE 0x8A2A
752#define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B
753#define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D
754#define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E
755#define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F
756#define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30
757#define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31
758#define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33
759#define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34
760#define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35
761#define GL_ACTIVE_UNIFORM_BLOCKS 0x8A36
762#define GL_UNIFORM_TYPE 0x8A37
763#define GL_UNIFORM_SIZE 0x8A38
764#define GL_UNIFORM_NAME_LENGTH 0x8A39
765#define GL_UNIFORM_BLOCK_INDEX 0x8A3A
766#define GL_UNIFORM_OFFSET 0x8A3B
767#define GL_UNIFORM_ARRAY_STRIDE 0x8A3C
768#define GL_UNIFORM_MATRIX_STRIDE 0x8A3D
769#define GL_UNIFORM_IS_ROW_MAJOR 0x8A3E
770#define GL_UNIFORM_BLOCK_BINDING 0x8A3F
771#define GL_UNIFORM_BLOCK_DATA_SIZE 0x8A40
772#define GL_UNIFORM_BLOCK_NAME_LENGTH 0x8A41
773#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42
774#define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43
775#define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44
776#define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46
777#define GL_INVALID_INDEX 0xFFFFFFFFu
778#define GL_MAX_VERTEX_OUTPUT_COMPONENTS 0x9122
779#define GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
780#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
781#define GL_OBJECT_TYPE 0x9112
782#define GL_SYNC_CONDITION 0x9113
783#define GL_SYNC_STATUS 0x9114
784#define GL_SYNC_FLAGS 0x9115
785#define GL_SYNC_FENCE 0x9116
786#define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
787#define GL_UNSIGNALED 0x9118
788#define GL_SIGNALED 0x9119
789#define GL_ALREADY_SIGNALED 0x911A
790#define GL_TIMEOUT_EXPIRED 0x911B
791#define GL_CONDITION_SATISFIED 0x911C
792#define GL_WAIT_FAILED 0x911D
793#define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
794#define GL_TIMEOUT_IGNORED 0xFFFFFFFFFFFFFFFFull
795#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
796#define GL_ANY_SAMPLES_PASSED 0x8C2F
797#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE 0x8D6A
798#define GL_SAMPLER_BINDING 0x8919
799#define GL_RGB10_A2UI 0x906F
800#define GL_TEXTURE_SWIZZLE_R 0x8E42
801#define GL_TEXTURE_SWIZZLE_G 0x8E43
802#define GL_TEXTURE_SWIZZLE_B 0x8E44
803#define GL_TEXTURE_SWIZZLE_A 0x8E45
804#define GL_GREEN 0x1904
805#define GL_BLUE 0x1905
806#define GL_INT_2_10_10_10_REV 0x8D9F
807#define GL_TRANSFORM_FEEDBACK 0x8E22
808#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23
809#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24
810#define GL_TRANSFORM_FEEDBACK_BINDING 0x8E25
811#define GL_PROGRAM_BINARY_RETRIEVABLE_HINT 0x8257
812#define GL_PROGRAM_BINARY_LENGTH 0x8741
813#define GL_NUM_PROGRAM_BINARY_FORMATS 0x87FE
814#define GL_PROGRAM_BINARY_FORMATS 0x87FF
815#define GL_COMPRESSED_R11_EAC 0x9270
816#define GL_COMPRESSED_SIGNED_R11_EAC 0x9271
817#define GL_COMPRESSED_RG11_EAC 0x9272
818#define GL_COMPRESSED_SIGNED_RG11_EAC 0x9273
819#define GL_COMPRESSED_RGB8_ETC2 0x9274
820#define GL_COMPRESSED_SRGB8_ETC2 0x9275
821#define GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9276
822#define GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 0x9277
823#define GL_COMPRESSED_RGBA8_ETC2_EAC 0x9278
824#define GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC 0x9279
825#define GL_TEXTURE_IMMUTABLE_FORMAT 0x912F
826#define GL_MAX_ELEMENT_INDEX 0x8D6B
827#define GL_NUM_SAMPLE_COUNTS 0x9380
828#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF
829GL_APICALL void GL_APIENTRY glReadBuffer (GLenum mode);
830GL_APICALL void GL_APIENTRY glDrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices);
831GL_APICALL void GL_APIENTRY glTexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels);
832GL_APICALL void GL_APIENTRY glTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels);
833GL_APICALL void GL_APIENTRY glCopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
834GL_APICALL void GL_APIENTRY glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data);
835GL_APICALL void GL_APIENTRY glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data);
836GL_APICALL void GL_APIENTRY glGenQueries (GLsizei n, GLuint *ids);
837GL_APICALL void GL_APIENTRY glDeleteQueries (GLsizei n, const GLuint *ids);
838GL_APICALL GLboolean GL_APIENTRY glIsQuery (GLuint id);
839GL_APICALL void GL_APIENTRY glBeginQuery (GLenum target, GLuint id);
840GL_APICALL void GL_APIENTRY glEndQuery (GLenum target);
841GL_APICALL void GL_APIENTRY glGetQueryiv (GLenum target, GLenum pname, GLint *params);
842GL_APICALL void GL_APIENTRY glGetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params);
843GL_APICALL GLboolean GL_APIENTRY glUnmapBuffer (GLenum target);
844GL_APICALL void GL_APIENTRY glGetBufferPointerv (GLenum target, GLenum pname, void **params);
845GL_APICALL void GL_APIENTRY glDrawBuffers (GLsizei n, const GLenum *bufs);
846GL_APICALL void GL_APIENTRY glUniformMatrix2x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
847GL_APICALL void GL_APIENTRY glUniformMatrix3x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
848GL_APICALL void GL_APIENTRY glUniformMatrix2x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
849GL_APICALL void GL_APIENTRY glUniformMatrix4x2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
850GL_APICALL void GL_APIENTRY glUniformMatrix3x4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
851GL_APICALL void GL_APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
852GL_APICALL void GL_APIENTRY glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
853GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
854GL_APICALL void GL_APIENTRY glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
855GL_APICALL void *GL_APIENTRY glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
856GL_APICALL void GL_APIENTRY glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length);
857GL_APICALL void GL_APIENTRY glBindVertexArray (GLuint array);
858GL_APICALL void GL_APIENTRY glDeleteVertexArrays (GLsizei n, const GLuint *arrays);
859GL_APICALL void GL_APIENTRY glGenVertexArrays (GLsizei n, GLuint *arrays);
860GL_APICALL GLboolean GL_APIENTRY glIsVertexArray (GLuint array);
861GL_APICALL void GL_APIENTRY glGetIntegeri_v (GLenum target, GLuint index, GLint *data);
862GL_APICALL void GL_APIENTRY glBeginTransformFeedback (GLenum primitiveMode);
863GL_APICALL void GL_APIENTRY glEndTransformFeedback (void);
864GL_APICALL void GL_APIENTRY glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size);
865GL_APICALL void GL_APIENTRY glBindBufferBase (GLenum target, GLuint index, GLuint buffer);
866GL_APICALL void GL_APIENTRY glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode);
867GL_APICALL void GL_APIENTRY glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name);
868GL_APICALL void GL_APIENTRY glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer);
869GL_APICALL void GL_APIENTRY glGetVertexAttribIiv (GLuint index, GLenum pname, GLint *params);
870GL_APICALL void GL_APIENTRY glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint *params);
871GL_APICALL void GL_APIENTRY glVertexAttribI4i (GLuint index, GLint x, GLint y, GLint z, GLint w);
872GL_APICALL void GL_APIENTRY glVertexAttribI4ui (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w);
873GL_APICALL void GL_APIENTRY glVertexAttribI4iv (GLuint index, const GLint *v);
874GL_APICALL void GL_APIENTRY glVertexAttribI4uiv (GLuint index, const GLuint *v);
875GL_APICALL void GL_APIENTRY glGetUniformuiv (GLuint program, GLint location, GLuint *params);
876GL_APICALL GLint GL_APIENTRY glGetFragDataLocation (GLuint program, const GLchar *name);
877GL_APICALL void GL_APIENTRY glUniform1ui (GLint location, GLuint v0);
878GL_APICALL void GL_APIENTRY glUniform2ui (GLint location, GLuint v0, GLuint v1);
879GL_APICALL void GL_APIENTRY glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2);
880GL_APICALL void GL_APIENTRY glUniform4ui (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
881GL_APICALL void GL_APIENTRY glUniform1uiv (GLint location, GLsizei count, const GLuint *value);
882GL_APICALL void GL_APIENTRY glUniform2uiv (GLint location, GLsizei count, const GLuint *value);
883GL_APICALL void GL_APIENTRY glUniform3uiv (GLint location, GLsizei count, const GLuint *value);
884GL_APICALL void GL_APIENTRY glUniform4uiv (GLint location, GLsizei count, const GLuint *value);
885GL_APICALL void GL_APIENTRY glClearBufferiv (GLenum buffer, GLint drawbuffer, const GLint *value);
886GL_APICALL void GL_APIENTRY glClearBufferuiv (GLenum buffer, GLint drawbuffer, const GLuint *value);
887GL_APICALL void GL_APIENTRY glClearBufferfv (GLenum buffer, GLint drawbuffer, const GLfloat *value);
888GL_APICALL void GL_APIENTRY glClearBufferfi (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil);
889GL_APICALL const GLubyte *GL_APIENTRY glGetStringi (GLenum name, GLuint index);
890GL_APICALL void GL_APIENTRY glCopyBufferSubData (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size);
891GL_APICALL void GL_APIENTRY glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices);
892GL_APICALL void GL_APIENTRY glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params);
893GL_APICALL GLuint GL_APIENTRY glGetUniformBlockIndex (GLuint program, const GLchar *uniformBlockName);
894GL_APICALL void GL_APIENTRY glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
895GL_APICALL void GL_APIENTRY glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName);
896GL_APICALL void GL_APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
897GL_APICALL void GL_APIENTRY glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instancecount);
898GL_APICALL void GL_APIENTRY glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount);
899GL_APICALL GLsync GL_APIENTRY glFenceSync (GLenum condition, GLbitfield flags);
900GL_APICALL GLboolean GL_APIENTRY glIsSync (GLsync sync);
901GL_APICALL void GL_APIENTRY glDeleteSync (GLsync sync);
902GL_APICALL GLenum GL_APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
903GL_APICALL void GL_APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout);
904GL_APICALL void GL_APIENTRY glGetInteger64v (GLenum pname, GLint64 *data);
905GL_APICALL void GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values);
906GL_APICALL void GL_APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data);
907GL_APICALL void GL_APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params);
908GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers);
909GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers);
910GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler);
911GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler);
912GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param);
913GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param);
914GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param);
915GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param);
916GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params);
917GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params);
918GL_APICALL void GL_APIENTRY glVertexAttribDivisor (GLuint index, GLuint divisor);
919GL_APICALL void GL_APIENTRY glBindTransformFeedback (GLenum target, GLuint id);
920GL_APICALL void GL_APIENTRY glDeleteTransformFeedbacks (GLsizei n, const GLuint *ids);
921GL_APICALL void GL_APIENTRY glGenTransformFeedbacks (GLsizei n, GLuint *ids);
922GL_APICALL GLboolean GL_APIENTRY glIsTransformFeedback (GLuint id);
923GL_APICALL void GL_APIENTRY glPauseTransformFeedback (void);
924GL_APICALL void GL_APIENTRY glResumeTransformFeedback (void);
925GL_APICALL void GL_APIENTRY glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary);
926GL_APICALL void GL_APIENTRY glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length);
927GL_APICALL void GL_APIENTRY glProgramParameteri (GLuint program, GLenum pname, GLint value);
928GL_APICALL void GL_APIENTRY glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
929GL_APICALL void GL_APIENTRY glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height);
930GL_APICALL void GL_APIENTRY glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height);
931GL_APICALL void GL_APIENTRY glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth);
932GL_APICALL void GL_APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params);
933#endif /* GL_ES_VERSION_3_0 */
934
935#ifndef GL_ES_VERSION_3_1
936#define GL_ES_VERSION_3_1 1
937#define GL_COMPUTE_SHADER 0x91B9
938#define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB
939#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
940#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
941#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
942#define GL_MAX_COMPUTE_UNIFORM_COMPONENTS 0x8263
943#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
944#define GL_MAX_COMPUTE_ATOMIC_COUNTERS 0x8265
945#define GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS 0x8266
946#define GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS 0x90EB
947#define GL_MAX_COMPUTE_WORK_GROUP_COUNT 0x91BE
948#define GL_MAX_COMPUTE_WORK_GROUP_SIZE 0x91BF
949#define GL_COMPUTE_WORK_GROUP_SIZE 0x8267
950#define GL_DISPATCH_INDIRECT_BUFFER 0x90EE
951#define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF
952#define GL_COMPUTE_SHADER_BIT 0x00000020
953#define GL_DRAW_INDIRECT_BUFFER 0x8F3F
954#define GL_DRAW_INDIRECT_BUFFER_BINDING 0x8F43
955#define GL_MAX_UNIFORM_LOCATIONS 0x826E
956#define GL_FRAMEBUFFER_DEFAULT_WIDTH 0x9310
957#define GL_FRAMEBUFFER_DEFAULT_HEIGHT 0x9311
958#define GL_FRAMEBUFFER_DEFAULT_SAMPLES 0x9313
959#define GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS 0x9314
960#define GL_MAX_FRAMEBUFFER_WIDTH 0x9315
961#define GL_MAX_FRAMEBUFFER_HEIGHT 0x9316
962#define GL_MAX_FRAMEBUFFER_SAMPLES 0x9318
963#define GL_UNIFORM 0x92E1
964#define GL_UNIFORM_BLOCK 0x92E2
965#define GL_PROGRAM_INPUT 0x92E3
966#define GL_PROGRAM_OUTPUT 0x92E4
967#define GL_BUFFER_VARIABLE 0x92E5
968#define GL_SHADER_STORAGE_BLOCK 0x92E6
969#define GL_ATOMIC_COUNTER_BUFFER 0x92C0
970#define GL_TRANSFORM_FEEDBACK_VARYING 0x92F4
971#define GL_ACTIVE_RESOURCES 0x92F5
972#define GL_MAX_NAME_LENGTH 0x92F6
973#define GL_MAX_NUM_ACTIVE_VARIABLES 0x92F7
974#define GL_NAME_LENGTH 0x92F9
975#define GL_TYPE 0x92FA
976#define GL_ARRAY_SIZE 0x92FB
977#define GL_OFFSET 0x92FC
978#define GL_BLOCK_INDEX 0x92FD
979#define GL_ARRAY_STRIDE 0x92FE
980#define GL_MATRIX_STRIDE 0x92FF
981#define GL_IS_ROW_MAJOR 0x9300
982#define GL_ATOMIC_COUNTER_BUFFER_INDEX 0x9301
983#define GL_BUFFER_BINDING 0x9302
984#define GL_BUFFER_DATA_SIZE 0x9303
985#define GL_NUM_ACTIVE_VARIABLES 0x9304
986#define GL_ACTIVE_VARIABLES 0x9305
987#define GL_REFERENCED_BY_VERTEX_SHADER 0x9306
988#define GL_REFERENCED_BY_FRAGMENT_SHADER 0x930A
989#define GL_REFERENCED_BY_COMPUTE_SHADER 0x930B
990#define GL_TOP_LEVEL_ARRAY_SIZE 0x930C
991#define GL_TOP_LEVEL_ARRAY_STRIDE 0x930D
992#define GL_LOCATION 0x930E
993#define GL_VERTEX_SHADER_BIT 0x00000001
994#define GL_FRAGMENT_SHADER_BIT 0x00000002
995#define GL_ALL_SHADER_BITS 0xFFFFFFFF
996#define GL_PROGRAM_SEPARABLE 0x8258
997#define GL_ACTIVE_PROGRAM 0x8259
998#define GL_PROGRAM_PIPELINE_BINDING 0x825A
999#define GL_ATOMIC_COUNTER_BUFFER_BINDING 0x92C1
1000#define GL_ATOMIC_COUNTER_BUFFER_START 0x92C2
1001#define GL_ATOMIC_COUNTER_BUFFER_SIZE 0x92C3
1002#define GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS 0x92CC
1003#define GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS 0x92D0
1004#define GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS 0x92D1
1005#define GL_MAX_VERTEX_ATOMIC_COUNTERS 0x92D2
1006#define GL_MAX_FRAGMENT_ATOMIC_COUNTERS 0x92D6
1007#define GL_MAX_COMBINED_ATOMIC_COUNTERS 0x92D7
1008#define GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE 0x92D8
1009#define GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS 0x92DC
1010#define GL_ACTIVE_ATOMIC_COUNTER_BUFFERS 0x92D9
1011#define GL_UNSIGNED_INT_ATOMIC_COUNTER 0x92DB
1012#define GL_MAX_IMAGE_UNITS 0x8F38
1013#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
1014#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
1015#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
1016#define GL_IMAGE_BINDING_NAME 0x8F3A
1017#define GL_IMAGE_BINDING_LEVEL 0x8F3B
1018#define GL_IMAGE_BINDING_LAYERED 0x8F3C
1019#define GL_IMAGE_BINDING_LAYER 0x8F3D
1020#define GL_IMAGE_BINDING_ACCESS 0x8F3E
1021#define GL_IMAGE_BINDING_FORMAT 0x906E
1022#define GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT 0x00000001
1023#define GL_ELEMENT_ARRAY_BARRIER_BIT 0x00000002
1024#define GL_UNIFORM_BARRIER_BIT 0x00000004
1025#define GL_TEXTURE_FETCH_BARRIER_BIT 0x00000008
1026#define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
1027#define GL_COMMAND_BARRIER_BIT 0x00000040
1028#define GL_PIXEL_BUFFER_BARRIER_BIT 0x00000080
1029#define GL_TEXTURE_UPDATE_BARRIER_BIT 0x00000100
1030#define GL_BUFFER_UPDATE_BARRIER_BIT 0x00000200
1031#define GL_FRAMEBUFFER_BARRIER_BIT 0x00000400
1032#define GL_TRANSFORM_FEEDBACK_BARRIER_BIT 0x00000800
1033#define GL_ATOMIC_COUNTER_BARRIER_BIT 0x00001000
1034#define GL_ALL_BARRIER_BITS 0xFFFFFFFF
1035#define GL_IMAGE_2D 0x904D
1036#define GL_IMAGE_3D 0x904E
1037#define GL_IMAGE_CUBE 0x9050
1038#define GL_IMAGE_2D_ARRAY 0x9053
1039#define GL_INT_IMAGE_2D 0x9058
1040#define GL_INT_IMAGE_3D 0x9059
1041#define GL_INT_IMAGE_CUBE 0x905B
1042#define GL_INT_IMAGE_2D_ARRAY 0x905E
1043#define GL_UNSIGNED_INT_IMAGE_2D 0x9063
1044#define GL_UNSIGNED_INT_IMAGE_3D 0x9064
1045#define GL_UNSIGNED_INT_IMAGE_CUBE 0x9066
1046#define GL_UNSIGNED_INT_IMAGE_2D_ARRAY 0x9069
1047#define GL_IMAGE_FORMAT_COMPATIBILITY_TYPE 0x90C7
1048#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE 0x90C8
1049#define GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS 0x90C9
1050#define GL_READ_ONLY 0x88B8
1051#define GL_WRITE_ONLY 0x88B9
1052#define GL_READ_WRITE 0x88BA
1053#define GL_SHADER_STORAGE_BUFFER 0x90D2
1054#define GL_SHADER_STORAGE_BUFFER_BINDING 0x90D3
1055#define GL_SHADER_STORAGE_BUFFER_START 0x90D4
1056#define GL_SHADER_STORAGE_BUFFER_SIZE 0x90D5
1057#define GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS 0x90D6
1058#define GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS 0x90DA
1059#define GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS 0x90DB
1060#define GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS 0x90DC
1061#define GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS 0x90DD
1062#define GL_MAX_SHADER_STORAGE_BLOCK_SIZE 0x90DE
1063#define GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT 0x90DF
1064#define GL_SHADER_STORAGE_BARRIER_BIT 0x00002000
1065#define GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES 0x8F39
1066#define GL_DEPTH_STENCIL_TEXTURE_MODE 0x90EA
1067#define GL_STENCIL_INDEX 0x1901
1068#define GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E
1069#define GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5F
1070#define GL_SAMPLE_POSITION 0x8E50
1071#define GL_SAMPLE_MASK 0x8E51
1072#define GL_SAMPLE_MASK_VALUE 0x8E52
1073#define GL_TEXTURE_2D_MULTISAMPLE 0x9100
1074#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
1075#define GL_MAX_COLOR_TEXTURE_SAMPLES 0x910E
1076#define GL_MAX_DEPTH_TEXTURE_SAMPLES 0x910F
1077#define GL_MAX_INTEGER_SAMPLES 0x9110
1078#define GL_TEXTURE_BINDING_2D_MULTISAMPLE 0x9104
1079#define GL_TEXTURE_SAMPLES 0x9106
1080#define GL_TEXTURE_FIXED_SAMPLE_LOCATIONS 0x9107
1081#define GL_TEXTURE_WIDTH 0x1000
1082#define GL_TEXTURE_HEIGHT 0x1001
1083#define GL_TEXTURE_DEPTH 0x8071
1084#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
1085#define GL_TEXTURE_RED_SIZE 0x805C
1086#define GL_TEXTURE_GREEN_SIZE 0x805D
1087#define GL_TEXTURE_BLUE_SIZE 0x805E
1088#define GL_TEXTURE_ALPHA_SIZE 0x805F
1089#define GL_TEXTURE_DEPTH_SIZE 0x884A
1090#define GL_TEXTURE_STENCIL_SIZE 0x88F1
1091#define GL_TEXTURE_SHARED_SIZE 0x8C3F
1092#define GL_TEXTURE_RED_TYPE 0x8C10
1093#define GL_TEXTURE_GREEN_TYPE 0x8C11
1094#define GL_TEXTURE_BLUE_TYPE 0x8C12
1095#define GL_TEXTURE_ALPHA_TYPE 0x8C13
1096#define GL_TEXTURE_DEPTH_TYPE 0x8C16
1097#define GL_TEXTURE_COMPRESSED 0x86A1
1098#define GL_SAMPLER_2D_MULTISAMPLE 0x9108
1099#define GL_INT_SAMPLER_2D_MULTISAMPLE 0x9109
1100#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE 0x910A
1101#define GL_VERTEX_ATTRIB_BINDING 0x82D4
1102#define GL_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D5
1103#define GL_VERTEX_BINDING_DIVISOR 0x82D6
1104#define GL_VERTEX_BINDING_OFFSET 0x82D7
1105#define GL_VERTEX_BINDING_STRIDE 0x82D8
1106#define GL_VERTEX_BINDING_BUFFER 0x8F4F
1107#define GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET 0x82D9
1108#define GL_MAX_VERTEX_ATTRIB_BINDINGS 0x82DA
1109#define GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5
1110GL_APICALL void GL_APIENTRY glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z);
1111GL_APICALL void GL_APIENTRY glDispatchComputeIndirect (GLintptr indirect);
1112GL_APICALL void GL_APIENTRY glDrawArraysIndirect (GLenum mode, const void *indirect);
1113GL_APICALL void GL_APIENTRY glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect);
1114GL_APICALL void GL_APIENTRY glFramebufferParameteri (GLenum target, GLenum pname, GLint param);
1115GL_APICALL void GL_APIENTRY glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params);
1116GL_APICALL void GL_APIENTRY glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params);
1117GL_APICALL GLuint GL_APIENTRY glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name);
1118GL_APICALL void GL_APIENTRY glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name);
1119GL_APICALL void GL_APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params);
1120GL_APICALL GLint GL_APIENTRY glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name);
1121GL_APICALL void GL_APIENTRY glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program);
1122GL_APICALL void GL_APIENTRY glActiveShaderProgram (GLuint pipeline, GLuint program);
1123GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar *const*strings);
1124GL_APICALL void GL_APIENTRY glBindProgramPipeline (GLuint pipeline);
1125GL_APICALL void GL_APIENTRY glDeleteProgramPipelines (GLsizei n, const GLuint *pipelines);
1126GL_APICALL void GL_APIENTRY glGenProgramPipelines (GLsizei n, GLuint *pipelines);
1127GL_APICALL GLboolean GL_APIENTRY glIsProgramPipeline (GLuint pipeline);
1128GL_APICALL void GL_APIENTRY glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint *params);
1129GL_APICALL void GL_APIENTRY glProgramUniform1i (GLuint program, GLint location, GLint v0);
1130GL_APICALL void GL_APIENTRY glProgramUniform2i (GLuint program, GLint location, GLint v0, GLint v1);
1131GL_APICALL void GL_APIENTRY glProgramUniform3i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2);
1132GL_APICALL void GL_APIENTRY glProgramUniform4i (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
1133GL_APICALL void GL_APIENTRY glProgramUniform1ui (GLuint program, GLint location, GLuint v0);
1134GL_APICALL void GL_APIENTRY glProgramUniform2ui (GLuint program, GLint location, GLuint v0, GLuint v1);
1135GL_APICALL void GL_APIENTRY glProgramUniform3ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2);
1136GL_APICALL void GL_APIENTRY glProgramUniform4ui (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3);
1137GL_APICALL void GL_APIENTRY glProgramUniform1f (GLuint program, GLint location, GLfloat v0);
1138GL_APICALL void GL_APIENTRY glProgramUniform2f (GLuint program, GLint location, GLfloat v0, GLfloat v1);
1139GL_APICALL void GL_APIENTRY glProgramUniform3f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
1140GL_APICALL void GL_APIENTRY glProgramUniform4f (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
1141GL_APICALL void GL_APIENTRY glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1142GL_APICALL void GL_APIENTRY glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1143GL_APICALL void GL_APIENTRY glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1144GL_APICALL void GL_APIENTRY glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint *value);
1145GL_APICALL void GL_APIENTRY glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1146GL_APICALL void GL_APIENTRY glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1147GL_APICALL void GL_APIENTRY glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1148GL_APICALL void GL_APIENTRY glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint *value);
1149GL_APICALL void GL_APIENTRY glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1150GL_APICALL void GL_APIENTRY glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1151GL_APICALL void GL_APIENTRY glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1152GL_APICALL void GL_APIENTRY glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat *value);
1153GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1154GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1155GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1156GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1157GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1158GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1159GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1160GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1161GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
1162GL_APICALL void GL_APIENTRY glValidateProgramPipeline (GLuint pipeline);
1163GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
1164GL_APICALL void GL_APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format);
1165GL_APICALL void GL_APIENTRY glGetBooleani_v (GLenum target, GLuint index, GLboolean *data);
1166GL_APICALL void GL_APIENTRY glMemoryBarrier (GLbitfield barriers);
1167GL_APICALL void GL_APIENTRY glMemoryBarrierByRegion (GLbitfield barriers);
1168GL_APICALL void GL_APIENTRY glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations);
1169GL_APICALL void GL_APIENTRY glGetMultisamplefv (GLenum pname, GLuint index, GLfloat *val);
1170GL_APICALL void GL_APIENTRY glSampleMaski (GLuint maskNumber, GLbitfield mask);
1171GL_APICALL void GL_APIENTRY glGetTexLevelParameteriv (GLenum target, GLint level, GLenum pname, GLint *params);
1172GL_APICALL void GL_APIENTRY glGetTexLevelParameterfv (GLenum target, GLint level, GLenum pname, GLfloat *params);
1173GL_APICALL void GL_APIENTRY glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride);
1174GL_APICALL void GL_APIENTRY glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset);
1175GL_APICALL void GL_APIENTRY glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset);
1176GL_APICALL void GL_APIENTRY glVertexAttribBinding (GLuint attribindex, GLuint bindingindex);
1177GL_APICALL void GL_APIENTRY glVertexBindingDivisor (GLuint bindingindex, GLuint divisor);
1178#endif /* GL_ES_VERSION_3_1 */
1179
1180#ifdef __cplusplus
1181}
1182#endif
1183
1184#endif
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3platform.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3platform.h
new file mode 100644
index 0000000..b1e869d
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/GLES3/gl3platform.h
@@ -0,0 +1,30 @@
1#ifndef __gl3platform_h_
2#define __gl3platform_h_
3
4/* $Revision: 23328 $ on $Date:: 2013-10-02 02:28:28 -0700 #$ */
5
6/*
7 * This document is licensed under the SGI Free Software B License Version
8 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
9 */
10
11/* Platform-specific types and definitions for OpenGL ES 3.X gl3.h
12 *
13 * Adopters may modify khrplatform.h and this file to suit their platform.
14 * You are encouraged to submit all modifications to the Khronos group so that
15 * they can be included in future versions of this file. Please submit changes
16 * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
17 * by filing a bug against product "OpenGL-ES" component "Registry".
18 */
19
20#include <KHR/khrplatform.h>
21
22#ifndef GL_APICALL
23#define GL_APICALL KHRONOS_APICALL
24#endif
25
26#ifndef GL_APIENTRY
27#define GL_APIENTRY KHRONOS_APIENTRY
28#endif
29
30#endif /* __gl3platform_h_ */
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/files/headers/KHR/khrplatform.h b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/KHR/khrplatform.h
new file mode 100644
index 0000000..d976ab5
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/files/headers/KHR/khrplatform.h
@@ -0,0 +1,298 @@
1#ifndef __khrplatform_h_
2#define __khrplatform_h_
3
4/*
5** Copyright (c) 2008-2009 The Khronos Group Inc.
6**
7** Permission is hereby granted, free of charge, to any person obtaining a
8** copy of this software and/or associated documentation files (the
9** "Materials"), to deal in the Materials without restriction, including
10** without limitation the rights to use, copy, modify, merge, publish,
11** distribute, sublicense, and/or sell copies of the Materials, and to
12** permit persons to whom the Materials are furnished to do so, subject to
13** the following conditions:
14**
15** The above copyright notice and this permission notice shall be included
16** in all copies or substantial portions of the Materials.
17**
18** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
25*/
26
27/* Khronos platform-specific types and definitions.
28 *
29 * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $
30 *
31 * Adopters may modify this file to suit their platform. Adopters are
32 * encouraged to submit platform specific modifications to the Khronos
33 * group so that they can be included in future versions of this file.
34 * Please submit changes by sending them to the public Khronos Bugzilla
35 * (http://khronos.org/bugzilla) by filing a bug against product
36 * "Khronos (general)" component "Registry".
37 *
38 * A predefined template which fills in some of the bug fields can be
39 * reached using http://tinyurl.com/khrplatform-h-bugreport, but you
40 * must create a Bugzilla login first.
41 *
42 *
43 * See the Implementer's Guidelines for information about where this file
44 * should be located on your system and for more details of its use:
45 * http://www.khronos.org/registry/implementers_guide.pdf
46 *
47 * This file should be included as
48 * #include <KHR/khrplatform.h>
49 * by Khronos client API header files that use its types and defines.
50 *
51 * The types in khrplatform.h should only be used to define API-specific types.
52 *
53 * Types defined in khrplatform.h:
54 * khronos_int8_t signed 8 bit
55 * khronos_uint8_t unsigned 8 bit
56 * khronos_int16_t signed 16 bit
57 * khronos_uint16_t unsigned 16 bit
58 * khronos_int32_t signed 32 bit
59 * khronos_uint32_t unsigned 32 bit
60 * khronos_int64_t signed 64 bit
61 * khronos_uint64_t unsigned 64 bit
62 * khronos_intptr_t signed same number of bits as a pointer
63 * khronos_uintptr_t unsigned same number of bits as a pointer
64 * khronos_ssize_t signed size
65 * khronos_usize_t unsigned size
66 * khronos_float_t signed 32 bit floating point
67 * khronos_time_ns_t unsigned 64 bit time in nanoseconds
68 * khronos_utime_nanoseconds_t unsigned time interval or absolute time in
69 * nanoseconds
70 * khronos_stime_nanoseconds_t signed time interval in nanoseconds
71 * khronos_boolean_enum_t enumerated boolean type. This should
72 * only be used as a base type when a client API's boolean type is
73 * an enum. Client APIs which use an integer or other type for
74 * booleans cannot use this as the base type for their boolean.
75 *
76 * Tokens defined in khrplatform.h:
77 *
78 * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
79 *
80 * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
81 * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
82 *
83 * Calling convention macros defined in this file:
84 * KHRONOS_APICALL
85 * KHRONOS_APIENTRY
86 * KHRONOS_APIATTRIBUTES
87 *
88 * These may be used in function prototypes as:
89 *
90 * KHRONOS_APICALL void KHRONOS_APIENTRY funcname(
91 * int arg1,
92 * int arg2) KHRONOS_APIATTRIBUTES;
93 */
94
95/*-------------------------------------------------------------------------
96 * Definition of KHRONOS_APICALL
97 *-------------------------------------------------------------------------
98 * This precedes the return type of the function in the function prototype.
99 */
100#if defined(_WIN32) && !defined(__SCITECH_SNAP__)
101/* QtGlesStream */
102#ifdef QGS_BUILD_CLIENT_DLL
103# define KHRONOS_APICALL __declspec(dllexport)
104#else
105# define KHRONOS_APICALL __declspec(dllimport)
106#endif
107#elif defined (__SYMBIAN32__)
108# define KHRONOS_APICALL IMPORT_C
109#else
110# define KHRONOS_APICALL
111#endif
112
113/*-------------------------------------------------------------------------
114 * Definition of KHRONOS_APIENTRY
115 *-------------------------------------------------------------------------
116 * This follows the return type of the function and precedes the function
117 * name in the function prototype.
118 */
119#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
120 /* Win32 but not WinCE */
121# define KHRONOS_APIENTRY __stdcall
122#else
123# define KHRONOS_APIENTRY
124#endif
125
126/*-------------------------------------------------------------------------
127 * Definition of KHRONOS_APIATTRIBUTES
128 *-------------------------------------------------------------------------
129 * This follows the closing parenthesis of the function prototype arguments.
130 */
131#if defined (__ARMCC_2__)
132#define KHRONOS_APIATTRIBUTES __softfp
133#else
134#define KHRONOS_APIATTRIBUTES
135#endif
136
137/*-------------------------------------------------------------------------
138 * basic type definitions
139 *-----------------------------------------------------------------------*/
140#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
141
142
143/*
144 * Using <stdint.h>
145 */
146#include <stdint.h>
147typedef int32_t khronos_int32_t;
148typedef uint32_t khronos_uint32_t;
149typedef int64_t khronos_int64_t;
150typedef uint64_t khronos_uint64_t;
151#define KHRONOS_SUPPORT_INT64 1
152#define KHRONOS_SUPPORT_FLOAT 1
153
154#elif defined(__VMS ) || defined(__sgi)
155
156/*
157 * Using <inttypes.h>
158 */
159#include <inttypes.h>
160typedef int32_t khronos_int32_t;
161typedef uint32_t khronos_uint32_t;
162typedef int64_t khronos_int64_t;
163typedef uint64_t khronos_uint64_t;
164#define KHRONOS_SUPPORT_INT64 1
165#define KHRONOS_SUPPORT_FLOAT 1
166
167#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
168
169/*
170 * Win32
171 */
172typedef __int32 khronos_int32_t;
173typedef unsigned __int32 khronos_uint32_t;
174typedef __int64 khronos_int64_t;
175typedef unsigned __int64 khronos_uint64_t;
176#define KHRONOS_SUPPORT_INT64 1
177#define KHRONOS_SUPPORT_FLOAT 1
178
179#elif defined(__sun__) || defined(__digital__)
180
181/*
182 * Sun or Digital
183 */
184typedef int khronos_int32_t;
185typedef unsigned int khronos_uint32_t;
186#if defined(__arch64__) || defined(_LP64)
187typedef long int khronos_int64_t;
188typedef unsigned long int khronos_uint64_t;
189#else
190typedef long long int khronos_int64_t;
191typedef unsigned long long int khronos_uint64_t;
192#endif /* __arch64__ */
193#define KHRONOS_SUPPORT_INT64 1
194#define KHRONOS_SUPPORT_FLOAT 1
195
196#elif 0
197
198/*
199 * Hypothetical platform with no float or int64 support
200 */
201typedef int khronos_int32_t;
202typedef unsigned int khronos_uint32_t;
203#define KHRONOS_SUPPORT_INT64 0
204#define KHRONOS_SUPPORT_FLOAT 0
205
206#else
207
208/*
209 * Generic fallback
210 */
211#include <stdint.h>
212typedef int32_t khronos_int32_t;
213typedef uint32_t khronos_uint32_t;
214typedef int64_t khronos_int64_t;
215typedef uint64_t khronos_uint64_t;
216#define KHRONOS_SUPPORT_INT64 1
217#define KHRONOS_SUPPORT_FLOAT 1
218
219#endif
220
221
222/*
223 * Types that are (so far) the same on all platforms
224 */
225typedef signed char khronos_int8_t;
226typedef unsigned char khronos_uint8_t;
227typedef signed short int khronos_int16_t;
228typedef unsigned short int khronos_uint16_t;
229
230#if 1
231
232/* QtGlesStream */
233#include <stddef.h>
234typedef ptrdiff_t khronos_intptr_t;
235typedef ptrdiff_t khronos_ssize_t;
236
237#else
238
239/*
240 * Types that differ between LLP64 and LP64 architectures - in LLP64,
241 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
242 * to be the only LLP64 architecture in current use.
243 */
244#ifdef _WIN64
245typedef signed long long int khronos_intptr_t;
246typedef unsigned long long int khronos_uintptr_t;
247typedef signed long long int khronos_ssize_t;
248typedef unsigned long long int khronos_usize_t;
249#else
250typedef signed long int khronos_intptr_t;
251typedef unsigned long int khronos_uintptr_t;
252typedef signed long int khronos_ssize_t;
253typedef unsigned long int khronos_usize_t;
254#endif
255
256#endif
257
258#if KHRONOS_SUPPORT_FLOAT
259/*
260 * Float type
261 */
262typedef float khronos_float_t;
263#endif
264
265#if KHRONOS_SUPPORT_INT64
266/* Time types
267 *
268 * These types can be used to represent a time interval in nanoseconds or
269 * an absolute Unadjusted System Time. Unadjusted System Time is the number
270 * of nanoseconds since some arbitrary system event (e.g. since the last
271 * time the system booted). The Unadjusted System Time is an unsigned
272 * 64 bit value that wraps back to 0 every 584 years. Time intervals
273 * may be either signed or unsigned.
274 */
275typedef khronos_uint64_t khronos_utime_nanoseconds_t;
276typedef khronos_int64_t khronos_stime_nanoseconds_t;
277#endif
278
279/*
280 * Dummy value used to pad enum types to 32 bits.
281 */
282#ifndef KHRONOS_MAX_ENUM
283#define KHRONOS_MAX_ENUM 0x7FFFFFFF
284#endif
285
286/*
287 * Enumerated boolean type
288 *
289 * Values other than zero should be considered to be true. Therefore
290 * comparisons should not be made against KHRONOS_TRUE.
291 */
292typedef enum {
293 KHRONOS_FALSE = 0,
294 KHRONOS_TRUE = 1,
295 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
296} khronos_boolean_enum_t;
297
298#endif /* __khrplatform_h_ */
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/opengldummy.bb b/meta-boot2qt/recipes-graphics/opengldummy/opengldummy.bb
new file mode 100644
index 0000000..3f68b17
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/opengldummy.bb
@@ -0,0 +1,50 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "OpenGL dummy library provides headers and a dummy library for EGL/GLES"
31SECTION = "devel"
32LICENSE = "The-Qt-Company-DCLA-2.1"
33LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
34
35PV = "1.0.0"
36
37require opengldummy.inc
38
39do_compile() {
40 ${CC} ${LDFLAGS} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -Wl,-soname,libEGL.so.1 -I${WORKDIR}/headers -o libEGL.so.1 ${WORKDIR}/egl.cpp
41 ${CC} ${LDFLAGS} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -Wl,-soname,libGLESv2.so.2 -I${WORKDIR}/headers -o libGLESv2.so.2 ${WORKDIR}/gles2.cpp
42}
43
44do_install_append() {
45 install -m 0755 -d ${D}${libdir}
46 install -m 0755 ${S}/libEGL.so.1 ${D}${libdir}
47 ln -s libEGL.so.1 ${D}${libdir}/libEGL.so
48 install -m 0755 ${S}/libGLESv2.so.2 ${D}${libdir}
49 ln -s libGLESv2.so.2 ${D}${libdir}/libGLESv2.so
50}
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/opengldummy.inc b/meta-boot2qt/recipes-graphics/opengldummy/opengldummy.inc
new file mode 100644
index 0000000..720b310
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/opengldummy.inc
@@ -0,0 +1,49 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30PROVIDES = "virtual/libgles2 virtual/libgles3 virtual/egl"
31
32SRC_URI = "file://headers \
33 file://egl.cpp \
34 file://gles2.cpp \
35 "
36
37do_install() {
38 install -m 0755 -d ${D}${includedir}/EGL
39 install -m 0755 ${WORKDIR}/headers/EGL/* ${D}${includedir}/EGL
40
41 install -m 0755 -d ${D}${includedir}/GLES2
42 install -m 0755 ${WORKDIR}/headers/GLES2/* ${D}${includedir}/GLES2
43
44 install -m 0755 -d ${D}${includedir}/GLES3
45 install -m 0755 ${WORKDIR}/headers/GLES3/* ${D}${includedir}/GLES3
46
47 install -m 0755 -d ${D}${includedir}/KHR
48 install -m 0755 ${WORKDIR}/headers/KHR/* ${D}${includedir}/KHR
49}
diff --git a/meta-boot2qt/recipes-graphics/opengldummy/qtglesstream-dummy-client.bb b/meta-boot2qt/recipes-graphics/opengldummy/qtglesstream-dummy-client.bb
new file mode 100644
index 0000000..1d4e223
--- /dev/null
+++ b/meta-boot2qt/recipes-graphics/opengldummy/qtglesstream-dummy-client.bb
@@ -0,0 +1,56 @@
1############################################################################
2##
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "QtGlesStream dummy client provides headers and a dummy library for EGL/GLES"
31SECTION = "devel"
32LICENSE = "The-Qt-Company-DCLA-2.1"
33LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
34
35PV = "1.0.0"
36SOLIBMAJOR = "1"
37SOLIBMINOR = "0"
38
39require opengldummy.inc
40
41inherit nopackages
42
43S = "${WORKDIR}"
44
45do_compile() {
46 ${CC} ${LDFLAGS} -DQGS_BUILD_CLIENT_DLL -fPIC -shared -Wl,-soname,libQtGlesStreamClient.so.${SOLIBMAJOR} \
47 -I${WORKDIR}/headers -o libQtGlesStreamClient.so.${PV} ${WORKDIR}/egl.cpp ${WORKDIR}/gles2.cpp
48}
49
50do_install_append() {
51 install -m 0755 -d ${D}${libdir}
52 install -m 0755 ${S}/libQtGlesStreamClient.so.${PV} ${D}${libdir}
53 ln -s libQtGlesStreamClient.so.${PV} ${D}${libdir}/libQtGlesStreamClient.so.${SOLIBMAJOR}.${SOLIBMINOR}
54 ln -s libQtGlesStreamClient.so.${PV} ${D}${libdir}/libQtGlesStreamClient.so.${SOLIBMAJOR}
55 ln -s libQtGlesStreamClient.so.${PV} ${D}${libdir}/libQtGlesStreamClient.so
56}
diff --git a/meta-boot2qt/recipes-qt/automotive/gammaray_git.bb b/meta-boot2qt/recipes-qt/automotive/gammaray_git.bb
new file mode 100644
index 0000000..7466822
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/gammaray_git.bb
@@ -0,0 +1,30 @@
1SUMMARY = "GammaRay Qt introspection probe"
2HOMEPAGE = "http://www.kdab.com/gammaray"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://LICENSE.GPL.txt;md5=a5b28ec9718d4516f7a621cd0232afc1"
6
7inherit cmake_qt5
8
9SRC_URI = "git://github.com/KDAB/GammaRay;branch=${BRANCH}"
10
11BRANCH = "5.9"
12SRCREV = "87656b9c344077d84682b53ba3e4676e18b57f9e"
13PV = "${BRANCH}+git${SRCPV}"
14
15DEPENDS = "qtdeclarative qtlocation qtsvg qttools qtconnectivity qt3d qtivi qtscxml qtscxml-native \
16 ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
17
18S = "${WORKDIR}/git"
19
20EXTRA_OECMAKE += " -DGAMMARAY_BUILD_UI=OFF -DGAMMARAY_CORE_ONLY_LAUNCHER=ON"
21
22FILES_${PN}-dev += " \
23 /usr/lib/cmake/* \
24 /usr/mkspecs/modules/* \
25"
26FILES_${PN}-dbg += " \
27 /usr/lib/.debug/* \
28 /usr/lib/gammaray/*/*/.debug \
29 /usr/lib/gammaray/*/*/styles/.debug \
30"
diff --git a/meta-boot2qt/recipes-qt/automotive/multiscreen-demo/automotivedemo.service b/meta-boot2qt/recipes-qt/automotive/multiscreen-demo/automotivedemo.service
new file mode 100644
index 0000000..af23213
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/multiscreen-demo/automotivedemo.service
@@ -0,0 +1,12 @@
1[Unit]
2Description=AutomotiveDemo
3After=dbus.service dbus-session.service systemd-user-sessions.service
4Conflicts=neptune.service
5
6[Service]
7ExecStart=/usr/bin/appcontroller /usr/bin/appman -r --dbus session -c am-config.yaml
8Restart=on-failure
9WorkingDirectory=/opt/automotivedemo
10
11[Install]
12WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/automotive/multiscreen-demo/tegra-t18x/automotivedemo.service b/meta-boot2qt/recipes-qt/automotive/multiscreen-demo/tegra-t18x/automotivedemo.service
new file mode 100644
index 0000000..1025cc1
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/multiscreen-demo/tegra-t18x/automotivedemo.service
@@ -0,0 +1,13 @@
1[Unit]
2Description=AutomotiveDemo
3After=dbus.service dbus-session.service systemd-user-sessions.service
4Conflicts=neptune.service
5
6[Service]
7ExecStart=/usr/bin/appcontroller /usr/bin/appman -r --dbus session -c am-config.yaml
8Restart=on-failure
9WorkingDirectory=/opt/automotivedemo
10Environment=QT_QPA_EGLFS_KMS_CONFIG=kms_config.json
11
12[Install]
13WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/automotive/multiscreen-demo_git.bb b/meta-boot2qt/recipes-qt/automotive/multiscreen-demo_git.bb
new file mode 100644
index 0000000..c81adee
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/multiscreen-demo_git.bb
@@ -0,0 +1,67 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Multiscreen Demo"
31LICENSE = "GPLv3 | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073"
33
34inherit qt5-module systemd
35require recipes-qt/qt5/qt5-git.inc
36
37QT_GIT_PROJECT = "qt-apps"
38QT_MODULE_BRANCH = "master"
39
40SRC_URI += "\
41 git://github.com/qtproject/qt-apps-demo-assets;protocol=git;name=assets;destsuffix=git/demo-assets \
42 file://automotivedemo.service \
43 "
44
45SRCREV_multiscreen-demo = "6d02e36c4280cee5b0c31323016ae666c73afef4"
46SRCREV_assets = "0d47d21f082d6c9e355a55809ebd38a31ea02264"
47
48SRCREV_FORMAT = "multiscreen-demo_assets"
49
50DEPENDS = "qtbase qtdeclarative qt3d"
51RDEPENDS_${PN} = "qtapplicationmanager qtivi qtvirtualkeyboard"
52
53EXTRA_QMAKEVARS_PRE += "INSTALL_PREFIX=/opt"
54
55do_install_append() {
56 rm ${D}/opt/automotivedemo/start.sh
57
58 install -d ${D}${systemd_system_unitdir}
59 install -m 0644 ${WORKDIR}/automotivedemo.service ${D}${systemd_system_unitdir}/
60}
61
62FILES_${PN} += "\
63 /opt/automotivedemo \
64 "
65
66SYSTEMD_SERVICE_${PN} = "automotivedemo.service"
67SYSTEMD_AUTO_ENABLE = "disable"
diff --git a/meta-boot2qt/recipes-qt/automotive/neptune-ui/neptune.service b/meta-boot2qt/recipes-qt/automotive/neptune-ui/neptune.service
new file mode 100644
index 0000000..16b6a1f
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/neptune-ui/neptune.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=Neptune
3After=dbus.service dbus-session.service systemd-user-sessions.service
4
5[Service]
6ExecStart=/usr/bin/appcontroller /usr/bin/appman -r --dbus session -c am-config.yaml
7Restart=on-failure
8WorkingDirectory=/usr/neptune-ui
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/automotive/neptune-ui_git.bb b/meta-boot2qt/recipes-qt/automotive/neptune-ui_git.bb
new file mode 100644
index 0000000..5898424
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/neptune-ui_git.bb
@@ -0,0 +1,73 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Copyright (C) 2018 Pelagicore AG.
5## Contact: https://www.qt.io/licensing/
6##
7## This file is part of the Boot to Qt meta layer.
8##
9## $QT_BEGIN_LICENSE:GPL$
10## Commercial License Usage
11## Licensees holding valid commercial Qt licenses may use this file in
12## accordance with the commercial license agreement provided with the
13## Software or, alternatively, in accordance with the terms contained in
14## a written agreement between you and The Qt Company. For licensing terms
15## and conditions see https://www.qt.io/terms-conditions. For further
16## information use the contact form at https://www.qt.io/contact-us.
17##
18## GNU General Public License Usage
19## Alternatively, this file may be used under the terms of the GNU
20## General Public License version 3 or (at your option) any later version
21## approved by the KDE Free Qt Foundation. The licenses are as published by
22## the Free Software Foundation and appearing in the file LICENSE.GPL3
23## included in the packaging of this file. Please review the following
24## information to ensure the GNU General Public License requirements will
25## be met: https://www.gnu.org/licenses/gpl-3.0.html.
26##
27## $QT_END_LICENSE$
28##
29############################################################################
30
31DESCRIPTION = "Neptune IVI UI"
32LICENSE = "GPL-3.0 | The-Qt-Company-DCLA-2.1"
33LIC_FILES_CHKSUM = "\
34 file://LICENSE.GPL3;md5=c41b4a3e669de55dfe304b8376b04a82 \
35 file://imports/assets/fonts/OFL.txt;md5=a729250f3548d9d2deab9bfeb8a7ad51 \
36"
37
38inherit qt5-module systemd
39require recipes-qt/qt5/qt5-git.inc
40
41QT_GIT_PROJECT = "qt-apps"
42
43SRC_URI += " \
44 file://neptune.service \
45 "
46
47SRCREV = "7b64754e5d1aa3ea3b63347bc5637bae9795e193"
48
49DEPENDS = "qtbase qtdeclarative qttools-native qtquickcontrols2 qtapplicationmanager"
50RDEPENDS_${PN} = "qtivi qtvirtualkeyboard dbus \
51 qtquickcontrols-qmlplugins qtgraphicaleffects-qmlplugins \
52 ${@bb.utils.contains('DISTRO_FEATURES', 'webengine', 'qtwebengine', '', d)}"
53
54do_install_append() {
55 install -m 0755 -d ${D}${systemd_unitdir}/system
56 install -m 0644 ${WORKDIR}/neptune.service ${D}${systemd_unitdir}/system/
57
58 # Move the fonts to the system-wide font location
59 install -m 0755 -d ${D}${datadir}/fonts/ttf/
60 mv ${D}/usr/neptune-ui/imports/assets/fonts/*.ttf ${D}${datadir}/fonts/ttf/
61 rm -rf ${D}/usr/neptune-ui/imports/assets/fonts/
62}
63
64PACKAGES =+ "${PN}-apps"
65RRECOMMENDS_${PN} += "${PN}-apps"
66
67FILES_${PN}-apps += "/usr/neptune-ui/apps"
68FILES_${PN} += "\
69 /usr/neptune-ui \
70 ${datadir}/fonts/ttf \
71 "
72
73SYSTEMD_SERVICE_${PN} = "neptune.service"
diff --git a/meta-boot2qt/recipes-qt/automotive/qmllive-target/qmllive-target.patch b/meta-boot2qt/recipes-qt/automotive/qmllive-target/qmllive-target.patch
new file mode 100644
index 0000000..e3f81fa
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/qmllive-target/qmllive-target.patch
@@ -0,0 +1,19 @@
1diff --git a/runtime.pro b/runtime.pro
2index 73dd6d7..e569b23 100644
3--- a/runtime.pro
4+++ b/runtime.pro
5@@ -1,5 +1,4 @@
6 TARGET = qmlliveruntime
7-DESTDIR = ../../bin
8
9 QT *= widgets quick
10 osx: CONFIG -= app_bundle
11@@ -14,6 +13,6 @@ include(../src.pri)
12 RESOURCES += \
13 qml.qrc
14
15-
16-
17+target.path += /usr/bin
18+INSTALLS += target
19
diff --git a/meta-boot2qt/recipes-qt/automotive/qmllive-target_git.bb b/meta-boot2qt/recipes-qt/automotive/qmllive-target_git.bb
new file mode 100644
index 0000000..54f1188
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/qmllive-target_git.bb
@@ -0,0 +1,50 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "QML Live target runtime"
31
32LICENSE = "GPL-3.0"
33LIC_FILES_CHKSUM = "file://../../LICENSE.GPL3;md5=75cd0dbc6f2d24e7eeb128ff59b74f4c"
34
35inherit qmake5
36require recipes-qt/qt5/qt5-git.inc
37
38QT_GIT_PROJECT = "qt-apps"
39QT_MODULE = "qmllive"
40QT_MODULE_BRANCH = "master"
41
42SRC_URI += " \
43 file://qmllive-target.patch \
44 "
45
46SRCREV = "d0d41c71c4691a5f3e2b72e22917f314b4190ffc"
47
48S = "${WORKDIR}/git/src/runtime"
49
50DEPENDS = "qtbase qtdeclarative"
diff --git a/meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb b/meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb
new file mode 100644
index 0000000..ae66e8a
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/qtapplicationmanager_git.bb
@@ -0,0 +1,70 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Qt component for application lifecycle management"
31LICENSE = "(GFDL-1.3 & The-Qt-Company-GPL-Exception-1.0 & (LGPL-3.0 | GPL-2.0+)) | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=ff238b33ff354a0d8d79851a9c061717"
33
34inherit qt5-module
35require recipes-qt/qt5/qt5-git.inc
36
37SRCREV = "5581e400c95a1ff736c55c9d93bd451302970c11"
38
39DEPENDS = "qtbase qtdeclarative libyaml libarchive \
40 ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "qtwayland", "", d)}"
41
42RDEPENDS_${PN} = "libcrypto ${PN}-tools"
43RDEPENDS_${PN}_remove_mingw32 = "libcrypto"
44
45EXTRA_QMAKEVARS_PRE += "\
46 ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "-config force-multiprocess", "-config force-singleprocess", d)} \
47 -config install-prefix=/usr \
48 -config systemd-workaround \
49 -config hardware-id=neptune \
50 "
51
52do_install_append() {
53 install -m 0755 -d ${D}/opt/am/
54 install -m 0644 ${S}/template-opt/am/config.yaml ${D}/opt/am/
55}
56
57FILES_${PN} += "\
58 /opt/am \
59 "
60
61BBCLASSEXTEND += "nativesdk"
62
63# nativesdk-qtdeclarative is added only to make build deterministic, can be removed once
64# there is a configure option to disable its usage.
65DEPENDS_class-nativesdk = "qtbase nativesdk-qtdeclarative nativesdk-glibc-locale nativesdk-libarchive"
66DEPENDS_class-nativesdk_remove_mingw32 = "nativesdk-glibc-locale nativesdk-libarchive"
67
68EXTRA_QMAKEVARS_PRE_class-nativesdk = "\
69 -config tools-only \
70 "
diff --git a/meta-boot2qt/recipes-qt/automotive/qtivi/0001-Use-QT_HOST_BINS-get-for-getting-correct-path.patch b/meta-boot2qt/recipes-qt/automotive/qtivi/0001-Use-QT_HOST_BINS-get-for-getting-correct-path.patch
new file mode 100644
index 0000000..9f6c0c0
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/qtivi/0001-Use-QT_HOST_BINS-get-for-getting-correct-path.patch
@@ -0,0 +1,29 @@
1From b4ed8c9d4a391771cba485bfa685147126260dc2 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Thu, 7 Sep 2017 10:24:11 +0300
4Subject: [PATCH] Use QT_HOST_BINS/get for getting correct path
5
6Patch QT_HOST_BINS same way as is done it qtbase for getting
7the EffectivePath instead of installation path.
8
9Change-Id: I3e9c04019c432e182dcb5c0898275173f20de1e2
10---
11 mkspecs/features/ivigenerator.prf | 4 ++--
12 1 file changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/mkspecs/features/ivigenerator.prf b/mkspecs/features/ivigenerator.prf
15index 65c497e..7634355 100644
16--- a/mkspecs/features/ivigenerator.prf
17+++ b/mkspecs/features/ivigenerator.prf
18@@ -31,9 +31,9 @@ QFACE_YAML = $$QFACE_ABS_PWD/$${QFACE_BASE_NAME}.yaml
19 OTHER_FILES += $$QFACE_FILE
20
21 # Detect whether we are using the feature inside the qtivi repository
22-VIRTUALENV_PATH = $$[QT_HOST_BINS]/ivigenerator/qtivi_qface_virtualenv
23+VIRTUALENV_PATH = $$[QT_HOST_BINS/get]/ivigenerator/qtivi_qface_virtualenv
24 INTERNAL_VIRTUALENV_PATH = $$QTIVI_BUILD_ROOT/src/tools/ivigenerator/qtivi_qface_virtualenv
25-IVI_GENERATOR_PATH = $$[QT_HOST_BINS]/ivigenerator
26+IVI_GENERATOR_PATH = $$[QT_HOST_BINS/get]/ivigenerator
27 QTEST_ENVIRONMENT = $$upper($$(QTEST_ENVIRONMENT))
28
29 # Try to use the internal virtualenv when building qtivi
diff --git a/meta-boot2qt/recipes-qt/automotive/qtivi_git.bb b/meta-boot2qt/recipes-qt/automotive/qtivi_git.bb
new file mode 100644
index 0000000..5cbf131
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/qtivi_git.bb
@@ -0,0 +1,110 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Qt IVI"
31LICENSE = "(GFDL-1.3 & BSD & The-Qt-Company-GPL-Exception-1.0 & (LGPL-3.0 | GPL-2.0+)) | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
33 file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
34 file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
35 file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
36 file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02"
37
38DEPENDS = "qtbase qtdeclarative qtmultimedia qtivi-native"
39DEPENDS_class-native = "qtbase"
40DEPENDS_class-nativesdk = "qtbase"
41
42inherit qt5-module
43inherit python3native
44require recipes-qt/qt5/qt5-git.inc
45
46QT_MODULE_BRANCH_QFACE = "upstream/develop"
47
48SRC_URI += " \
49 ${QT_GIT}/qtivi-qface.git;name=qface;branch=${QT_MODULE_BRANCH_QFACE};protocol=${QT_GIT_PROTOCOL};destsuffix=git/src/3rdparty/qface \
50 file://0001-Use-QT_HOST_BINS-get-for-getting-correct-path.patch \
51"
52
53SRCREV_qtivi = "8d482b27c6c0c2b664104fd777ddee92652ab65c"
54SRCREV_qface = "9da793d6cbc63d617ad5e2ffd13e9f6d055c88e8"
55SRCREV = "${SRCREV_qtivi}"
56SRCREV_FORMAT = "qtivi_qface"
57
58PACKAGECONFIG ?= "taglib ivigenerator"
59PACKAGECONFIG[taglib] = "QMAKE_EXTRA_ARGS+=-feature-taglib,QMAKE_EXTRA_ARGS+=-no-feature-taglib,taglib"
60PACKAGECONFIG[dlt] = "QMAKE_EXTRA_ARGS+=-feature-dlt,QMAKE_EXTRA_ARGS+=-no-feature-dlt,dlt-daemon"
61PACKAGECONFIG[geniviextras-only] = "QMAKE_EXTRA_ARGS+=--geniviextras-only"
62# For cross-compiling tell qtivi to use the system-ivigenerator, which is installed by the native recipe"
63PACKAGECONFIG[ivigenerator] = "QMAKE_EXTRA_ARGS+=-system-ivigenerator"
64PACKAGECONFIG[ivigenerator-native] = "QMAKE_EXTRA_ARGS+=-qt-ivigenerator,,python3 python3-virtualenv"
65PACKAGECONFIG[host-tools-only] = "QMAKE_EXTRA_ARGS+=-host-tools-only"
66PACKAGECONFIG[simulator] = "QMAKE_EXTRA_ARGS+=-feature-simulator,QMAKE_EXTRA_ARGS+=-no-feature-simulator,qtsimulator"
67PACKAGECONFIG[simulator-native] = "QMAKE_EXTRA_ARGS+=-feature-simulator QMAKE_EXTRA_ARGS+=--force-ivigenerator-qtsimulator"
68
69PACKAGECONFIG_class-native ??= "host-tools-only ivigenerator-native"
70PACKAGECONFIG_class-nativesdk ??= "${PACKAGECONFIG_class-native}"
71PACKAGECONFIG_class-nativesdk_mingw32 ??= "host-tools-only"
72
73ALLOW_EMPTY_${PN}-tools = "1"
74
75EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS} ${@bb.utils.contains_any('PACKAGECONFIG', 'ivigenerator ivigenerator-native', '', 'QMAKE_EXTRA_ARGS+=-no-ivigenerator', d)}"
76
77set_python_paths() {
78 # Otherwise pip might cache or reuse something from our home folder
79 export HOME="${STAGING_DATADIR_NATIVE}"
80 # This is needed as otherwise the virtualenv tries to use the libs from the host
81 export LD_LIBRARY_PATH="${STAGING_LIBDIR_NATIVE}"
82 # Let qtivi use the python3-native binaries
83 export PYTHON3_PATH="${STAGING_BINDIR_NATIVE}/python3-native"
84}
85do_compile_prepend() {
86 set_python_paths
87}
88do_install_prepend() {
89 set_python_paths
90}
91
92# This needs a modified python3 recipe which copies the binary into a path where this recipe can pick it up
93# This is needed to provide a proper executable using the correct interpreter in the SDK.
94# See https://bugreports.qt.io/browse/AUTOSUITE-176
95do_install_append_class-nativesdk() {
96 export IVIGENERATOR_ENABLED="${@bb.utils.contains("PACKAGECONFIG", "ivigenerator-native", "1", "0", d)}"
97
98 if [ "${IVIGENERATOR_ENABLED}" = "1" ]; then
99 cp ${STAGING_BINDIR}/qt5/python3* ${D}/${OE_QMAKE_PATH_BINS}/ivigenerator/qtivi_qface_virtualenv/bin/
100 rm -f ${D}/${OE_QMAKE_PATH_BINS}/ivigenerator/qtivi_qface_virtualenv/bin/python
101 ln -sf python3 ${D}/${OE_QMAKE_PATH_BINS}/ivigenerator/qtivi_qface_virtualenv/bin/python
102 fi
103}
104
105
106BBCLASSEXTEND += "native nativesdk"
107
108INSANE_SKIP_${PN}_class-native = "already-stripped"
109INSANE_SKIP_${PN}_class-nativesdk = "already-stripped"
110INSANE_SKIP_${PN}-tools_class-nativesdk = "staticdev"
diff --git a/meta-boot2qt/recipes-qt/automotive/qtwebbrowser_git.bb b/meta-boot2qt/recipes-qt/automotive/qtwebbrowser_git.bb
new file mode 100644
index 0000000..9cc0d37
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/automotive/qtwebbrowser_git.bb
@@ -0,0 +1,45 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Qt Web Browser"
31LICENSE = "GPL-3.0"
32LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=a40e2bb02b1ac431f461afd03ff9d1d6"
33
34inherit qmake5
35require recipes-qt/qt5/qt5-git.inc
36
37QT_GIT_PROJECT = "qt-apps"
38QT_MODULE_BRANCH = "dev"
39
40SRCREV = "023733af5523a5ad84359926224fa106001215f4"
41
42DEPENDS = "qtbase qtdeclarative qtwebengine"
43
44FILES_${PN} += "/data/user/qt/qtwebbrowser-app"
45FILES_${PN}-dbg += "/data/user/qt/qtwebbrowser-app/.debug"
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller.bb b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller.bb
new file mode 100644
index 0000000..9c52606
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller.bb
@@ -0,0 +1,56 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Boot to Qt Appcontroller"
31LICENSE = "The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://main.cpp;md5=f25c7436dbc72d4719a5684b28dbcf4b;beginline=1;endline=17"
33
34inherit qmake5
35require recipes-qt/qt5/qt5-git.inc
36
37SRC_URI = " \
38 git://codereview.qt-project.org/qt-apps/boot2qt-appcontroller;${QT_MODULE_BRANCH_PARAM};protocol=http \
39 file://appcontroller.conf \
40 "
41
42SRCREV = "5ab7fdbf0845c40418272bafa565295511055d3b"
43
44DEPENDS = "qtbase"
45
46do_configure_append() {
47 sed -i -e '/^platform=/d' ${WORKDIR}/appcontroller.conf
48 echo platform=${MACHINE} >> ${WORKDIR}/appcontroller.conf
49}
50
51do_install_append() {
52 install -m 0755 -d ${D}${sysconfdir}
53 install -m 0755 ${WORKDIR}/appcontroller.conf ${D}${sysconfdir}/
54}
55
56FILES_${PN} += "${sysconfdir}/appcontroller.conf"
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf
new file mode 100644
index 0000000..1ef3732
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/appcontroller.conf
@@ -0,0 +1,7 @@
1env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
2env=QT_IM_MODULE=qtvirtualkeyboard
3env=QT_QPA_EGLFS_FORCE888=0
4env=QT_QUICK_CONTROLS_1_STYLE=Flat
5env=XDG_RUNTIME_DIR=/tmp
6env=QTWEBENGINE_DISABLE_SANDBOX=1
7base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf
new file mode 100644
index 0000000..4fa1931
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/colibri-vf/appcontroller.conf
@@ -0,0 +1,9 @@
1env=QMLSCENE_DEVICE=softwarecontext
2env=QT_QPA_PLATFORM=linuxfb
3env=QSG_RENDER_LOOP=basic
4env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
5env=QT_IM_MODULE=qtvirtualkeyboard
6env=QT_QUICK_CONTROLS_1_STYLE=Flat
7env=XDG_RUNTIME_DIR=/tmp
8env=QTWEBENGINE_DISABLE_SANDBOX=1
9base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf
new file mode 100644
index 0000000..2bc6eca
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/emulator/appcontroller.conf
@@ -0,0 +1,10 @@
1env=QT_QPA_GENERIC_PLUGINS=simulator
2env=QT_QPA_EGLFS_HIDECURSOR=1
3env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
4env=QT_IM_MODULE=qtvirtualkeyboard
5env=QTGLESSTREAM_DISPLAY=192.168.56.1
6env=SIMULATOR_HOSTNAME=192.168.56.1
7env=QT_QUICK_CONTROLS_1_STYLE=Flat
8env=XDG_RUNTIME_DIR=/tmp
9env=QTWEBENGINE_DISABLE_SANDBOX=1
10base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf
new file mode 100644
index 0000000..4e3415f
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx6/appcontroller.conf
@@ -0,0 +1,10 @@
1env=FB_MULTI_BUFFER=2
2env=QT_QPA_EGLFS_FORCEVSYNC=1
3env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
4env=QT_IM_MODULE=qtvirtualkeyboard
5env=QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0
6env=QT_GSTREAMER_CAMERABIN_VIDEOSRC=mxc_v4l2=imxv4l2videosrc,v4l2src
7env=QT_QUICK_CONTROLS_1_STYLE=Flat
8env=XDG_RUNTIME_DIR=/tmp
9env=QTWEBENGINE_DISABLE_SANDBOX=1
10base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx7/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx7/appcontroller.conf
new file mode 100644
index 0000000..b27315e
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/mx7/appcontroller.conf
@@ -0,0 +1,9 @@
1env=QMLSCENE_DEVICE=softwarecontext
2env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
3env=QT_QPA_PLATFORM=linuxfb
4env=QSG_RENDER_LOOP=basic
5env=QT_IM_MODULE=qtvirtualkeyboard
6env=QT_QUICK_CONTROLS_1_STYLE=Flat
7env=XDG_RUNTIME_DIR=/tmp
8env=QTWEBENGINE_DISABLE_SANDBOX=1
9base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf
new file mode 100644
index 0000000..0915343
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/rpi/appcontroller.conf
@@ -0,0 +1,7 @@
1env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
2env=QT_IM_MODULE=qtvirtualkeyboard
3env=QT_QPA_EGLFS_FORCE888=1
4env=QT_QUICK_CONTROLS_1_STYLE=Flat
5env=XDG_RUNTIME_DIR=/tmp
6env=QTWEBENGINE_DISABLE_SANDBOX=1
7base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/tegra-t18x/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/tegra-t18x/appcontroller.conf
new file mode 100644
index 0000000..21bb44c
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/tegra-t18x/appcontroller.conf
@@ -0,0 +1,8 @@
1env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
2env=QT_IM_MODULE=qtvirtualkeyboard
3env=QT_QPA_EGLFS_FORCE888=0
4env=QT_QUICK_CONTROLS_1_STYLE=Flat
5env=XDG_RUNTIME_DIR=/tmp
6env=QSG_RENDER_LOOP=basic
7env=QTWEBENGINE_DISABLE_SANDBOX=1
8base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/ti33x/appcontroller.conf b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/ti33x/appcontroller.conf
new file mode 100644
index 0000000..37284de
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-appcontroller/ti33x/appcontroller.conf
@@ -0,0 +1,8 @@
1env=QML2_IMPORT_PATH=/data/user/qt/qmlplugins
2env=QT_IM_MODULE=qtvirtualkeyboard
3env=QT_QPA_EGLFS_FORCE888=0
4env=QT_QUICK_CONTROLS_1_STYLE=Flat
5env=QT_QPA_EGLFS_INTEGRATION=none
6env=XDG_RUNTIME_DIR=/tmp
7env=QTWEBENGINE_DISABLE_SANDBOX=1
8base=linux
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-demos.bb b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-demos.bb
new file mode 100644
index 0000000..3726482
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-demos.bb
@@ -0,0 +1,134 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Boot to Qt Demos"
31LICENSE = "BSD | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://about-b2qt/AboutBoot2Qt.qml;md5=b0a1a6eef4a172b0a8cb4dad9a167d91;beginline=1;endline=49"
33
34inherit qmake5
35
36QT_GIT_PROJECT=""
37
38SRC_URI = " \
39 ${QT_GIT}qt-apps/boot2qt-demos.git;branch=${BRANCH};name=demos \
40 ${QT_GIT}qt/qtcanvas3d.git;branch=${QT_BRANCH};name=qtcanvas3d;destsuffix=qtcanvas3d \
41 ${QT_GIT}qt/qtquickcontrols.git;branch=${QT_BRANCH};name=qtquickcontrols;destsuffix=qtquickcontrols \
42 ${QT_GIT}qt-apps/qtwebbrowser.git;branch=${BROWSER_BRANCH};name=qtwebbrowser;destsuffix=git/basicsuite/qtwebbrowser/tqtc-qtwebbrowser \
43 https://s3-eu-west-1.amazonaws.com/qt-files/examples/Videos/Qt_video_720p.webm;name=video1 \
44 https://s3-eu-west-1.amazonaws.com/qt-files/examples/Videos/Qt+World+Summit+2015+Recap.mp4;name=video2 \
45 "
46
47PV = "5.11.0+git${SRCPV}"
48
49BRANCH = "5.10"
50BROWSER_BRANCH = "dev"
51QT_BRANCH = "5.10"
52SRCREV_demos = "f9c7da64cea85d44998e62f4e0d3ec217a22f0d2"
53SRCREV_qtcanvas3d = "32404e27101c5ec81b4ab965faf38263429bbc5a"
54SRCREV_qtquickcontrols = "c6713e212ef0b97c45d6466b73220567e94a05f1"
55SRCREV_qtwebbrowser = "7c570ee4297946f3ed70565a630d690070533cbd"
56SRCREV_FORMAT = "demos_qtcanvas3d_qtquickcontrols_qtwebbrowser"
57
58SRC_URI[video1.md5sum] = "56de4dcfd5201952dce9af9c69fcec9b"
59SRC_URI[video1.sha256sum] = "809123419acac99353439e52c870e2e497dfa8f434ef0777e6c7303e6ad27f89"
60SRC_URI[video2.md5sum] = "e03422de1dba27189872e7d579e7da1b"
61SRC_URI[video2.sha256sum] = "651e0b4d2b3272dc10bfc9edba4f0c1a7084cd087c75e8a098f7ba3454c7e485"
62
63S = "${WORKDIR}/git/basicsuite"
64
65DEPENDS = "qtbase qtdeclarative qtxmlpatterns qtquickcontrols qtgraphicaleffects qtsensors qtmultimedia qtcanvas3d \
66 ${@bb.utils.contains('DISTRO_FEATURES', 'webengine', 'qtwebengine', '', d)}"
67
68do_install_append() {
69 # we only need plugins from the demos
70 rm -rf ${D}/data/user/camera
71 rm -rf ${D}/data/user/sensorexplorer
72 rm -rf ${D}/data/user/qtwebbrowser
73
74 # we need all qml and content files
75 cp -r ${S}/* ${D}/data/user/qt/
76
77 # but none of the source files
78 find ${D}/data/user/qt/ \( -name '*.cpp' -or -name '*.h' -or -name '*.pro' \) -delete
79 rm -rf ${D}/data/user/qt/qtwebbrowser/tqtc-qtwebbrowser
80 rm -rf ${D}/data/user/qt/qtwebbrowser/qmldir
81
82 if [ -d ${WORKDIR}/git/images ]; then
83 install -d 0755 ${D}/data/images
84 install -m 0644 ${WORKDIR}/git/images/* ${D}/data/images/
85 fi
86
87 install -d -m 0755 ${D}/data/videos
88 install -m 0644 ${WORKDIR}/Qt_video_720p.webm ${D}/data/videos
89 install -m 0644 ${WORKDIR}/Qt+World+Summit+2015+Recap.mp4 ${D}/data/videos
90
91 cp ${WORKDIR}/qtcanvas3d/examples/canvas3d/canvas3d/threejs/planets/*.qml ${D}/data/user/qt/canvas3d-planets
92 cp ${WORKDIR}/qtcanvas3d/examples/canvas3d/canvas3d/threejs/planets/*.js ${D}/data/user/qt/canvas3d-planets
93 cp -r ${WORKDIR}/qtcanvas3d/examples/canvas3d/canvas3d/threejs/planets/images ${D}/data/user/qt/canvas3d-planets
94 cp ${WORKDIR}/qtcanvas3d/examples/canvas3d/canvas3d/threejs/controls/ControlEventSource.qml ${D}/data/user/qt/canvas3d-planets
95 cp ${WORKDIR}/qtcanvas3d/examples/canvas3d/canvas3d/3rdparty/*.js ${D}/data/user/qt/canvas3d-planets
96
97 # get rid of qrc:/ prefixes and the custom slider
98 sed -i 's/qrc:\(\/\)\?//g' ${D}/data/user/qt/canvas3d-planets/*.qml
99 sed -i 's/qrc:\(\/\)\?//g' ${D}/data/user/qt/canvas3d-planets/*.js
100 sed -i 's/StyledSlider/Slider/g' ${D}/data/user/qt/canvas3d-planets/planets.qml
101 sed -i '/import QtCanvas3D/a import QtQuick.Controls 1.2' ${D}/data/user/qt/canvas3d-planets/planets.qml
102
103 # Qt Quick Extras
104 cp -r ${WORKDIR}/qtquickcontrols/examples/quickcontrols/extras/dashboard/qml ${D}/data/user/qt/enterprise-dashboard/
105 cp -r ${WORKDIR}/qtquickcontrols/examples/quickcontrols/extras/dashboard/images ${D}/data/user/qt/enterprise-dashboard/
106
107 cp -r ${WORKDIR}/qtquickcontrols/examples/quickcontrols/extras/gallery/qml ${D}/data/user/qt/enterprise-gallery/
108 cp -r ${WORKDIR}/qtquickcontrols/examples/quickcontrols/extras/gallery/images ${D}/data/user/qt/enterprise-gallery/
109 cp -r ${WORKDIR}/qtquickcontrols/examples/quickcontrols/extras/gallery/fonts ${D}/data/user/qt/enterprise-gallery/
110
111 cp -r ${WORKDIR}/qtquickcontrols/examples/quickcontrols/extras/flat/images ${D}/data/user/qt/enterprise-flat-controls/
112 cp ${WORKDIR}/qtquickcontrols/examples/quickcontrols/extras/flat/*.qml ${D}/data/user/qt/enterprise-flat-controls/
113
114 sed -i '/import QtQuick.Window/c\' ${D}/data/user/qt/enterprise-dashboard/qml/dashboard.qml ${D}/data/user/qt/enterprise-gallery/qml/gallery.qml
115 sed -i 's/Window /Rectangle /1' ${D}/data/user/qt/enterprise-dashboard/qml/dashboard.qml ${D}/data/user/qt/enterprise-gallery/qml/gallery.qml
116 sed -i 's/ApplicationWindow /Rectangle /1' ${D}/data/user/qt/enterprise-flat-controls/main.qml
117 sed -i '/title: "Qt Quick Extras Demo"/c\' ${D}/data/user/qt/enterprise-dashboard/qml/dashboard.qml ${D}/data/user/qt/enterprise-gallery/qml/gallery.qml
118 sed -i '/title: "Flat Example"/c\' ${D}/data/user/qt/enterprise-flat-controls/main.qml
119 sed -i 's/"Light Flat UI Demo"/"Qt Quick Controls"/1' ${D}/data/user/qt/enterprise-flat-controls/main.qml
120 sed -i '/{ name: "Exit", action: null }/c\' ${D}/data/user/qt/enterprise-flat-controls/main.qml
121
122 sed -i -e 's/qrc:/../g' ${D}/data/user/qt/enterprise-dashboard/qml/* ${D}/data/user/qt/enterprise-gallery/qml/*
123 sed -i 's/qrc:\///g' ${D}/data/user/qt/enterprise-flat-controls/Content.qml
124}
125
126FILES_${PN} += " \
127 /data/images/ \
128 /data/videos/ \
129 /data/user \
130 "
131
132FILES_${PN}-dbg += " \
133 /data/user/qt/qmlplugins/*/.debug/ \
134 "
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher.bb b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher.bb
new file mode 100644
index 0000000..225079d
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher.bb
@@ -0,0 +1,65 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Boot to Qt Demo Launcher"
31LICENSE = "(BSD & GPL-3.0) | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504"
33
34inherit qmake5
35require recipes-qt/qt5/qt5-git.inc
36
37QT_GIT_PROJECT = "qt-apps"
38QT_MODULE = "boot2qt-launcher"
39
40SRC_URI += " \
41 file://b2qt-startup.sh \
42 file://qtlauncher.service \
43 file://b2qt.service \
44 "
45
46SRCREV = "8d7fe0e4b8852a16469a6d0fe910309e8964ab58"
47
48DEPENDS = "qtbase qtdeclarative \
49 ${@bb.utils.contains('DISTRO_FEATURES', 'webengine', 'qtwebengine', '', d)}"
50
51do_install_append() {
52 install -m 0755 -d ${D}${sysconfdir}/init.d
53 install -m 0755 ${WORKDIR}/b2qt-startup.sh ${D}${sysconfdir}/init.d/
54
55 install -m 0755 -d ${D}${systemd_unitdir}/system
56 install -m 0644 ${WORKDIR}/qtlauncher.service ${D}${systemd_unitdir}/system/
57 install -m 0644 ${WORKDIR}/b2qt.service ${D}${systemd_unitdir}/system/
58}
59
60INITSCRIPT_NAME = "b2qt-startup.sh"
61INITSCRIPT_PARAMS = "defaults 30"
62
63SYSTEMD_SERVICE_${PN} = "qtlauncher.service b2qt.service"
64
65inherit update-rc.d systemd
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh
new file mode 100755
index 0000000..89e4bbb
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt-startup.sh
@@ -0,0 +1,49 @@
1#!/bin/sh
2############################################################################
3##
4## Copyright (C) 2016 The Qt Company Ltd.
5## Contact: https://www.qt.io/licensing/
6##
7## This file is part of the Boot to Qt meta layer.
8##
9## $QT_BEGIN_LICENSE:GPL$
10## Commercial License Usage
11## Licensees holding valid commercial Qt licenses may use this file in
12## accordance with the commercial license agreement provided with the
13## Software or, alternatively, in accordance with the terms contained in
14## a written agreement between you and The Qt Company. For licensing terms
15## and conditions see https://www.qt.io/terms-conditions. For further
16## information use the contact form at https://www.qt.io/contact-us.
17##
18## GNU General Public License Usage
19## Alternatively, this file may be used under the terms of the GNU
20## General Public License version 3 or (at your option) any later version
21## approved by the KDE Free Qt Foundation. The licenses are as published by
22## the Free Software Foundation and appearing in the file LICENSE.GPL3
23## included in the packaging of this file. Please review the following
24## information to ensure the GNU General Public License requirements will
25## be met: https://www.gnu.org/licenses/gpl-3.0.html.
26##
27## $QT_END_LICENSE$
28##
29############################################################################
30
31case "$1" in
32start)
33 if [ -x /data/user/b2qt ]; then
34 APP="/data/user/b2qt"
35 elif [ -x /usr/bin/b2qt ]; then
36 APP="/usr/bin/b2qt"
37 else
38 APP="/usr/bin/qtlauncher --applications-root /data/user/qt"
39 fi
40 /usr/bin/appcontroller ${APP} &
41 ;;
42stop)
43 /usr/bin/appcontroller --stop
44 ;;
45*)
46 echo "Usage: $0 {start|stop}"
47 exit 1
48esac
49exit 0
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt.service b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt.service
new file mode 100644
index 0000000..f941f91
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/b2qt.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=B2Qt user application
3After=systemd-user-sessions.service
4ConditionPathExists=/usr/bin/b2qt
5
6[Service]
7ExecStart=-/usr/bin/appcontroller /usr/bin/b2qt
8
9[Install]
10WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/b2qt.service b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/b2qt.service
new file mode 100644
index 0000000..cdf6480
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/b2qt.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=B2Qt user application
3BindsTo=dev-fb0.device
4After=dev-fb0.device
5ConditionPathExists=/usr/bin/b2qt
6
7[Service]
8ExecStart=-/usr/bin/appcontroller /usr/bin/b2qt
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/qtlauncher.service b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/qtlauncher.service
new file mode 100644
index 0000000..1094675
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/beaglebone/qtlauncher.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=B2Qt Launcher Demo
3BindsTo=dev-fb0.device
4After=dev-fb0.device
5ConditionPathExists=!/usr/bin/b2qt
6
7[Service]
8ExecStart=-/usr/bin/appcontroller /usr/bin/qtlauncher --applications-root /data/user/qt
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/b2qt.service b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/b2qt.service
new file mode 100644
index 0000000..65fba92
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/b2qt.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=B2Qt user application
3After=multi-user.target
4ConditionPathExists=/usr/bin/b2qt
5
6[Service]
7ExecStart=-/usr/bin/appcontroller /usr/bin/b2qt
8
9[Install]
10WantedBy=custom.target
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/qtlauncher.service b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/qtlauncher.service
new file mode 100644
index 0000000..2b02c87
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/emulator/qtlauncher.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=B2Qt Launcher Demo
3After=multi-user.target
4
5ConditionPathExists=!/usr/bin/b2qt
6
7[Service]
8ExecStart=-/usr/bin/appcontroller /usr/bin/qtlauncher --applications-root /data/user/qt
9
10[Install]
11WantedBy=custom.target
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/qtlauncher.service b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/qtlauncher.service
new file mode 100644
index 0000000..7658ca8
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/b2qt-launcher/qtlauncher.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=B2Qt Launcher Demo
3After=systemd-user-sessions.service
4ConditionPathExists=!/usr/bin/b2qt
5
6[Service]
7ExecStart=-/usr/bin/appcontroller /usr/bin/qtlauncher --applications-root /data/user/qt
8
9[Install]
10WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/democompositor_git.bb b/meta-boot2qt/recipes-qt/b2qt-addons/democompositor_git.bb
new file mode 100644
index 0000000..3d9a196
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/democompositor_git.bb
@@ -0,0 +1,47 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Boot to Qt Wayland Demo Compositor"
31LICENSE = "BSD | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://main.cpp;md5=b0a1a6eef4a172b0a8cb4dad9a167d91;beginline=1;endline=49"
33
34inherit qmake5
35require recipes-qt/qt5/qt5-git.inc
36
37QT_GIT_PROJECT = "qt-apps"
38QT_MODULE = "boot2qt-demos"
39
40SRCREV = "b9585b440819e1444b20f30435f81c46801158c5"
41
42S = "${WORKDIR}/git/wayland/democompositor/"
43
44DEPENDS = "qtbase qtwayland"
45
46FILES_${PN} += "/data/user/democompositor"
47FILES_${PN}-dbg += "/data/user/democompositor/.debug"
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/qdbd.bb b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd.bb
new file mode 100644
index 0000000..8057e19
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd.bb
@@ -0,0 +1,72 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Qt Debug Bridge Daemon"
31SECTION = "devel"
32LICENSE = "GPL-3.0 | The-Qt-Company-DCLA-2.1"
33LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504"
34
35inherit distro_features_check
36inherit qmake5
37require recipes-qt/qt5/qt5-git.inc
38
39QT_GIT_PROJECT = "qt-apps"
40QT_MODULE = "qdb"
41QT_MODULE_BRANCH = "5.9"
42
43SRC_URI += "file://b2qt-gadget-network.sh \
44 file://defaults \
45 file://qdbd.service \
46 file://qdbd-init.sh \
47 "
48
49SRCREV = "69f95b6a8d2ca0912a8d502a2b6871109725731e"
50PV = "1.1.0+git${SRCPV}"
51
52REQUIRED_DISTRO_FEATURES = "systemd"
53DEPENDS = "qtbase"
54RRECOMMENDS_${PN} += "kernel-module-usb-f-fs kernel-module-usb-f-rndis"
55
56EXTRA_QMAKEVARS_PRE = "CONFIG+=daemon_only"
57
58do_install_append() {
59 install -m 0755 ${WORKDIR}/b2qt-gadget-network.sh ${D}${bindir}/
60
61 install -m 0755 ${WORKDIR}/qdbd-init.sh ${D}${bindir}/
62
63 install -m 0755 -d ${D}${systemd_unitdir}/system
64 install -m 0644 ${WORKDIR}/qdbd.service ${D}${systemd_unitdir}/system/
65
66 install -m 0755 -d ${D}${sysconfdir}/default
67 install -m 0644 ${WORKDIR}/defaults ${D}${sysconfdir}/default/qdbd
68}
69
70SYSTEMD_SERVICE_${PN} = "qdbd.service"
71
72inherit systemd
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/b2qt-gadget-network.sh b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/b2qt-gadget-network.sh
new file mode 100755
index 0000000..3161db7
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/b2qt-gadget-network.sh
@@ -0,0 +1,103 @@
1#!/bin/sh
2############################################################################
3##
4## Copyright (C) 2017 The Qt Company Ltd.
5## Contact: https://www.qt.io/licensing/
6##
7## This file is part of the Boot to Qt meta layer.
8##
9## $QT_BEGIN_LICENSE:GPL$
10## Commercial License Usage
11## Licensees holding valid commercial Qt licenses may use this file in
12## accordance with the commercial license agreement provided with the
13## Software or, alternatively, in accordance with the terms contained in
14## a written agreement between you and The Qt Company. For licensing terms
15## and conditions see https://www.qt.io/terms-conditions. For further
16## information use the contact form at https://www.qt.io/contact-us.
17##
18## GNU General Public License Usage
19## Alternatively, this file may be used under the terms of the GNU
20## General Public License version 3 or (at your option) any later version
21## approved by the KDE Free Qt Foundation. The licenses are as published by
22## the Free Software Foundation and appearing in the file LICENSE.GPL3
23## included in the packaging of this file. Please review the following
24## information to ensure the GNU General Public License requirements will
25## be met: https://www.gnu.org/licenses/gpl-3.0.html.
26##
27## $QT_END_LICENSE$
28##
29############################################################################
30
31set -e
32
33NETWORK_UNIT=/usr/lib/systemd/network/usb-rndis.network
34
35usage() {
36 echo "Usage: $(basename $0) --reset"
37 echo " $(basename $0) --set <network>"
38 echo
39 echo "Network is given as the device IPv4 address followed by the prefix length."
40 echo "For example \"192.168.0.1/24\"."
41 exit 1
42}
43
44while test -n "$1"; do
45 case "$1" in
46 "help" | "--help" | "-h")
47 usage
48 exit 0
49 ;;
50 "--reset")
51 if [ -n "$COMMAND" ]; then
52 usage
53 exit 1
54 fi
55 COMMAND="reset"
56 ;;
57 "--set")
58 if [ -n "$COMMAND" ]; then
59 usage
60 exit 1
61 fi
62 COMMAND="set"
63 shift
64 NETWORK=$1
65 ;;
66 esac
67 shift
68done
69
70if [ -z "$COMMAND" ]; then
71 usage
72 exit 1
73fi
74
75case "$COMMAND" in
76 "set")
77 cat <<EOF > $NETWORK_UNIT
78# This file is automatically written by b2qt-gadget-network.sh
79[Match]
80Type=gadget
81
82[Network]
83Address=${NETWORK}
84DHCPServer=yes
85
86[DHCPServer]
87EmitDNS=no
88EmitRouter=no
89EOF
90 ;;
91 "reset")
92 cat <<EOF > $NETWORK_UNIT
93# This file is automatically written by b2qt-gadget-network.sh
94[Match]
95Type=gadget
96
97[Network]
98DHCPServer=no
99EOF
100 ;;
101esac
102
103systemctl restart systemd-networkd
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/defaults b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/defaults
new file mode 100644
index 0000000..5ced90d
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/defaults
@@ -0,0 +1,8 @@
1VENDOR=0xdbdb
2PRODUCT=0x0001
3if [ -e /sys/class/net/eth0/address ]; then
4 SERIAL=$(hostname)-$(sed -e 's/://g' /sys/class/net/eth0/address)
5else
6 SERIAL=$(hostname)-$(cat /etc/machine-id)
7fi
8export QT_HASH_SEED=0
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd-init.sh b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd-init.sh
new file mode 100755
index 0000000..15981b0
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd-init.sh
@@ -0,0 +1,120 @@
1#! /bin/sh
2###############################################################################
3## Copyright (C) 2016 The Qt Company Ltd.
4## Contact: http://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:BSD$
9## You may use this file under the terms of the BSD license as follows:
10##
11## "Redistribution and use in source and binary forms, with or without
12## modification, are permitted provided that the following conditions are
13## met:
14## * Redistributions of source code must retain the above copyright
15## notice, this list of conditions and the following disclaimer.
16## * Redistributions in binary form must reproduce the above copyright
17## notice, this list of conditions and the following disclaimer in
18## the documentation and/or other materials provided with the
19## distribution.
20## * Neither the name of The Qt Company Ltd nor the names of its
21## contributors may be used to endorse or promote products derived
22## from this software without specific prior written permission.
23##
24##
25## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
36##
37## $QT_END_LICENSE$
38###############################################################################
39MANUFACTURER="The Qt Company"
40PRODUCT_STRING="Boot2Qt Ethernet/RNDIS connection"
41
42DAEMON=/usr/bin/qdbd
43CONFIGFS_PATH=/sys/kernel/config
44
45GADGET_CONFIG=$CONFIGFS_PATH/usb_gadget/g1
46
47. /etc/default/qdbd
48
49initialize_gadget() {
50 # Initialize gadget with first UDC driver
51 for driverpath in /sys/class/udc/*; do
52 drivername=`basename $driverpath`
53 echo "$drivername" > $GADGET_CONFIG/UDC
54 break
55 done
56}
57
58disable_gadget() {
59 echo "" > $GADGET_CONFIG/UDC
60}
61
62case "$1" in
63start)
64 b2qt-gadget-network.sh --reset
65 modprobe libcomposite
66 sleep 1
67 # Gadget configuration
68 mkdir -p $GADGET_CONFIG
69 echo $VENDOR > $GADGET_CONFIG/idVendor
70 echo $PRODUCT > $GADGET_CONFIG/idProduct
71 mkdir -p $GADGET_CONFIG/strings/0x409
72 echo $MANUFACTURER > $GADGET_CONFIG/strings/0x409/manufacturer
73 echo $PRODUCT_STRING > $GADGET_CONFIG/strings/0x409/product
74 echo ${SERIAL:0:32} > $GADGET_CONFIG/strings/0x409/serialnumber
75 mkdir -p $GADGET_CONFIG/configs/c.1/strings/0x409
76 echo "USB Ethernet + QDB" > $GADGET_CONFIG/configs/c.1/strings/0x409/configuration
77 mkdir -p $GADGET_CONFIG/functions/rndis.usb0
78 mkdir -p $GADGET_CONFIG/functions/ffs.qdb
79 ln -sf $GADGET_CONFIG/functions/rndis.usb0 $GADGET_CONFIG/configs/c.1
80 ln -sf $GADGET_CONFIG/functions/ffs.qdb $GADGET_CONFIG/configs/c.1
81 # Function fs mountpoints
82 mkdir -p /dev/usb-ffs
83 chmod 770 /dev/usb-ffs
84 mkdir -p /dev/usb-ffs/qdb
85 chmod 770 /dev/usb-ffs/qdb
86 mount -t functionfs qdb /dev/usb-ffs/qdb -o uid=0,gid=0
87 shift
88 start-stop-daemon --start --quiet --exec $DAEMON -- $@ &
89 sleep 1
90 initialize_gadget
91 ;;
92stop)
93 disable_gadget
94 start-stop-daemon --stop --quiet --exec $DAEMON
95 sleep 1
96 umount /dev/usb-ffs/qdb
97 rm $GADGET_CONFIG/configs/c.1/rndis.usb0
98 rm $GADGET_CONFIG/configs/c.1/ffs.qdb
99 rmdir $GADGET_CONFIG/configs/c.1/strings/0x409
100 rmdir $GADGET_CONFIG/configs/c.1
101 rmdir $GADGET_CONFIG/functions/rndis.usb0
102 rmdir $GADGET_CONFIG/functions/ffs.qdb
103 rmdir $GADGET_CONFIG/strings/0x409
104 rmdir $GADGET_CONFIG
105 ;;
106restart)
107 disable_gadget
108 start-stop-daemon --stop --quiet --exec $DAEMON
109 b2qt-gadget-network.sh --reset
110 sleep 1
111 shift
112 start-stop-daemon --start --quiet --exec $DAEMON -- $@ &
113 sleep 1
114 initialize_gadget
115 ;;
116*)
117 echo "Usage: $0 {start|stop|restart}"
118 exit 1
119esac
120exit 0
diff --git a/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd.service b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd.service
new file mode 100644
index 0000000..be8e701
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/b2qt-addons/qdbd/qdbd.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=Qt Debug Bridge Daemon
3After=basic.target
4
5[Service]
6Type=forking
7ExecStart=/usr/bin/qdbd-init.sh start
8ExecStop=/usr/bin/qdbd-init.sh stop
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-boot2qt/recipes-qt/qt5/installer-framework-native_3.0.1.bb b/meta-boot2qt/recipes-qt/qt5/installer-framework-native_3.0.1.bb
new file mode 100644
index 0000000..5bc09c0
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/installer-framework-native_3.0.1.bb
@@ -0,0 +1,50 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Qt Installer Framework"
31LICENSE = "The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://${QT_LICENSE};md5=80e06902b5f0e94ad0a78ee4f7fcb74b"
33
34inherit bin_package native
35
36do_unpack[depends] += "p7zip-native:do_populate_sysroot"
37
38SRC_URI = "http://download.qt.io/development_releases/installer-framework/${PV}/installer-framework-build-stripped-${PV}-linux-x64.7z"
39
40SRC_URI[md5sum] = "68b7c1f761ca0dba18f1d165d66005d6"
41SRC_URI[sha256sum] = "c2eb769351025e0c7df2882116390fffaf958368f873a2abab99e37caee0a498"
42
43S = "${WORKDIR}/ifw-pkg"
44
45do_install() {
46 install -d ${D}${bindir}
47 install -m 0755 -t ${D}${bindir} ${S}/bin/*
48}
49
50INSANE_SKIP_${PN} += "already-stripped"
diff --git a/meta-boot2qt/recipes-qt/qt5/qtdeviceutilities.bb b/meta-boot2qt/recipes-qt/qt5/qtdeviceutilities.bb
new file mode 100644
index 0000000..7405424
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtdeviceutilities.bb
@@ -0,0 +1,44 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Qt Device Utilities"
31LICENSE = "GPL-3.0 | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504"
33
34inherit qt5-module
35require recipes-qt/qt5/qt5-git.inc
36
37PACKAGECONFIG ??= ""
38PACKAGECONFIG[wpasupplicant] = "CONFIG+=wpasupplicant,,wpa-supplicant"
39
40EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}"
41
42SRCREV = "796fff1debaa161483515779bb68999948d48c59"
43
44DEPENDS = "qtbase qtdeclarative qtconnectivity"
diff --git a/meta-boot2qt/recipes-qt/qt5/qtglesstream.bb b/meta-boot2qt/recipes-qt/qt5/qtglesstream.bb
new file mode 100644
index 0000000..0f942e7
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtglesstream.bb
@@ -0,0 +1,63 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "QtGlesStream"
31LICENSE = "The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://qtglesstream.pro;md5=875f34471470b09977705aed7863e440"
33
34inherit qt5-module
35
36SRC_URI = " \
37 git://codereview.qt-project.org/qt/tqtc-qtglesstream;branch=${BRANCH};protocol=ssh \
38 "
39
40PV = "1.0.0"
41SRCREV = "37f98d4b7123378d1ade7beedf5c5150cd26e178"
42BRANCH = "dev"
43
44S = "${WORKDIR}/git"
45
46DEPENDS = "qtbase"
47
48do_install_append() {
49 install -m 0755 -d ${D}${includedir}/EGL
50 install -m 0755 ${S}/headers/EGL/* ${D}${includedir}/EGL
51
52 install -m 0755 -d ${D}${includedir}/GLES2
53 install -m 0755 ${S}/headers/GLES2/* ${D}${includedir}/GLES2
54
55 install -m 0755 -d ${D}${includedir}/GLES3
56 install -m 0755 ${S}/headers/GLES3/* ${D}${includedir}/GLES3
57
58 install -m 0755 -d ${D}${includedir}/KHR
59 install -m 0755 ${S}/headers/KHR/* ${D}${includedir}/KHR
60}
61
62# no not overwrite files from qtglesstream-dummy-client
63do_populate_sysroot[noexec] = "1"
diff --git a/meta-boot2qt/recipes-qt/qt5/qtotaupdate.bb b/meta-boot2qt/recipes-qt/qt5/qtotaupdate.bb
new file mode 100644
index 0000000..495598a
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtotaupdate.bb
@@ -0,0 +1,42 @@
1############################################################################
2##
3## Copyright (C) 2018 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "Qt OTA Update module"
31LICENSE = "GPL-3.0 | The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504"
33
34inherit qt5-module
35require recipes-qt/qt5/qt5-git.inc
36
37QT_MODULE_BRANCH = "master"
38
39SRCREV = "9a7eef1fec80e732451d501a658df9f8058a404d"
40
41RDEPENDS_${PN} = "dracut"
42DEPENDS = "qtbase qtdeclarative ostree"
diff --git a/meta-boot2qt/recipes-qt/qt5/qtsimulator/custom.target b/meta-boot2qt/recipes-qt/qt5/qtsimulator/custom.target
new file mode 100644
index 0000000..05b2268
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtsimulator/custom.target
@@ -0,0 +1,5 @@
1[Unit]
2Description=Custom Target
3Requires=multi-user.target
4After=multi-user.target
5AllowIsolate=yes
diff --git a/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator
new file mode 100644
index 0000000..aa4a718
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator
@@ -0,0 +1 @@
SIMULATOR_HOSTNAME=192.168.56.1
diff --git a/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator-hostname.sh b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator-hostname.sh
new file mode 100644
index 0000000..c1a6954
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulator-hostname.sh
@@ -0,0 +1 @@
export SIMULATOR_HOSTNAME=192.168.56.1
diff --git a/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxy.service b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxy.service
new file mode 100644
index 0000000..baf0296
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxy.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=QtSimulator Proxy Daemon
3After=multi-user.target
4
5[Service]
6Type=forking
7ExecStart=/usr/bin/emulatorproxyd
8EnvironmentFile=/etc/default/emulator
9
10[Install]
11WantedBy=custom.target
diff --git a/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxyd.sh b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxyd.sh
new file mode 100755
index 0000000..d73f1e7
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtsimulator/emulatorproxyd.sh
@@ -0,0 +1,49 @@
1#!/bin/sh
2############################################################################
3##
4## Copyright (C) 2016 The Qt Company Ltd.
5## Contact: https://www.qt.io/licensing/
6##
7## This file is part of the Boot to Qt meta layer.
8##
9## $QT_BEGIN_LICENSE:GPL$
10## Commercial License Usage
11## Licensees holding valid commercial Qt licenses may use this file in
12## accordance with the commercial license agreement provided with the
13## Software or, alternatively, in accordance with the terms contained in
14## a written agreement between you and The Qt Company. For licensing terms
15## and conditions see https://www.qt.io/terms-conditions. For further
16## information use the contact form at https://www.qt.io/contact-us.
17##
18## GNU General Public License Usage
19## Alternatively, this file may be used under the terms of the GNU
20## General Public License version 3 or (at your option) any later version
21## approved by the KDE Free Qt Foundation. The licenses are as published by
22## the Free Software Foundation and appearing in the file LICENSE.GPL3
23## included in the packaging of this file. Please review the following
24## information to ensure the GNU General Public License requirements will
25## be met: https://www.gnu.org/licenses/gpl-3.0.html.
26##
27## $QT_END_LICENSE$
28##
29############################################################################
30
31DAEMON=/usr/bin/emulatorproxyd
32
33case "$1" in
34start)
35 start-stop-daemon --start --quiet --exec $DAEMON &
36 ;;
37stop)
38 start-stop-daemon --stop --quiet --exec $DAEMON
39 ;;
40restart)
41 start-stop-daemon --stop --quiet --exec $DAEMON
42 sleep 1
43 start-stop-daemon --start --quiet --exec $DAEMON &
44 ;;
45*)
46 echo "Usage: $0 {start|stop|restart}"
47 exit 1
48esac
49exit 0
diff --git a/meta-boot2qt/recipes-qt/qt5/qtsimulator_1.0.bb b/meta-boot2qt/recipes-qt/qt5/qtsimulator_1.0.bb
new file mode 100644
index 0000000..c4c8d21
--- /dev/null
+++ b/meta-boot2qt/recipes-qt/qt5/qtsimulator_1.0.bb
@@ -0,0 +1,74 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30DESCRIPTION = "QtSimulator"
31LICENSE = "The-Qt-Company-DCLA-2.1"
32LIC_FILES_CHKSUM = "file://src/simulator/simulatorglobal.h;md5=3daa1a609195439d0292259a74c7d615;beginline=1;endline=20"
33
34inherit qt5-module
35
36SRC_URI = " \
37 git://codereview.qt-project.org/tqtc-boot2qt/qtsimulator;branch=${BRANCH};protocol=ssh \
38 file://emulatorproxyd.sh \
39 file://emulatorproxy.service \
40 file://emulator-hostname.sh \
41 file://emulator \
42 file://custom.target \
43 "
44
45SRCREV = "f98633ebee7dbce79c00fbfec86537c6330e2b5f"
46BRANCH = "master"
47
48S = "${WORKDIR}/git"
49
50DEPENDS = "qtbase"
51RRECOMMENDS_${PN} += "${PN}-tools"
52
53# Proxy daemon for QtSimulator
54do_install_append() {
55 install -m 0755 -d ${D}${sysconfdir}/init.d
56 install -m 0755 ${WORKDIR}/emulatorproxyd.sh ${D}${sysconfdir}/init.d/
57
58 install -m 0755 -d ${D}${systemd_unitdir}/system
59 install -m 0644 ${WORKDIR}/emulatorproxy.service ${D}${systemd_unitdir}/system/
60 install -m 0644 ${WORKDIR}/custom.target ${D}${systemd_unitdir}/system/
61
62 install -m 0755 -d ${D}${sysconfdir}/profile.d
63 install -m 0644 ${WORKDIR}/emulator-hostname.sh ${D}${sysconfdir}/profile.d/
64
65 install -m 0755 -d ${D}${sysconfdir}/default
66 install -m 0644 ${WORKDIR}/emulator ${D}${sysconfdir}/default/
67}
68
69INITSCRIPT_NAME = "emulatorproxyd.sh"
70INITSCRIPT_PARAMS = "defaults 97 10"
71
72SYSTEMD_SERVICE_${PN} = "emulatorproxy.service custom.target"
73
74inherit update-rc.d systemd