diff options
author | Britney Fransen <brfransen@gmail.com> | 2017-06-12 16:33:24 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2017-06-12 16:33:24 (GMT) |
commit | ada13c3f17134c5885f686509d128080450efa1b (patch) | |
tree | 515f3e4d1d577d9827d86c4f1473bb0184772165 /abs | |
parent | a3e950053d847e719d489c13064b6c165425385c (diff) | |
parent | 39939b77f5be04020bce74f1d4aaf7bb5d0c4c00 (diff) | |
download | linhes_pkgbuild-ada13c3f17134c5885f686509d128080450efa1b.zip linhes_pkgbuild-ada13c3f17134c5885f686509d128080450efa1b.tar.gz linhes_pkgbuild-ada13c3f17134c5885f686509d128080450efa1b.tar.bz2 |
Merge branch 'testing'
Diffstat (limited to 'abs')
57 files changed, 503 insertions, 4920 deletions
diff --git a/abs/core/LinHES-system/PKGBUILD b/abs/core/LinHES-system/PKGBUILD index 3de7853..fbf5ae1 100755 --- a/abs/core/LinHES-system/PKGBUILD +++ b/abs/core/LinHES-system/PKGBUILD @@ -1,6 +1,6 @@ pkgname=LinHES-system pkgver=8.4 -pkgrel=24 +pkgrel=25 arch=('i686' 'x86_64') install=system.install pkgdesc="Everything that makes LinHES an automated system" @@ -134,7 +134,7 @@ md5sums=('c6e6b83a1f4c35ef4501e277657ab2ac' 'ff689f2e9572a78d88384b2e5774f579' '28f29578e5b3ba84fdf2aa57cf475bcf' '4a1fda884dcd7d65fb2690fbdbd92a83' - '2b7fe3b57592823a4c7e3ec132dcb7f4' + '29f451783db3220b612e00c29e3ded73' 'de3028ed75b53bd2f85ffbfdf64c44c2' '95c092f67036a361ef7a57436f44332e' '410795ef9039e4c6c0484e706ecfd567' diff --git a/abs/core/LinHES-system/ripD_eject.sh b/abs/core/LinHES-system/ripD_eject.sh index 715d0dd..baef7a1 100755 --- a/abs/core/LinHES-system/ripD_eject.sh +++ b/abs/core/LinHES-system/ripD_eject.sh @@ -9,7 +9,7 @@ Bsnd='/usr/share/sounds/init.wav' # Begin sound file Esnd='/usr/share/sounds/complete.wav' # End sound file DATE=$(date +%Y%m%d_%H%M) # current date/time LOG='/var/log/mythtv/ripD.log' # name of Log file. -TRACK=$(lsdvd | grep -i longest | awk '{print $3}') #Finds longest track +#TRACK=$(lsdvd | grep -i longest | awk '{print $3}') #Finds longest track FILE=$TITLE #----------------------------------------------------------------------- [ -r /etc/rip.cfg ] && . /etc/rip.cfg @@ -18,30 +18,51 @@ LOCK=/tmp/.ripLock.$$ [ "$DISPLAY" == "" ] && export DISPLAY=:0 ######################################################################## function osd { # $1=text, $2=delay + msg_client.py --clear ripD msg_client.py --kill - msg_client.py --msg "$1" --timeout $2 + msg_client.py --msg "$1" --timeout $2 --tag ripD } >& /dev/null + function osd_loop() { FN=$1 ; shift TXT="to $dir/$FILE" N=0 while [ -f "$LOCK" ]; do - osd "Backing up '$TITLE' $TXT" 70 - N=$(($N+1)) -# [ -d "$FN" ] && SIZE=$(du -sh $FN | awk '{print $1}') -# TXT="$SIZE of $MAX @ $N min. elapsed" - TXT="($N min. elapsed)" - sleep 60 + osd "Backing up '$TITLE' $TXT" 70 + N=$(($N+1)) + TXT="($N min. elapsed)" + sleep 60 done } ######################################################################## osd "Detecting DVD..." 60 & -echo "`date` detected DVD" >> $LOG -rm -f /tmp/.ripLock.* +# first make sure DMA is on: +sudo hdparm -d1 -u1 $DEV >& /dev/null +dvdFound=false +for c in {1..10}; do + dvdBACKlog=$(dvdbackup -i /dev/sr0 -I) + if [[ $dvdBACKlog == *"information"* ]]; then + echo "`date` detected DVD" >> $LOG + rm -f /tmp/.ripLock.* + # attempt to get the DVD information: + TITLE=$(dvdbackup -i /dev/sr0 -I | grep information | awk '{ s = ""; for (i = 8; i <= NF; i++) s = s $i " "; print s }' | tr -d '"' | sed 's/ /_/g' | sed 's/_$//g') + dvdFound=true + osd "Found DVD '$TITLE'" 10 & + sleep 1 + break + fi + sleep 3 +done +if ! $dvdFound ; then + echo "no DVD" >> $LOG + osd "DVD not found" 10 & + eject ; eject + exit 0 +fi #======================================================================= for dir in $Ddir ; do if [ -d $dir -a -w $dir ]; then - break + break fi done #----------------------------------------------------------------------- @@ -58,61 +79,52 @@ if [ ! -w "$dir" ]; then exit 0 fi #----------------------------------------------------------------------- -mount $DEV >& /dev/null -dev=$(readlink $DEV) -df=$(df -h /dev/$dev | grep /dev/$dev) -MAX=$(echo $df | while read d v r ; do echo $v ; done) -echo " backup $MAX to $dir" >> $LOG +#mount $DEV >& /dev/null +#dev=$(readlink $DEV) +#df=$(df -h /dev/$dev | grep /dev/$dev) +#MAX=$(echo $df | while read d v r ; do echo $v ; done) +#echo " backup $MAX to $dir" >> $LOG #======================================================================= -# first make sure DMA is on: -sudo hdparm -d1 -u1 $DEV >& /dev/null -# attempt to get the DVD information: -TITLE=$(dvdbackup -i /dev/sr0 -I | grep information | awk '{ s = ""; for (i = 8; i <= NF; i++) s = s $i " "; print s }' | tr -d '"' | sed 's/ /_/g' | sed 's/_$//g') if [ "$TITLE" == "DVD_VIDEO" -o "$TITLE" == "" \ - -o "$TITLE" == " " -o "$TITLE" == "[ ].*" ]; then + -o "$TITLE" == " " -o "$TITLE" == "[ ].*" ]; then # if not a good title, TITLE="dvdbackup_$DATE" fi echo " $TITLE" >> $LOG -if [ $1 = m ] -then - COMMAND="dvdbackup -M -i $DEV -o $dir -n $TITLE" - elif [ $1 = h ] - then -# COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=320:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 720 -o $dir/$TITLE.avi" - COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "High\ Profile" --main-feature" - FILE=$TITLE.mp4 - elif [ $1 = n ] - then -# COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=160:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 512 -o $dir/$TITLE.avi" - COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Normal" --main-feature" - FILE=$TITLE.mp4 - elif [ $1 = l ] - then -# COMMAND="mencoder dvd://$TRACK -alang en -oac mp3lame -lameopts br=96:cbr -ovc lavc -lavcopts vcodec=mpeg4:vhq -vf scale -zoom -xy 320 -o $dir/$TITLE.avi" - COMMAND="HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Classic" --main-feature" - FILE=$TITLE.mp4 - elif [ $1 = i ] - then - COMMAND="dd if=$DEV of=$dir/$TITLE.iso bs=2048" - FILE=$TITLE.iso +if [[ $1 = "m" ]]; then + COMMAND='dvdbackup -M -i $DEV -o $dir -n $TITLE' + FILE=$TITLE +elif [[ $1 = "h" ]]; then + COMMAND='HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "HQ 480p30 Surround" --main-feature' + FILE=$TITLE.mp4 +elif [[ $1 = "n" ]]; then + COMMAND='HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Fast 480p30" --main-feature' + FILE=$TITLE.mp4 +elif [[ $1 = "l" ]]; then + COMMAND='HandBrakeCLI -i $DEV -o $dir/$TITLE.mp4 --preset "Very Fast 480p30" --main-feature' + FILE=$TITLE.mp4 +else + COMMAND='dd if=$DEV of=$dir/$TITLE.iso bs=2048' + FILE=$TITLE.iso fi { # for the redir below: # Begin: touch $LOCK osd_loop "$dir/$TITLE" "$TITLE" & - dvdbackup -i $DEV -I sleep 1 ; aplay $Bsnd - $COMMAND + eval $COMMAND # Finish: rm -f $LOCK + sleep 1 osd "Done Backing up '$TITLE' to $dir/$FILE" 5 & - sleep 1 ; aplay $Esnd + sleep 1 + aplay $Esnd # Eject the media: sudo eject ; sudo eject } > $dir/.$TITLE.log 2>&1 echo " `du -sh $dir/$FILE`" >> $LOG echo " `date` finished DVD" >> $LOG +echo "" >> $LOG exit 0 ######################################################################## # End diff --git a/abs/core/ceton_infinitv/PKGBUILD b/abs/core/ceton_infinitv/PKGBUILD index d575351..113e3eb 100755 --- a/abs/core/ceton_infinitv/PKGBUILD +++ b/abs/core/ceton_infinitv/PKGBUILD @@ -2,10 +2,10 @@ pkgname=ceton_infinitv #_kernver=`uname -r` -_kernver=4.9.20-1-ARCH +_kernver=4.9.31-1-ARCH _extramods="extramodules-4.9-ARCH" pkgver=2013.0326.2226 -pkgrel=20 +pkgrel=21 usb_pkgver=0.1.0 pci_pkgver=`echo $pkgver | tr . _` pkgdesc="Drivers for Ceton InfiniTV4 - pci/usb " diff --git a/abs/core/e16_theme_settings/PKGBUILD b/abs/core/e16_theme_settings/PKGBUILD index 0c32c32..6e535de 100644 --- a/abs/core/e16_theme_settings/PKGBUILD +++ b/abs/core/e16_theme_settings/PKGBUILD @@ -1,6 +1,6 @@ pkgname=e16_theme_settings pkgver=8.4 -pkgrel=3 +pkgrel=4 pkgdesc="Default settings for e16" depends=('enlightenment' 'ttf-overlock') source=() diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg index d57f452..99965b5 100644 --- a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg +++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/fonts.theme.cfg @@ -5,7 +5,7 @@ __E_CFG_VERSION 1 $Id: fonts.theme.cfg 47 2009-04-13 18:57:37Z don $ */ __FONTS __BGN - font-border "Overlock-Bold/16" + font-border "Overlock-Bold/14" font-coords "Overlock-Bold/17" font-dialog "Overlock-Regular/18" font-dialog-hilite "Overlock-Bold/18" @@ -15,6 +15,6 @@ __FONTS __BGN font-epplet-small "Overlock-Regular/16" font-focus "Overlock-Bold/18" font-init "Overlock-Bold/19" - font-menu "Overlock-Regular/16" + font-menu "Overlock-Regular/14" font-tooltip "Overlock-Regular/17" __END diff --git a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg index a05c1cd..02c7e73 100644 --- a/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg +++ b/abs/core/e16_theme_settings/e16_config_dir/themes/Summer/textclasses.cfg @@ -196,8 +196,8 @@ __TCLASS __BGN __NAME WARPFOCUS __JUSTIFICATION 0 __NORMAL "*font-focus" - __FORGROUND_COLOR 0 0 0 + __FORGROUND_COLOR 255 255 255 __CLICKED "*font-focus" - __FORGROUND_COLOR 0 0 0 + __FORGROUND_COLOR 255 255 255 __END diff --git a/abs/core/enlightenment/PKGBUILD b/abs/core/enlightenment/PKGBUILD index 137a84b..9b3cf1b 100644 --- a/abs/core/enlightenment/PKGBUILD +++ b/abs/core/enlightenment/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=enlightenment -pkgver=1.0.17 +pkgver=1.0.18 _themever=1.0.1 pkgrel=1 pkgdesc="A fast, flexible, and very extensible Window Manager" @@ -13,11 +13,13 @@ depends=('libxinerama' 'imlib2' 'perl' 'pango' 'libxcomposite' \ 'libxdamage' 'libxrandr' 'audiofile') options=('!libtool') source=(http://downloads.sourceforge.net/sourceforge/${pkgname}/e16-${pkgver}.tar.gz \ - startup.patch) + startup.patch + disableStartMsg.patch) build() { cd "${srcdir}/e16-${pkgver}" patch -p0 < $srcdir/startup.patch || return 1 + patch -p0 < $srcdir/disableStartMsg.patch || return 1 ./configure --prefix=/usr --sysconfdir=/etc make @@ -35,5 +37,6 @@ package() { # make DESTDIR="${pkgdir}" install # chown -R root:root "${pkgdir}"/usr/share/* } -md5sums=('29bc6aeaabd081bb1138abda3d6eb958' - '0098d0a6469ec539bf12eeda2171d540') +md5sums=('fec7bddd0fa2a37d926b46a47f07ec8e' + '0098d0a6469ec539bf12eeda2171d540' + 'c2e94af712cb4df437ad452a82fd193c') diff --git a/abs/core/enlightenment/disableStartMsg.patch b/abs/core/enlightenment/disableStartMsg.patch new file mode 100644 index 0000000..b9c037a --- /dev/null +++ b/abs/core/enlightenment/disableStartMsg.patch @@ -0,0 +1,13 @@ +--- src/config.c.orig 2017-04-19 18:38:43.695152796 +0000 ++++ src/config.c 2017-04-19 18:41:05.296440791 +0000 +@@ -612,8 +612,8 @@ + + if ((i > 1) && (!p)) + { +- p = ProgressbarCreate(_("Enlightenment Starting..."), 400, +- 16); ++ /*p = ProgressbarCreate(_("Enlightenment Starting..."), 400, ++ 16); */ + if (p) + ProgressbarShow(p); + } diff --git a/abs/core/libdrm/PKGBUILD b/abs/core/libdrm/PKGBUILD index ad2bab9..964dc57 100644 --- a/abs/core/libdrm/PKGBUILD +++ b/abs/core/libdrm/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Jan de Groot <jgc@archlinux.org> pkgname=libdrm -pkgver=2.4.75 +pkgver=2.4.81 pkgrel=1 pkgdesc="Userspace interface to kernel DRM services" arch=(i686 x86_64) @@ -14,9 +14,9 @@ replaces=('libdrm-new' 'libdrm-nouveau') url="http://dri.freedesktop.org/" source=(https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig} COPYING) -sha256sums=('2d5a500eef412cc287d12268eed79d571e262d4957a2ec9258073f305985054f' +sha512sums=('5f7a1524acad59890d3f890bed90a660a424e18a88d587ca356223bde4a7446d1c540f97ec11cb10d2e7ed1b4ae86127957634354a1be6d04199295ab24782e5' 'SKIP' - '9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93') + 'b0ca349b882a4326b19f81f22804fabdb6fb7aef31cdc7b16b0a7ae191bfbb50c7daddb2fc4e6c33f1136af06d060a273de36f6f3412ea326f16fa4309fda660') validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst <maarten.lankhorst@canonical.com> validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau <damien.lespiau@intel.com> validpgpkeys+=('10A6D91DA1B05BD29F6DEBAC0C74F35979C486BE') # David Airlie <airlied@redhat.com> @@ -26,15 +26,9 @@ validpgpkeys+=('E8EB5B34081CE1EEA26EFE195B5BDA071D49CC38') # Kenneth Graunke <ke validpgpkeys+=('FC9BAE1435A9F7F664B82057B5D62936D1FC9EE8') # Eric Anholt <eric@anholt.net> validpgpkeys+=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner <mattst88@gmail.com> validpgpkeys+=('C20F5C4490D7D64B4C9A09998CD1DF552975297B') # Robert Bragg <robert@sixbynine.org> +validpgpkeys+=('CD47C5341A375F33BEF7BAFAFDD15D5ACEF0F2B1') # Marek Olšák <maraeo@gmail.com> +validpgpkeys+=('A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone <daniels@collabora.com> -prepare() { - cd $pkgname-$pkgver - - # pthread is useless in Linux - sed -i "/pthread-stubs/d" configure.ac - autoreconf --force --install - -} build() { cd $pkgname-$pkgver ./configure --prefix=/usr --enable-udev diff --git a/abs/core/linhes-theme/PKGBUILD b/abs/core/linhes-theme/PKGBUILD index 713c753..07cb1b5 100755 --- a/abs/core/linhes-theme/PKGBUILD +++ b/abs/core/linhes-theme/PKGBUILD @@ -1,12 +1,12 @@ pkgname=linhes-theme pkgver=8.4 -pkgrel=21 +pkgrel=22 pkgdesc="Default LinHES MythTV theme" arch=('i686' 'x86_64') license=('GPL2') url="http://linhes.org/" -patches=('readme.txt.patch' 'osd.xml.patch' 'base.xml.patch' +patches=('readme.txt.patch' 'osd.xml.patch' 'base.xml.patch' 'browser-ui.xml.patch' 'controls-ui.xml.patch' 'menu-ui-vert.xml.patch' 'music-base.xml.patch' 'music-ui.xml.patch' 'notification-ui.xml.patch' 'qtlook.txt.patch' @@ -96,6 +96,7 @@ package() { md5sums=('2dca856c2a4d1f959473512c94e43b60' '3fc2c8838a9e331a2d19c114760a5acb' '66dd0365257d88b48ffeec00289e3b22' + '66436e11442b31bf8238f36eae453298' 'ed56a335f8523d288609a81c005cab3f' 'b90b745c72a057c78ebd0b6f2c5530b9' 'a0ea2d3e386c0b483b31aa1a2703f9eb' diff --git a/abs/core/linhes-theme/browser-ui.xml.patch b/abs/core/linhes-theme/browser-ui.xml.patch new file mode 100644 index 0000000..b307572 --- /dev/null +++ b/abs/core/linhes-theme/browser-ui.xml.patch @@ -0,0 +1,60 @@ +--- browser-ui.xml.orig 2017-06-07 14:40:58.276800749 +0000 ++++ browser-ui.xml 2017-06-07 14:39:39.636910230 +0000 +@@ -411,40 +411,50 @@ + </textarea> + + <textarea name="categorylabel" from="basetextarea"> +- <area>78,101,104,40</area> ++ <area>30,101,120,40</area> + <align>right,vcenter</align> + <value>Category:</value> + </textarea> + + <textedit name="category" from="base_textedit"> +- <area>192,101,287,40</area> ++ <area>160,101,406,40</area> + </textedit> + + <button name="findcategory" from="base_button"> + <area>586,101,150,40</area> +- <value>Find</value> ++ <value>Find...</value> + </button> + + <textarea name="namelabel" from="basetextarea"> +- <area>50,203,100,40</area> ++ <area>50,169,100,40</area> + <align>right,vcenter</align> + <value>Name:</value> + </textarea> + + <textedit name="name" from="base_textedit"> +- <area>160,203,580,40</area> ++ <area>160,169,580,40</area> + </textedit> + + <textarea name="urllabel" from="basetextarea"> +- <area>50,305,100,40</area> ++ <area>50,237,100,40</area> + <align>right,vcenter</align> + <value>URL:</value> + </textarea> + + <textedit name="url" from="base_textedit"> +- <area>160,305,580,40</area> ++ <area>160,237,580,40</area> + </textedit> + ++ <textarea name="homepagelabel" from="basetextarea"> ++ <area>30,305,120,40</area> ++ <align>right,vcenter</align> ++ <value>Homepage:</value> ++ </textarea> ++ ++ <checkbox name="homepage" from="base_checkbox"> ++ <position>160,310</position> ++ </checkbox> ++ + <button name="cancel" from="base_button"> + <area>38,443,350,40</area> + <value>Cancel</value> diff --git a/abs/core/linux/PKGBUILD b/abs/core/linux/PKGBUILD index 1e30ad9..bcf5a85 100644 --- a/abs/core/linux/PKGBUILD +++ b/abs/core/linux/PKGBUILD @@ -4,7 +4,7 @@ pkgbase=linux #pkgbase=linux-custom _srcname=linux-4.9 -pkgver=4.9.20 +pkgver=4.9.31 pkgrel=1 arch=('i686' 'x86_64') url="https://www.kernel.org/" @@ -294,7 +294,7 @@ for _p in ${pkgname[@]}; do done md5sums=('0a68ef3615c64bd5ee54a3320e46667d' 'SKIP' - '1d336b33f01320e3bdbdc2d9b52aadbd' + '8a9cc9b791f63c40c02c765ee39fc806' 'SKIP' '2d73fc24ab59870bebde25e591e1bfb8' 'eca4246ff4ef81f714e0d909b5293b64' diff --git a/abs/core/linux/linux.install.pkg b/abs/core/linux/linux.install.pkg index 9f7c302..b129b47 100644 --- a/abs/core/linux/linux.install.pkg +++ b/abs/core/linux/linux.install.pkg @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=4.9.20-1-ARCH +KERNEL_VERSION=4.9.31-1-ARCH post_install () { # updating module dependencies diff --git a/abs/core/lsdvd/PKGBUILD b/abs/core/lsdvd/PKGBUILD index 0323625..3145f65 100644 --- a/abs/core/lsdvd/PKGBUILD +++ b/abs/core/lsdvd/PKGBUILD @@ -1,28 +1,29 @@ -# $Id: PKGBUILD 150946 2012-02-24 09:46:48Z pierre $ -# Maintainer: Aaron Griffin <aaron@archlinux.org> +# $Id$ +# Maintainer: Jonathan Steel <jsteel at archlinux.org> +# Contributor: Aaron Griffin <aaron@archlinux.org> +# Contributor: Mathieu Clabaut <mathieu.clabaut@gmail.com> pkgname=lsdvd -pkgver=0.16 -pkgrel=6 -pkgdesc="A C application for reading the contents of a DVD and printing the contents to your terminal" +pkgver=0.17 +pkgrel=1 +pkgdesc="Console application that displays the content of a DVD" arch=('i686' 'x86_64') url="http://sourceforge.net/projects/lsdvd/" -depends=('libdvdread') license=('GPL2') -#Special thanks to Mathieu Clabaut <mathieu.clabaut@gmail.com> for patches -source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz" - 'stdint_usage.patch') -md5sums=('340e1abe5c5e5abf7ff8031e78f49ee7' - '6cbcbfde873f894bd3c784f65141b2fc') +depends=('libdvdread') +source=(http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz) +md5sums=('32e63ff932ee2867e023ad3e74e14dcb') build() { - cd "${srcdir}/${pkgname}-${pkgver}" - patch -Np1 -i "${srcdir}/stdint_usage.patch" - ./configure --prefix=/usr --mandir=/usr/share/man + cd $pkgname-$pkgver + + ./configure --prefix=/usr + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" install + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install } diff --git a/abs/core/lsdvd/stdint_usage.patch b/abs/core/lsdvd/stdint_usage.patch deleted file mode 100644 index 67b9ee8..0000000 --- a/abs/core/lsdvd/stdint_usage.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/lsdvd.c 2006-03-02 07:48:11.000000000 -0600 -+++ b/lsdvd.c 2007-09-27 19:15:28.000000000 -0500 -@@ -13,6 +13,7 @@ - * 2003-04-19 Cleanups get_title_name, added dvdtime2msec, added helper macros, - * output info structures in form of a Perl module, by Henk Vergonet. - */ -+#include <stdint.h> - #include <dvdread/ifo_read.h> - #include <string.h> - #include <sys/stat.h> ---- a/configure 2005-12-12 14:22:45.000000000 -0600 -+++ b/configure 2007-09-27 19:15:13.000000000 -0500 -@@ -2887,8 +2887,8 @@ - cat confdefs.h >>conftest.$ac_ext - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ --#include <dvdread/ifo_read.h> - #include <stdint.h> -+#include <dvdread/ifo_read.h> - int - main () - { diff --git a/abs/core/mesa/0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch b/abs/core/mesa/0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch deleted file mode 100644 index 913a9dd..0000000 --- a/abs/core/mesa/0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch +++ /dev/null @@ -1,3952 +0,0 @@ -From 97b447ee480a09a744094562da36b019a3eeb10f Mon Sep 17 00:00:00 2001 -From: Kyle Brenneman <kbrenneman@nvidia.com> -Date: Wed, 4 Jan 2017 11:31:58 -0700 -Subject: [PATCH 1/2] EGL: Implement the libglvnd interface for EGL (v2) - -Added separate --enable-libglvnd-glx and --enable-libglvnd-egl configure -options to enable libglvnd for GLX and EGL. The existing --enable-libglvnd -option will now enable both EGL and GLX. - -The new interface mostly just sits on top of the existing library. The only -change to the existing EGL code is to split the client extension string into -platform extensions and everything else. On non-glvnd builds, eglQueryString -will just concatenate the two strings. - -The EGL dispatch stubs are all generated. The script is based on the one used -to generate entrypoints in libglvnd itself. - -v2: - -Rebased against master. - -Reworked the EGL makefile to use separate libtool targets instead of an -automake substitution "lib@EGL_LIB@_la_*" in the variable names. Using the -substitution broke automake's dependency tracking for "make dist". - -Made the EGL code generation scripts work with Python 2 or 3. - -Change gen_egl_dispatch.py to use argparse for the command line arguments. - -Assorted formatting and style cleanup in the Python scripts. ---- - configure.ac | 154 ++- - src/egl/Makefile.am | 97 +- - src/egl/generate/egl.xml | 2412 ++++++++++++++++++++++++++++++++++ - src/egl/generate/eglFunctionList.py | 197 +++ - src/egl/generate/egl_other.xml | 47 + - src/egl/generate/genCommon.py | 223 ++++ - src/egl/generate/gen_egl_dispatch.py | 250 ++++ - src/egl/main/50_mesa.json | 6 + - src/egl/main/eglapi.c | 6 +- - src/egl/main/egldispatchstubs.c | 110 ++ - src/egl/main/egldispatchstubs.h | 26 + - src/egl/main/eglglobals.c | 47 +- - src/egl/main/eglglobals.h | 13 +- - src/egl/main/eglglvnd.c | 82 ++ - 14 files changed, 3576 insertions(+), 94 deletions(-) - create mode 100755 src/egl/generate/egl.xml - create mode 100644 src/egl/generate/eglFunctionList.py - create mode 100644 src/egl/generate/egl_other.xml - create mode 100644 src/egl/generate/genCommon.py - create mode 100755 src/egl/generate/gen_egl_dispatch.py - create mode 100644 src/egl/main/50_mesa.json - create mode 100644 src/egl/main/egldispatchstubs.c - create mode 100644 src/egl/main/egldispatchstubs.h - create mode 100644 src/egl/main/eglglvnd.c - -diff --git a/configure.ac b/configure.ac -index de8af874ec..839b25c057 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -528,8 +528,6 @@ else - DEFINES="$DEFINES -DNDEBUG" - fi - --DEFAULT_GL_LIB_NAME=GL -- - dnl - dnl Check if linker supports -Bsymbolic - dnl -@@ -627,23 +625,6 @@ esac - - AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes) - --DEFAULT_GL_LIB_NAME=GL -- --dnl --dnl Libglvnd configuration --dnl --AC_ARG_ENABLE([libglvnd], -- [AS_HELP_STRING([--enable-libglvnd], -- [Build for libglvnd @<:@default=disabled@:>@])], -- [enable_libglvnd="$enableval"], -- [enable_libglvnd=no]) --AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd" = xyes) --#AM_COND_IF([USE_LIBGLVND_GLX], [DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1"]) --if test "x$enable_libglvnd" = xyes ; then -- DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1" -- DEFAULT_GL_LIB_NAME=GLX_mesa --fi -- - dnl - dnl library names - dnl -@@ -677,36 +658,6 @@ esac - - AC_SUBST([LIB_EXT]) - --AC_ARG_WITH([gl-lib-name], -- [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@], -- [specify GL library name @<:@default=GL@:>@])], -- [GL_LIB=$withval], -- [GL_LIB="$DEFAULT_GL_LIB_NAME"]) --AC_ARG_WITH([osmesa-lib-name], -- [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@], -- [specify OSMesa library name @<:@default=OSMesa@:>@])], -- [OSMESA_LIB=$withval], -- [OSMESA_LIB=OSMesa]) --AS_IF([test "x$GL_LIB" = xyes], [GL_LIB="$DEFAULT_GL_LIB_NAME"]) --AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa]) -- --dnl --dnl Mangled Mesa support --dnl --AC_ARG_ENABLE([mangling], -- [AS_HELP_STRING([--enable-mangling], -- [enable mangled symbols and library name @<:@default=disabled@:>@])], -- [enable_mangling="${enableval}"], -- [enable_mangling=no] --) --if test "x${enable_mangling}" = "xyes" ; then -- DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE" -- GL_LIB="Mangled${GL_LIB}" -- OSMESA_LIB="Mangled${OSMESA_LIB}" --fi --AC_SUBST([GL_LIB]) --AC_SUBST([OSMESA_LIB]) -- - dnl - dnl potentially-infringing-but-nobody-knows-for-sure stuff - dnl -@@ -1335,31 +1286,94 @@ AM_CONDITIONAL(HAVE_GALLIUM_XLIB_GLX, test "x$enable_glx" = xgallium-xlib) - dnl - dnl Libglvnd configuration - dnl -+ -+DEFAULT_GL_LIB_NAME=GL -+ - AC_ARG_ENABLE([libglvnd], - [AS_HELP_STRING([--enable-libglvnd], -- [Build for libglvnd @<:@default=disabled@:>@])], -+ [Build GLX and EGL for libglvnd @<:@default=disabled@:>@])], - [enable_libglvnd="$enableval"], - [enable_libglvnd=no]) --AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd" = xyes) --if test "x$enable_libglvnd" = xyes ; then -- dnl XXX: update once we can handle more than libGL/glx. -- dnl Namely: we should error out if neither of the glvnd enabled libraries -- dnl are built -- case "x$enable_glx" in -- xno) -- AC_MSG_ERROR([cannot build libglvnd without GLX]) -- ;; -- xxlib | xgallium-xlib ) -- AC_MSG_ERROR([cannot build libgvnd when Xlib-GLX or Gallium-Xlib-GLX is enabled]) -- ;; -- xdri) -- ;; -- esac -+AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd_glx" = xyes) -+ -+AC_ARG_ENABLE([libglvnd-glx], -+ [AS_HELP_STRING([--enable-libglvnd-glx], -+ [Build GLX for libglvnd @<:@default=disabled@:>@])], -+ [enable_libglvnd_glx="$enableval"], -+ [enable_libglvnd_glx="$enable_libglvnd"]) -+AM_CONDITIONAL(USE_LIBGLVND_GLX, test "x$enable_libglvnd_glx" = xyes) -+ -+AC_ARG_ENABLE([libglvnd-egl], -+ [AS_HELP_STRING([--enable-libglvnd-egl], -+ [Build EGL for libglvnd @<:@default=disabled@:>@])], -+ [enable_libglvnd_egl="$enableval"], -+ [enable_libglvnd_egl="$enable_libglvnd"]) -+AM_CONDITIONAL(USE_LIBGLVND_EGL, test "x$enable_libglvnd_egl" = xyes) -+ -+if test "x$enable_libglvnd_glx" = xyes -o "x$enable_libglvnd_egl" = xyes ; then -+ PKG_CHECK_VAR(LIBGLVND_DATADIR, libglvnd, datadir) -+ AC_SUBST([LIBGLVND_DATADIR]) -+ -+ if test "x$enable_libglvnd_egl" = xyes ; then -+ PKG_CHECK_MODULES([GLVND], libglvnd >= 0.2.0) -+ -+ if test "x$enable_egl" != xyes ; then -+ AC_MSG_ERROR([cannot build libglvnd without EGL]) -+ fi -+ DEFINES="${DEFINES} -DUSE_LIBGLVND_EGL=1" -+ else -+ PKG_CHECK_MODULES([GLVND], libglvnd >= 0.1.0) -+ fi -+ -+ if test "x$enable_libglvnd_glx" = xyes ; then -+ dnl XXX: update once we can handle more than libGL/glx. -+ dnl Namely: we should error out if neither of the glvnd enabled libraries -+ dnl are built -+ case "x$enable_glx" in -+ xno) -+ AC_MSG_ERROR([cannot build libglvnd without GLX]) -+ ;; -+ xxlib | xgallium-xlib ) -+ AC_MSG_ERROR([cannot build libgvnd when Xlib-GLX or Gallium-Xlib-GLX is enabled]) -+ ;; -+ xdri) -+ ;; -+ esac -+ -+ DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1" -+ DEFAULT_GL_LIB_NAME=GLX_mesa -+ fi -+fi -+ -+AC_ARG_WITH([gl-lib-name], -+ [AS_HELP_STRING([--with-gl-lib-name@<:@=NAME@:>@], -+ [specify GL library name @<:@default=GL@:>@])], -+ [GL_LIB=$withval], -+ [GL_LIB="$DEFAULT_GL_LIB_NAME"]) -+AC_ARG_WITH([osmesa-lib-name], -+ [AS_HELP_STRING([--with-osmesa-lib-name@<:@=NAME@:>@], -+ [specify OSMesa library name @<:@default=OSMesa@:>@])], -+ [OSMESA_LIB=$withval], -+ [OSMESA_LIB=OSMesa]) -+AS_IF([test "x$GL_LIB" = xyes], [GL_LIB="$DEFAULT_GL_LIB_NAME"]) -+AS_IF([test "x$OSMESA_LIB" = xyes], [OSMESA_LIB=OSMesa]) - -- PKG_CHECK_MODULES([GLVND], libglvnd >= 0.1.0) -- DEFINES="${DEFINES} -DUSE_LIBGLVND_GLX=1" -- DEFAULT_GL_LIB_NAME=GLX_mesa -+dnl -+dnl Mangled Mesa support -+dnl -+AC_ARG_ENABLE([mangling], -+ [AS_HELP_STRING([--enable-mangling], -+ [enable mangled symbols and library name @<:@default=disabled@:>@])], -+ [enable_mangling="${enableval}"], -+ [enable_mangling=no] -+) -+if test "x${enable_mangling}" = "xyes" ; then -+ DEFINES="${DEFINES} -DUSE_MGL_NAMESPACE" -+ GL_LIB="Mangled${GL_LIB}" -+ OSMESA_LIB="Mangled${OSMESA_LIB}" - fi -+AC_SUBST([GL_LIB]) -+AC_SUBST([OSMESA_LIB]) - - # Check for libdrm - PKG_CHECK_MODULES([LIBDRM], [libdrm >= $LIBDRM_REQUIRED], -@@ -2759,11 +2773,15 @@ xgallium-xlib) - echo " GLX: $enable_glx" - ;; - esac -+if test "x$enable_glx" != xno; then -+ echo " GLX libglvnd: $enable_libglvnd_glx" -+fi - - dnl EGL - echo "" - echo " EGL: $enable_egl" - if test "$enable_egl" = yes; then -+ echo " EGL libglvnd: $enable_libglvnd_egl" - echo " EGL platforms: $egl_platforms" - - egl_drivers="" -diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am -index 78cf525951..3bc62d550f 100644 ---- a/src/egl/Makefile.am -+++ b/src/egl/Makefile.am -@@ -32,19 +32,16 @@ AM_CFLAGS = \ - $(EGL_CFLAGS) \ - -D_EGL_NATIVE_PLATFORM=$(EGL_NATIVE_PLATFORM) - --lib_LTLIBRARIES = libEGL.la -- --libEGL_la_SOURCES = \ -+# Depending on whether libglvnd is enabled, we'll build the EGL library as -+# either libEGL.so.1 or libEGL_mesa.so.0. Using an automake substitution -+# in the variable names breaks "make dist" target, so use a conenience library -+# instead. -+noinst_LTLIBRARIES = libEGL_common.la -+libEGL_common_la_SOURCES = \ - $(LIBEGL_C_FILES) - --libEGL_la_LIBADD = \ -+libEGL_common_la_LIBADD = \ - $(EGL_LIB_DEPS) --libEGL_la_LDFLAGS = \ -- -no-undefined \ -- -version-number 1:0 \ -- $(BSYMBOLIC) \ -- $(GC_SECTIONS) \ -- $(LD_NO_UNDEFINED) - - dri2_backend_FILES = - dri3_backend_FILES = -@@ -52,7 +49,7 @@ dri3_backend_FILES = - if HAVE_PLATFORM_X11 - AM_CFLAGS += -DHAVE_X11_PLATFORM - AM_CFLAGS += $(XCB_DRI2_CFLAGS) --libEGL_la_LIBADD += $(XCB_DRI2_LIBS) -+libEGL_common_la_LIBADD += $(XCB_DRI2_LIBS) - dri2_backend_FILES += drivers/dri2/platform_x11.c - - if HAVE_DRI3 -@@ -60,22 +57,22 @@ dri3_backend_FILES += \ - drivers/dri2/platform_x11_dri3.c \ - drivers/dri2/platform_x11_dri3.h - --libEGL_la_LIBADD += $(top_builddir)/src/loader/libloader_dri3_helper.la -+libEGL_common_la_LIBADD += $(top_builddir)/src/loader/libloader_dri3_helper.la - endif - endif - - if HAVE_PLATFORM_WAYLAND - AM_CFLAGS += -DHAVE_WAYLAND_PLATFORM - AM_CFLAGS += $(WAYLAND_CFLAGS) --libEGL_la_LIBADD += $(WAYLAND_LIBS) --libEGL_la_LIBADD += $(LIBDRM_LIBS) --libEGL_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la -+libEGL_common_la_LIBADD += $(WAYLAND_LIBS) -+libEGL_common_la_LIBADD += $(LIBDRM_LIBS) -+libEGL_common_la_LIBADD += $(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la - dri2_backend_FILES += drivers/dri2/platform_wayland.c - endif - - if HAVE_EGL_PLATFORM_DRM - AM_CFLAGS += -DHAVE_DRM_PLATFORM --libEGL_la_LIBADD += $(top_builddir)/src/gbm/libgbm.la -+libEGL_common_la_LIBADD += $(top_builddir)/src/gbm/libgbm.la - dri2_backend_FILES += drivers/dri2/platform_drm.c - endif - -@@ -87,7 +84,7 @@ endif - if HAVE_EGL_PLATFORM_ANDROID - AM_CFLAGS += -DHAVE_ANDROID_PLATFORM - AM_CFLAGS += $(ANDROID_CFLAGS) --libEGL_la_LIBADD += $(ANDROID_LIBS) -+libEGL_common_la_LIBADD += $(ANDROID_LIBS) - dri2_backend_FILES += drivers/dri2/platform_android.c - endif - -@@ -101,13 +98,68 @@ AM_CFLAGS += \ - -DDEFAULT_DRIVER_DIR=\"$(DRI_DRIVER_SEARCH_DIR)\" \ - -D_EGL_BUILT_IN_DRIVER_DRI2 - --libEGL_la_SOURCES += \ -+libEGL_common_la_SOURCES += \ - $(dri2_backend_core_FILES) \ - $(dri2_backend_FILES) \ - $(dri3_backend_FILES) - --libEGL_la_LIBADD += $(top_builddir)/src/loader/libloader.la --libEGL_la_LIBADD += $(DLOPEN_LIBS) $(LIBDRM_LIBS) $(CLOCK_LIB) -+libEGL_common_la_LIBADD += $(top_builddir)/src/loader/libloader.la -+libEGL_common_la_LIBADD += $(DLOPEN_LIBS) $(LIBDRM_LIBS) $(CLOCK_LIB) -+ -+GLVND_GEN_DEPS = generate/gen_egl_dispatch.py \ -+ generate/egl.xml generate/eglFunctionList.py generate/genCommon.py \ -+ generate/egl_other.xml -+ -+PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) -+g_egldispatchstubs.c: $(GLVND_GEN_DEPS) -+ $(PYTHON_GEN) $(top_srcdir)/src/egl/generate/gen_egl_dispatch.py source \ -+ $(top_srcdir)/src/egl/generate/eglFunctionList.py \ -+ $(top_srcdir)/src/egl/generate/egl.xml \ -+ $(top_srcdir)/src/egl/generate/egl_other.xml > $@ -+ -+g_egldispatchstubs.h: $(GLVND_GEN_DEPS) -+ $(PYTHON_GEN) $(top_srcdir)/src/egl/generate/gen_egl_dispatch.py header \ -+ $(top_srcdir)/src/egl/generate/eglFunctionList.py \ -+ $(top_srcdir)/src/egl/generate/egl.xml \ -+ $(top_srcdir)/src/egl/generate/egl_other.xml > $@ -+ -+BUILT_SOURCES = g_egldispatchstubs.c g_egldispatchstubs.h -+CLEANFILES = $(BUILT_SOURCES) -+ -+if USE_LIBGLVND_EGL -+AM_CFLAGS += \ -+ $(GLVND_CFLAGS) -+ -+vendorjsondir = @LIBGLVND_DATADIR@/glvnd/egl_vendor.d -+vendorjson_DATA = main/50_mesa.json -+ -+lib_LTLIBRARIES = libEGL_mesa.la -+libEGL_mesa_la_SOURCES = \ -+ main/eglglvnd.c \ -+ main/egldispatchstubs.h \ -+ main/egldispatchstubs.c \ -+ g_egldispatchstubs.c -+libEGL_mesa_la_LIBADD = libEGL_common.la -+libEGL_mesa_la_LDFLAGS = \ -+ -no-undefined \ -+ -version-number 0 \ -+ $(BSYMBOLIC) \ -+ $(GC_SECTIONS) \ -+ $(LD_NO_UNDEFINED) -+ -+else # USE_LIBGLVND_EGL -+ -+lib_LTLIBRARIES = libEGL.la -+libEGL_la_SOURCES = -+libEGL_la_LIBADD = libEGL_common.la -+libEGL_la_LDFLAGS = \ -+ -no-undefined \ -+ -version-number 1:0 \ -+ $(BSYMBOLIC) \ -+ $(GC_SECTIONS) \ -+ $(LD_NO_UNDEFINED) -+ -+endif # USE_LIBGLVND_EGL - - include $(top_srcdir)/install-lib-links.mk - -@@ -133,4 +185,7 @@ EXTRA_DIST = \ - SConscript \ - drivers/haiku \ - main/egl.def \ -- main/README.txt -+ main/README.txt \ -+ $(GLVND_GEN_DEPS) \ -+ main/50_mesa.json -+ -diff --git a/src/egl/generate/egl.xml b/src/egl/generate/egl.xml -new file mode 100755 -index 0000000000..f6dbbc0f26 ---- /dev/null -+++ b/src/egl/generate/egl.xml -@@ -0,0 +1,2412 @@ -+<?xml version="1.0" encoding="UTF-8"?> -+<registry> -+ <!-- -+ Copyright (c) 2013-2014 The Khronos Group Inc. -+ -+ Permission is hereby granted, free of charge, to any person obtaining a -+ copy of this software and/or associated documentation files (the -+ "Materials"), to deal in the Materials without restriction, including -+ without limitation the rights to use, copy, modify, merge, publish, -+ distribute, sublicense, and/or sell copies of the Materials, and to -+ permit persons to whom the Materials are furnished to do so, subject to -+ the following conditions: -+ -+ The above copyright notice and this permission notice shall be included -+ in all copies or substantial portions of the Materials. -+ -+ THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -+ MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. -+ --> -+ <!-- -+ This file, egl.xml, is the EGL API Registry. The older ".spec" file -+ format has been retired and will no longer be updated with new -+ extensions and API versions. The canonical version of the registry, -+ together with documentation, schema, and Python generator scripts used -+ to generate C header files for EGL, can be found in the Khronos Registry -+ at -+ http://www.opengl.org/registry/ -+ --> -+ -+ <!-- SECTION: EGL type definitions. Does not include GL types. --> -+ <types> -+ <!-- These are dependencies EGL types require to be declared legally --> -+ <type name="khrplatform">#include <KHR/khrplatform.h></type> -+ <type name="eglplatform" requires="khrplatform">#include <EGL/eglplatform.h></type> -+ <type name="khronos_utime_nanoseconds_t" requires="khrplatform"/> -+ <type name="khronos_uint64_t" requires="khrplatform"/> -+ <type name="khronos_ssize_t" requires="khrplatform"/> -+ <type name="EGLNativeDisplayType" requires="eglplatform"/> -+ <type name="EGLNativePixmapType" requires="eglplatform"/> -+ <type name="EGLNativeWindowType" requires="eglplatform"/> -+ <type name="EGLint" requires="eglplatform"/> -+ <type name="NativeDisplayType" requires="eglplatform"/> -+ <type name="NativePixmapType" requires="eglplatform"/> -+ <type name="NativeWindowType" requires="eglplatform"/> -+ <!-- Dummy placeholders for non-EGL types --> -+ <type name="Bool"/> -+ <!-- These are actual EGL types. --> -+ <type>typedef unsigned int <name>EGLBoolean</name>;</type> -+ <type>typedef unsigned int <name>EGLenum</name>;</type> -+ <type requires="khrplatform">typedef intptr_t <name>EGLAttribKHR</name>;</type> -+ <type requires="khrplatform">typedef intptr_t <name>EGLAttrib</name>;</type> -+ <type>typedef void *<name>EGLClientBuffer</name>;</type> -+ <type>typedef void *<name>EGLConfig</name>;</type> -+ <type>typedef void *<name>EGLContext</name>;</type> -+ <type>typedef void *<name>EGLDeviceEXT</name>;</type> -+ <type>typedef void *<name>EGLDisplay</name>;</type> -+ <type>typedef void *<name>EGLImage</name>;</type> -+ <type>typedef void *<name>EGLImageKHR</name>;</type> -+ <type>typedef void *<name>EGLLabelKHR</name>;</type> -+ <type>typedef void *<name>EGLObjectKHR</name>;</type> -+ <type>typedef void *<name>EGLOutputLayerEXT</name>;</type> -+ <type>typedef void *<name>EGLOutputPortEXT</name>;</type> -+ <type>typedef void *<name>EGLStreamKHR</name>;</type> -+ <type>typedef void *<name>EGLSurface</name>;</type> -+ <type>typedef void *<name>EGLSync</name>;</type> -+ <type>typedef void *<name>EGLSyncKHR</name>;</type> -+ <type>typedef void *<name>EGLSyncNV</name>;</type> -+ <type>typedef void (*<name>__eglMustCastToProperFunctionPointerType</name>)(void);</type> -+ <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLTimeKHR</name>;</type> -+ <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLTime</name>;</type> -+ <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLTimeNV</name>;</type> -+ <type requires="khrplatform">typedef khronos_utime_nanoseconds_t <name>EGLuint64NV</name>;</type> -+ <type requires="khrplatform">typedef khronos_uint64_t <name>EGLuint64KHR</name>;</type> -+ <type>typedef int <name>EGLNativeFileDescriptorKHR</name>;</type> -+ <type requires="khrplatform">typedef khronos_ssize_t <name>EGLsizeiANDROID</name>;</type> -+ <type requires="EGLsizeiANDROID">typedef void (*<name>EGLSetBlobFuncANDROID</name>) (const void *key, EGLsizeiANDROID keySize, const void *value, EGLsizeiANDROID valueSize);</type> -+ <type requires="EGLsizeiANDROID">typedef EGLsizeiANDROID (*<name>EGLGetBlobFuncANDROID</name>) (const void *key, EGLsizeiANDROID keySize, void *value, EGLsizeiANDROID valueSize);</type> -+ <type>struct <name>EGLClientPixmapHI</name> { -+ void *pData; -+ EGLint iWidth; -+ EGLint iHeight; -+ EGLint iStride; -+};</type> -+ <type>typedef void (<apientry/> *<name>EGLDEBUGPROCKHR</name>)(EGLenum error,const char *command,EGLint messageType,EGLLabelKHR threadLabel,EGLLabelKHR objectLabel,const char* message);</type> -+ </types> -+ -+ <!-- SECTION: EGL enumerant (token) definitions. --> -+ -+ <!-- Bitmasks each have their own namespace, as do a few other -+ categories of enumeration --> -+ -+ <enums namespace="EGLSurfaceTypeMask" type="bitmask" comment="EGL_SURFACE_TYPE bits"> -+ <enum value="0x0001" name="EGL_PBUFFER_BIT"/> -+ <enum value="0x0002" name="EGL_PIXMAP_BIT"/> -+ <enum value="0x0004" name="EGL_WINDOW_BIT"/> -+ <enum value="0x0008" name="EGL_PBUFFER_IMAGE_BIT_TAO" comment="Unreleased TAO extension"/> -+ <enum value="0x0010" name="EGL_PBUFFER_PALETTE_IMAGE_BIT_TAO" comment="Unreleased TAO extension"/> -+ <enum value="0x0020" name="EGL_VG_COLORSPACE_LINEAR_BIT"/> -+ <enum value="0x0020" name="EGL_VG_COLORSPACE_LINEAR_BIT_KHR"/> -+ <enum value="0x0040" name="EGL_VG_ALPHA_FORMAT_PRE_BIT"/> -+ <enum value="0x0040" name="EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR"/> -+ <enum value="0x0080" name="EGL_LOCK_SURFACE_BIT_KHR"/> -+ <enum value="0x0100" name="EGL_OPTIMAL_FORMAT_BIT_KHR"/> -+ <enum value="0x0200" name="EGL_MULTISAMPLE_RESOLVE_BOX_BIT"/> -+ <enum value="0x0400" name="EGL_SWAP_BEHAVIOR_PRESERVED_BIT"/> -+ <enum value="0x0800" name="EGL_STREAM_BIT_KHR"/> -+ <!-- -+ <enum value="0x0800" name="EGL_STREAM_BIT_NV" comment="Draft EGL_NV_stream_producer_eglsurface extension (bug 8064)"/> -+ --> -+ </enums> -+ -+ <enums namespace="EGLRenderableTypeMask" type="bitmask" comment="EGL_RENDERABLE_TYPE bits"> -+ <enum value="0x0001" name="EGL_OPENGL_ES_BIT"/> -+ <enum value="0x0002" name="EGL_OPENVG_BIT"/> -+ <enum value="0x0004" name="EGL_OPENGL_ES2_BIT"/> -+ <enum value="0x0008" name="EGL_OPENGL_BIT"/> -+ <enum value="0x0010" name="EGL_INTEROP_BIT_KHR" comment="EGL_KHR_interop"/> -+ <enum value="0x0020" name="EGL_OPENMAX_IL_BIT_KHR" comment="EGL_KHR_interop"/> -+ <enum value="0x00000040" name="EGL_OPENGL_ES3_BIT"/> -+ <enum value="0x00000040" name="EGL_OPENGL_ES3_BIT_KHR" alias="EGL_OPENGL_ES3_BIT"/> -+ </enums> -+ -+ <enums namespace="EGLLockUsageHintKHRMask" type="bitmask" comment="EGL_LOCK_USAGE_HINT_KHR bits"> -+ <enum value="0x0001" name="EGL_READ_SURFACE_BIT_KHR"/> -+ <enum value="0x0002" name="EGL_WRITE_SURFACE_BIT_KHR"/> -+ </enums> -+ -+ <enums namespace="EGLSyncFlagsKHR" type="bitmask" comment="Fence/reusable sync wait bits"> -+ <enum value="0x0001" name="EGL_SYNC_FLUSH_COMMANDS_BIT"/> -+ <enum value="0x0001" name="EGL_SYNC_FLUSH_COMMANDS_BIT_KHR" alias="EGL_SYNC_FLUSH_COMMANDS_BIT"/> -+ <enum value="0x0001" name="EGL_SYNC_FLUSH_COMMANDS_BIT_NV" alias="EGL_SYNC_FLUSH_COMMANDS_BIT"/> -+ </enums> -+ -+ <enums namespace="EGLDRMBufferUseMESAMask" type="bitmask" comment="EGL_DRM_BUFFER_USE_MESA bits"> -+ <enum value="0x00000001" name="EGL_DRM_BUFFER_USE_SCANOUT_MESA"/> -+ <enum value="0x00000002" name="EGL_DRM_BUFFER_USE_SHARE_MESA"/> -+ </enums> -+ -+ <!-- Should be shared with GL, but aren't aren't since the -+ FORWARD_COMPATIBLE and DEBUG_BIT values are swapped in the -+ corresponding GL enums. Oops :-( --> -+ <enums namespace="EGLContextFlagMask" type="bitmask" comment="EGL_CONTEXT_FLAGS_KHR bits"> -+ <enum value="0x00000001" name="EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR"/> -+ <enum value="0x00000002" name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR"/> -+ <enum value="0x00000004" name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR"/> -+ </enums> -+ -+ <enums namespace="EGLContextProfileMask" type="bitmask" comment="Shared with GL"> -+ <enum value="0x00000001" name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT"/> -+ <enum value="0x00000001" name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR" alias="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT"/> -+ <enum value="0x00000002" name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT"/> -+ <enum value="0x00000002" name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR" alias="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT"/> -+ </enums> -+ -+ <!-- The default ("API") enum namespace starts here. While some -+ assigned values may overlap, and different parts of the -+ namespace are reserved for different purposes, it is a single -+ namespace. The "class" attribute indicates some of the reserved -+ purposes but is by no means complete (and cannot be, since many -+ tokens are reused for different purposes in different -+ extensions and API versions). --> -+ -+ <enums namespace="EGL" start="0x0000" end="0x2FFF" vendor="ARB"/> -+ -+ <enums namespace="EGL" group="Boolean" vendor="ARB"> -+ <enum value="0" name="EGL_FALSE"/> -+ <enum value="1" name="EGL_TRUE"/> -+ </enums> -+ -+ <enums namespace="EGL" group="SpecialNumbers" vendor="ARB" comment="Tokens whose numeric value is intrinsically meaningful"> -+ <enum value="((EGLint)-1)" name="EGL_DONT_CARE"/> -+ <enum value="((EGLint)-1)" name="EGL_UNKNOWN"/> -+ <enum value="-1" name="EGL_NO_NATIVE_FENCE_FD_ANDROID"/> -+ <enum value="0" name="EGL_DEPTH_ENCODING_NONE_NV"/> -+ <enum value="((EGLContext)0)" name="EGL_NO_CONTEXT"/> -+ <enum value="((EGLDeviceEXT)(0))" name="EGL_NO_DEVICE_EXT"/> -+ <enum value="((EGLDisplay)0)" name="EGL_NO_DISPLAY"/> -+ <enum value="((EGLImage)0)" name="EGL_NO_IMAGE"/> -+ <enum value="((EGLImageKHR)0)" name="EGL_NO_IMAGE_KHR"/> -+ <enum value="((EGLNativeDisplayType)0)" name="EGL_DEFAULT_DISPLAY"/> -+ <enum value="((EGLNativeFileDescriptorKHR)(-1))" name="EGL_NO_FILE_DESCRIPTOR_KHR"/> -+ <enum value="((EGLOutputLayerEXT)0)" name="EGL_NO_OUTPUT_LAYER_EXT"/> -+ <enum value="((EGLOutputPortEXT)0)" name="EGL_NO_OUTPUT_PORT_EXT"/> -+ <enum value="((EGLStreamKHR)0)" name="EGL_NO_STREAM_KHR"/> -+ <enum value="((EGLSurface)0)" name="EGL_NO_SURFACE"/> -+ <enum value="((EGLSync)0)" name="EGL_NO_SYNC"/> -+ <enum value="((EGLSyncKHR)0)" name="EGL_NO_SYNC_KHR" alias="EGL_NO_SYNC"/> -+ <enum value="((EGLSyncNV)0)" name="EGL_NO_SYNC_NV" alias="EGL_NO_SYNC"/> -+ <enum value="10000" name="EGL_DISPLAY_SCALING"/> -+ <enum value="0xFFFFFFFFFFFFFFFF" name="EGL_FOREVER" type="ull"/> -+ <enum value="0xFFFFFFFFFFFFFFFF" name="EGL_FOREVER_KHR" type="ull" alias="EGL_FOREVER"/> -+ <enum value="0xFFFFFFFFFFFFFFFF" name="EGL_FOREVER_NV" type="ull" alias="EGL_FOREVER"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3000" end="0x305F" vendor="KHR"> -+ <enum value="0x3000" name="EGL_SUCCESS"/> -+ <enum value="0x3001" name="EGL_NOT_INITIALIZED"/> -+ <enum value="0x3002" name="EGL_BAD_ACCESS"/> -+ <enum value="0x3003" name="EGL_BAD_ALLOC"/> -+ <enum value="0x3004" name="EGL_BAD_ATTRIBUTE"/> -+ <enum value="0x3005" name="EGL_BAD_CONFIG"/> -+ <enum value="0x3006" name="EGL_BAD_CONTEXT"/> -+ <enum value="0x3007" name="EGL_BAD_CURRENT_SURFACE"/> -+ <enum value="0x3008" name="EGL_BAD_DISPLAY"/> -+ <enum value="0x3009" name="EGL_BAD_MATCH"/> -+ <enum value="0x300A" name="EGL_BAD_NATIVE_PIXMAP"/> -+ <enum value="0x300B" name="EGL_BAD_NATIVE_WINDOW"/> -+ <enum value="0x300C" name="EGL_BAD_PARAMETER"/> -+ <enum value="0x300D" name="EGL_BAD_SURFACE"/> -+ <enum value="0x300E" name="EGL_CONTEXT_LOST"/> -+ <unused start="0x300F" end="0x301F" comment="for additional errors"/> -+ <enum value="0x3020" name="EGL_BUFFER_SIZE"/> -+ <enum value="0x3021" name="EGL_ALPHA_SIZE"/> -+ <enum value="0x3022" name="EGL_BLUE_SIZE"/> -+ <enum value="0x3023" name="EGL_GREEN_SIZE"/> -+ <enum value="0x3024" name="EGL_RED_SIZE"/> -+ <enum value="0x3025" name="EGL_DEPTH_SIZE"/> -+ <enum value="0x3026" name="EGL_STENCIL_SIZE"/> -+ <enum value="0x3027" name="EGL_CONFIG_CAVEAT"/> -+ <enum value="0x3028" name="EGL_CONFIG_ID"/> -+ <enum value="0x3029" name="EGL_LEVEL"/> -+ <enum value="0x302A" name="EGL_MAX_PBUFFER_HEIGHT"/> -+ <enum value="0x302B" name="EGL_MAX_PBUFFER_PIXELS"/> -+ <enum value="0x302C" name="EGL_MAX_PBUFFER_WIDTH"/> -+ <enum value="0x302D" name="EGL_NATIVE_RENDERABLE"/> -+ <enum value="0x302E" name="EGL_NATIVE_VISUAL_ID"/> -+ <enum value="0x302F" name="EGL_NATIVE_VISUAL_TYPE"/> -+ <enum value="0x3031" name="EGL_SAMPLES"/> -+ <enum value="0x3032" name="EGL_SAMPLE_BUFFERS"/> -+ <enum value="0x3033" name="EGL_SURFACE_TYPE"/> -+ <enum value="0x3034" name="EGL_TRANSPARENT_TYPE"/> -+ <enum value="0x3035" name="EGL_TRANSPARENT_BLUE_VALUE"/> -+ <enum value="0x3036" name="EGL_TRANSPARENT_GREEN_VALUE"/> -+ <enum value="0x3037" name="EGL_TRANSPARENT_RED_VALUE"/> -+ <enum value="0x3038" name="EGL_NONE" comment="Attribute list terminator"/> -+ <enum value="0x3039" name="EGL_BIND_TO_TEXTURE_RGB"/> -+ <enum value="0x303A" name="EGL_BIND_TO_TEXTURE_RGBA"/> -+ <enum value="0x303B" name="EGL_MIN_SWAP_INTERVAL"/> -+ <enum value="0x303C" name="EGL_MAX_SWAP_INTERVAL"/> -+ <enum value="0x303D" name="EGL_LUMINANCE_SIZE"/> -+ <enum value="0x303E" name="EGL_ALPHA_MASK_SIZE"/> -+ <enum value="0x303F" name="EGL_COLOR_BUFFER_TYPE"/> -+ <enum value="0x3040" name="EGL_RENDERABLE_TYPE"/> -+ <enum value="0x3041" name="EGL_MATCH_NATIVE_PIXMAP"/> -+ <enum value="0x3042" name="EGL_CONFORMANT"/> -+ <enum value="0x3042" name="EGL_CONFORMANT_KHR"/> -+ <enum value="0x3043" name="EGL_MATCH_FORMAT_KHR"/> -+ <unused start="0x3044" end="0x304F" comment="for additional config attributes"/> -+ <enum value="0x3050" name="EGL_SLOW_CONFIG"/> -+ <enum value="0x3051" name="EGL_NON_CONFORMANT_CONFIG"/> -+ <enum value="0x3052" name="EGL_TRANSPARENT_RGB"/> -+ <enum value="0x3053" name="EGL_VENDOR"/> -+ <enum value="0x3054" name="EGL_VERSION"/> -+ <enum value="0x3055" name="EGL_EXTENSIONS"/> -+ <enum value="0x3056" name="EGL_HEIGHT"/> -+ <enum value="0x3057" name="EGL_WIDTH"/> -+ <enum value="0x3058" name="EGL_LARGEST_PBUFFER"/> -+ <enum value="0x3059" name="EGL_DRAW"/> -+ <enum value="0x305A" name="EGL_READ"/> -+ <enum value="0x305B" name="EGL_CORE_NATIVE_ENGINE"/> -+ <enum value="0x305C" name="EGL_NO_TEXTURE"/> -+ <enum value="0x305D" name="EGL_TEXTURE_RGB"/> -+ <enum value="0x305E" name="EGL_TEXTURE_RGBA"/> -+ <enum value="0x305F" name="EGL_TEXTURE_2D"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3060-0x306F" vendor="TAO" comment="Reserved for Phil Huxley"> -+ <unused start="0x3060" end="0x306F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3070-0x307F" vendor="NOK" comment="Reserved for Jani Vaarala"> -+ <unused start="0x3070" end="0x307E"/> -+ <enum value="0x307F" name="EGL_Y_INVERTED_NOK"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3080-0x30AF" vendor="KHR"> -+ <enum value="0x3080" name="EGL_TEXTURE_FORMAT"/> -+ <enum value="0x3081" name="EGL_TEXTURE_TARGET"/> -+ <enum value="0x3082" name="EGL_MIPMAP_TEXTURE"/> -+ <enum value="0x3083" name="EGL_MIPMAP_LEVEL"/> -+ <enum value="0x3084" name="EGL_BACK_BUFFER"/> -+ <enum value="0x3085" name="EGL_SINGLE_BUFFER"/> -+ <enum value="0x3086" name="EGL_RENDER_BUFFER"/> -+ <enum value="0x3087" name="EGL_COLORSPACE" alias="EGL_VG_COLORSPACE"/> -+ <enum value="0x3087" name="EGL_VG_COLORSPACE"/> -+ <enum value="0x3088" name="EGL_ALPHA_FORMAT" alias="EGL_VG_ALPHA_FORMAT"/> -+ <enum value="0x3088" name="EGL_VG_ALPHA_FORMAT"/> -+ <enum value="0x3089" name="EGL_COLORSPACE_sRGB"/> -+ <enum value="0x3089" name="EGL_GL_COLORSPACE_SRGB" alias="EGL_COLORSPACE_sRGB"/> -+ <enum value="0x3089" name="EGL_GL_COLORSPACE_SRGB_KHR" alias="EGL_COLORSPACE_sRGB"/> -+ <enum value="0x3089" name="EGL_VG_COLORSPACE_sRGB" alias="EGL_COLORSPACE_sRGB"/> -+ <enum value="0x308A" name="EGL_COLORSPACE_LINEAR"/> -+ <enum value="0x308A" name="EGL_GL_COLORSPACE_LINEAR" alias="EGL_COLORSPACE_LINEAR"/> -+ <enum value="0x308A" name="EGL_GL_COLORSPACE_LINEAR_KHR" alias="EGL_COLORSPACE_LINEAR"/> -+ <enum value="0x308A" name="EGL_VG_COLORSPACE_LINEAR" alias="EGL_COLORSPACE_LINEAR"/> -+ <enum value="0x308B" name="EGL_ALPHA_FORMAT_NONPRE" alias="EGL_VG_ALPHA_FORMAT_NONPRE"/> -+ <enum value="0x308B" name="EGL_VG_ALPHA_FORMAT_NONPRE"/> -+ <enum value="0x308C" name="EGL_ALPHA_FORMAT_PRE" alias="EGL_VG_ALPHA_FORMAT_PRE"/> -+ <enum value="0x308C" name="EGL_VG_ALPHA_FORMAT_PRE"/> -+ <enum value="0x308D" name="EGL_CLIENT_APIS"/> -+ <enum value="0x308E" name="EGL_RGB_BUFFER"/> -+ <enum value="0x308F" name="EGL_LUMINANCE_BUFFER"/> -+ <enum value="0x3090" name="EGL_HORIZONTAL_RESOLUTION"/> -+ <enum value="0x3091" name="EGL_VERTICAL_RESOLUTION"/> -+ <enum value="0x3092" name="EGL_PIXEL_ASPECT_RATIO"/> -+ <enum value="0x3093" name="EGL_SWAP_BEHAVIOR"/> -+ <enum value="0x3094" name="EGL_BUFFER_PRESERVED"/> -+ <enum value="0x3095" name="EGL_BUFFER_DESTROYED"/> -+ <enum value="0x3096" name="EGL_OPENVG_IMAGE"/> -+ <enum value="0x3097" name="EGL_CONTEXT_CLIENT_TYPE"/> -+ <enum value="0x3098" name="EGL_CONTEXT_CLIENT_VERSION"/> -+ <enum value="0x3098" name="EGL_CONTEXT_MAJOR_VERSION" alias="EGL_CONTEXT_CLIENT_VERSION"/> -+ <enum value="0x3098" name="EGL_CONTEXT_MAJOR_VERSION_KHR" alias="EGL_CONTEXT_CLIENT_VERSION"/> -+ <enum value="0x3099" name="EGL_MULTISAMPLE_RESOLVE"/> -+ <enum value="0x309A" name="EGL_MULTISAMPLE_RESOLVE_DEFAULT"/> -+ <enum value="0x309B" name="EGL_MULTISAMPLE_RESOLVE_BOX"/> -+ <enum value="0x309C" name="EGL_CL_EVENT_HANDLE"/> -+ <enum value="0x309C" name="EGL_CL_EVENT_HANDLE_KHR" alias="EGL_CL_EVENT_HANDLE"/> -+ <enum value="0x309D" name="EGL_GL_COLORSPACE"/> -+ <enum value="0x309D" name="EGL_GL_COLORSPACE_KHR" alias="EGL_GL_COLORSPACE"/> -+ <unused start="0x309E" end="0x309F"/> -+ <enum value="0x30A0" name="EGL_OPENGL_ES_API"/> -+ <enum value="0x30A1" name="EGL_OPENVG_API"/> -+ <enum value="0x30A2" name="EGL_OPENGL_API"/> -+ <unused start="0x30A3" end="0x30AF" comment="for additional client API names"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x30B0-0x30BF" vendor="NV" comment="Reserved for Ignacio Llamas"> -+ <enum value="0x30B0" name="EGL_NATIVE_PIXMAP_KHR"/> -+ <enum value="0x30B1" name="EGL_GL_TEXTURE_2D"/> -+ <enum value="0x30B1" name="EGL_GL_TEXTURE_2D_KHR" alias="EGL_GL_TEXTURE_2D"/> -+ <enum value="0x30B2" name="EGL_GL_TEXTURE_3D"/> -+ <enum value="0x30B2" name="EGL_GL_TEXTURE_3D_KHR" alias="EGL_GL_TEXTURE_3D"/> -+ <enum value="0x30B3" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X"/> -+ <enum value="0x30B3" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X"/> -+ <enum value="0x30B4" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/> -+ <enum value="0x30B4" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/> -+ <enum value="0x30B5" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/> -+ <enum value="0x30B5" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/> -+ <enum value="0x30B6" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/> -+ <enum value="0x30B6" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/> -+ <enum value="0x30B7" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/> -+ <enum value="0x30B7" name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/> -+ <enum value="0x30B8" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/> -+ <enum value="0x30B8" name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR" alias="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/> -+ <enum value="0x30B9" name="EGL_GL_RENDERBUFFER"/> -+ <enum value="0x30B9" name="EGL_GL_RENDERBUFFER_KHR" alias="EGL_GL_RENDERBUFFER"/> -+ <enum value="0x30BA" name="EGL_VG_PARENT_IMAGE_KHR"/> -+ <enum value="0x30BC" name="EGL_GL_TEXTURE_LEVEL"/> -+ <enum value="0x30BC" name="EGL_GL_TEXTURE_LEVEL_KHR" alias="EGL_GL_TEXTURE_LEVEL"/> -+ <enum value="0x30BD" name="EGL_GL_TEXTURE_ZOFFSET"/> -+ <enum value="0x30BD" name="EGL_GL_TEXTURE_ZOFFSET_KHR" alias="EGL_GL_TEXTURE_ZOFFSET"/> -+ <enum value="0x30BE" name="EGL_POST_SUB_BUFFER_SUPPORTED_NV"/> -+ <enum value="0x30BF" name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT" alias="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x30C0-0x30CF" vendor="KHR"> -+ <enum value="0x30C0" name="EGL_FORMAT_RGB_565_EXACT_KHR"/> -+ <enum value="0x30C1" name="EGL_FORMAT_RGB_565_KHR"/> -+ <enum value="0x30C2" name="EGL_FORMAT_RGBA_8888_EXACT_KHR"/> -+ <enum value="0x30C3" name="EGL_FORMAT_RGBA_8888_KHR"/> -+ <enum value="0x30C4" name="EGL_MAP_PRESERVE_PIXELS_KHR"/> -+ <enum value="0x30C5" name="EGL_LOCK_USAGE_HINT_KHR"/> -+ <enum value="0x30C6" name="EGL_BITMAP_POINTER_KHR"/> -+ <enum value="0x30C7" name="EGL_BITMAP_PITCH_KHR"/> -+ <enum value="0x30C8" name="EGL_BITMAP_ORIGIN_KHR"/> -+ <enum value="0x30C9" name="EGL_BITMAP_PIXEL_RED_OFFSET_KHR"/> -+ <enum value="0x30CA" name="EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR"/> -+ <enum value="0x30CB" name="EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR"/> -+ <enum value="0x30CC" name="EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR"/> -+ <enum value="0x30CD" name="EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR"/> -+ <enum value="0x30CE" name="EGL_LOWER_LEFT_KHR"/> -+ <enum value="0x30CF" name="EGL_UPPER_LEFT_KHR"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x30D0" end="0x30DF" vendor="Symbian" comment="Reserved for Robert Palmer (bug #2545)"> -+ <unused start="0x30D0" end="0x30D1"/> -+ <enum value="0x30D2" name="EGL_IMAGE_PRESERVED"/> -+ <enum value="0x30D2" name="EGL_IMAGE_PRESERVED_KHR"/> -+ <unused start="0x30D3" end="0x30D9"/> -+ <enum value="0x30DA" name="EGL_SHARED_IMAGE_NOK" comment="Unreleased extension"/> -+ <unused start="0x30DB" end="0x30DF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x30E0" end="0x30EF" vendor="NV" comment="Reserved for Russell Pflughaupt (bug #3314)"> -+ <enum value="0x30E0" name="EGL_COVERAGE_BUFFERS_NV"/> -+ <enum value="0x30E1" name="EGL_COVERAGE_SAMPLES_NV"/> -+ <enum value="0x30E2" name="EGL_DEPTH_ENCODING_NV"/> -+ <enum value="0x30E3" name="EGL_DEPTH_ENCODING_NONLINEAR_NV"/> -+ <unused start="0x30E4" end="0x30E5"/> -+ <enum value="0x30E6" name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV"/> -+ <enum value="0x30E7" name="EGL_SYNC_STATUS_NV"/> -+ <enum value="0x30E8" name="EGL_SIGNALED_NV"/> -+ <enum value="0x30E9" name="EGL_UNSIGNALED_NV"/> -+ <enum value="0x30EA" name="EGL_ALREADY_SIGNALED_NV"/> -+ <enum value="0x30EB" name="EGL_TIMEOUT_EXPIRED_NV"/> -+ <enum value="0x30EC" name="EGL_CONDITION_SATISFIED_NV"/> -+ <enum value="0x30ED" name="EGL_SYNC_TYPE_NV"/> -+ <enum value="0x30EE" name="EGL_SYNC_CONDITION_NV"/> -+ <enum value="0x30EF" name="EGL_SYNC_FENCE_NV"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x30F0" end="0x30FF" vendor="KHR"> -+ <enum value="0x30F0" name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE"/> -+ <enum value="0x30F0" name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR" alias="EGL_SYNC_PRIOR_COMMANDS_COMPLETE"/> -+ <enum value="0x30F1" name="EGL_SYNC_STATUS"/> -+ <enum value="0x30F1" name="EGL_SYNC_STATUS_KHR" alias="EGL_SYNC_STATUS"/> -+ <enum value="0x30F2" name="EGL_SIGNALED"/> -+ <enum value="0x30F2" name="EGL_SIGNALED_KHR" alias="EGL_SIGNALED"/> -+ <enum value="0x30F3" name="EGL_UNSIGNALED"/> -+ <enum value="0x30F3" name="EGL_UNSIGNALED_KHR" alias="EGL_UNSIGNALED"/> -+ <enum value="0x30F5" name="EGL_TIMEOUT_EXPIRED"/> -+ <enum value="0x30F5" name="EGL_TIMEOUT_EXPIRED_KHR" alias="EGL_TIMEOUT_EXPIRED"/> -+ <enum value="0x30F6" name="EGL_CONDITION_SATISFIED"/> -+ <enum value="0x30F6" name="EGL_CONDITION_SATISFIED_KHR" alias="EGL_CONDITION_SATISFIED"/> -+ <enum value="0x30F7" name="EGL_SYNC_TYPE"/> -+ <enum value="0x30F7" name="EGL_SYNC_TYPE_KHR" alias="EGL_SYNC_TYPE"/> -+ <enum value="0x30F8" name="EGL_SYNC_CONDITION"/> -+ <enum value="0x30F8" name="EGL_SYNC_CONDITION_KHR" alias="EGL_SYNC_CONDITION"/> -+ <enum value="0x30F9" name="EGL_SYNC_FENCE"/> -+ <enum value="0x30F9" name="EGL_SYNC_FENCE_KHR" alias="EGL_SYNC_FENCE"/> -+ <enum value="0x30FA" name="EGL_SYNC_REUSABLE_KHR"/> -+ <enum value="0x30FB" name="EGL_CONTEXT_MINOR_VERSION"/> -+ <enum value="0x30FB" name="EGL_CONTEXT_MINOR_VERSION_KHR" alias="EGL_CONTEXT_MINOR_VERSION"/> -+ <enum value="0x30FC" name="EGL_CONTEXT_FLAGS_KHR"/> -+ <enum value="0x30FD" name="EGL_CONTEXT_OPENGL_PROFILE_MASK"/> -+ <enum value="0x30FD" name="EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR" alias="EGL_CONTEXT_OPENGL_PROFILE_MASK"/> -+ <enum value="0x30FE" name="EGL_SYNC_CL_EVENT"/> -+ <enum value="0x30FE" name="EGL_SYNC_CL_EVENT_KHR" alias="EGL_SYNC_CL_EVENT"/> -+ <enum value="0x30FF" name="EGL_SYNC_CL_EVENT_COMPLETE"/> -+ <enum value="0x30FF" name="EGL_SYNC_CL_EVENT_COMPLETE_KHR" alias="EGL_SYNC_CL_EVENT_COMPLETE"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3100" end="0x310F" vendor="IMG" comment="Reserved for Ben Bowman (Khronos bug 4748)"> -+ <enum value="0x3100" name="EGL_CONTEXT_PRIORITY_LEVEL_IMG"/> -+ <enum value="0x3101" name="EGL_CONTEXT_PRIORITY_HIGH_IMG"/> -+ <enum value="0x3102" name="EGL_CONTEXT_PRIORITY_MEDIUM_IMG"/> -+ <enum value="0x3103" name="EGL_CONTEXT_PRIORITY_LOW_IMG"/> -+ <unused start="0x3104" end="0x310F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3110" end="0x311F" vendor="ATX" comment="Reserved for Tim Renouf, Antix (Khronos bug 4949)"> -+ <enum value="0x3110" name="EGL_BITMAP_PIXEL_SIZE_KHR"/> -+ <unused start="0x3111" end="0x311F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3120" end="0x312F" vendor="AMD" comment="Reserved for David Garcia (Khronos bug 5149)"> -+ <unused start="0x3120" end="0x312F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3130" end="0x313F" vendor="NV" comment="Reserved for Greg Prisament (Khronos bug 5166)"> -+ <unused start="0x3130"/> -+ <enum value="0x3131" name="EGL_COVERAGE_SAMPLE_RESOLVE_NV"/> -+ <enum value="0x3132" name="EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV"/> -+ <enum value="0x3133" name="EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV"/> -+ <enum value="0x3134" name="EGL_MULTIVIEW_VIEW_COUNT_EXT"/> -+ <unused start="0x3135"/> -+ <enum value="0x3136" name="EGL_AUTO_STEREO_NV"/> -+ <unused start="0x3137"/> -+ <enum value="0x3138" name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT"/> -+ <unused start="0x3139" end="0x313C"/> -+ <enum value="0x313D" name="EGL_BUFFER_AGE_KHR"/> -+ <enum value="0x313D" name="EGL_BUFFER_AGE_EXT" alias="EGL_BUFFER_AGE_KHR"/> -+ <unused start="0x313E" end="0x313F"/> -+ <enum value="0x313F" name="EGL_PLATFORM_DEVICE_EXT"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3140" end="0x314F" vendor="Google" comment="Reserved for Mathias Agopian (Khronos bug 5199)"> -+ <enum value="0x3140" name="EGL_NATIVE_BUFFER_ANDROID"/> -+ <enum value="0x3141" name="EGL_PLATFORM_ANDROID_KHR"/> -+ <enum value="0x3142" name="EGL_RECORDABLE_ANDROID"/> -+ <unused start="0x3143"/> -+ <enum value="0x3144" name="EGL_SYNC_NATIVE_FENCE_ANDROID"/> -+ <enum value="0x3145" name="EGL_SYNC_NATIVE_FENCE_FD_ANDROID"/> -+ <enum value="0x3146" name="EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID"/> -+ <enum value="0x3147" name="EGL_FRAMEBUFFER_TARGET_ANDROID"/> -+ <unused start="0x3148" end="0x314F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3150" end="0x315F" vendor="NOK" comment="Reserved for Robert Palmer (Khronos bug 5368)"> -+ <unused start="0x3150" end="0x315F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3160" end="0x316F" vendor="Seaweed" comment="Reserved for Sree Sridharan (Khronos public bug 198)"> -+ <unused start="0x3160" end="0x316F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3170" end="0x318F" vendor="QNX" comment="Reserved for Joel Pilon (Khronos bug 5834)"> -+ <unused start="0x3170" end="0x318F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3190" end="0x31AF" vendor="FSL" comment="Reserved for Brian Murray, Freescale (Khronos bug 5939)"> -+ <unused start="0x3190" end="0x31AF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x31B0" end="0x31BF" vendor="KHR" comment="Reserved for Marcus Lorentzon (Khronos bug 6437)"> -+ <enum value="0x31B0" name="EGL_CONTEXT_OPENGL_DEBUG"/> -+ <enum value="0x31B1" name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE"/> -+ <enum value="0x31B2" name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/> -+ <enum value="0x31B3" name="EGL_CONTEXT_OPENGL_NO_ERROR_KHR"/> -+ <unused start="0x31B4" end="0x31BC" comment="0x31B3-0x31BC formerly reserved for EGL_image_stream"/> -+ <enum value="0x31BD" name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR" alias="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/> -+ <enum value="0x31BD" name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/> -+ <enum value="0x31BE" name="EGL_NO_RESET_NOTIFICATION"/> -+ <enum value="0x31BE" name="EGL_NO_RESET_NOTIFICATION_KHR" alias="EGL_NO_RESET_NOTIFICATION"/> -+ <enum value="0x31BE" name="EGL_NO_RESET_NOTIFICATION_EXT" alias="EGL_NO_RESET_NOTIFICATION"/> -+ <enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET"/> -+ <enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET_KHR" alias="EGL_LOSE_CONTEXT_ON_RESET"/> -+ <enum value="0x31BF" name="EGL_LOSE_CONTEXT_ON_RESET_EXT" alias="EGL_LOSE_CONTEXT_ON_RESET"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x31C0" end="0x31CF" vendor="QCOM" comment="Reserved for Maurice Ribble (Khronos bug 6644) - EGL_QCOM_create_image spec TBD"> -+ <unused start="0x31C0" end="0x31CF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x31D0" end="0x31DF" vendor="MESA" comment="Reserved for Kristian Høgsberg (Khronos bug 6757)"> -+ <enum value="0x31D0" name="EGL_DRM_BUFFER_FORMAT_MESA"/> -+ <enum value="0x31D1" name="EGL_DRM_BUFFER_USE_MESA"/> -+ <enum value="0x31D2" name="EGL_DRM_BUFFER_FORMAT_ARGB32_MESA"/> -+ <enum value="0x31D3" name="EGL_DRM_BUFFER_MESA"/> -+ <enum value="0x31D4" name="EGL_DRM_BUFFER_STRIDE_MESA"/> -+ <enum value="0x31D5" name="EGL_PLATFORM_X11_KHR"/> -+ <enum value="0x31D5" name="EGL_PLATFORM_X11_EXT" alias="EGL_PLATFORM_X11_KHR"/> -+ <enum value="0x31D6" name="EGL_PLATFORM_X11_SCREEN_KHR"/> -+ <enum value="0x31D6" name="EGL_PLATFORM_X11_SCREEN_EXT" alias="EGL_PLATFORM_X11_SCREEN_KHR"/> -+ <enum value="0x31D7" name="EGL_PLATFORM_GBM_KHR"/> -+ <enum value="0x31D7" name="EGL_PLATFORM_GBM_MESA" alias="EGL_PLATFORM_GBM_KHR"/> -+ <enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_KHR"/> -+ <enum value="0x31D8" name="EGL_PLATFORM_WAYLAND_EXT" alias="EGL_PLATFORM_WAYLAND_KHR"/> -+ <unused start="0x31D9" end="0x31DF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x31E0" end="0x31EF" vendor="HI" comment="Reserved for Mark Callow (Khronos bug 6799)"> -+ <unused start="0x31E0" end="0x31EF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x31F0" end="0x31FF" vendor="KHR"> -+ <unused start="0x31F0" end="0x31FB" comment="Placeholders for draft extensions follow"/> -+ <!-- -+ <enum value="0x31F0" name="EGL_IMAGE_USE_AS_OPENGL_ES1_RENDERBUFFER_KHR" comment="Draft KHR_image_use_gl1_renderbuffer"/> -+ <enum value="0x31F1" name="EGL_IMAGE_USE_AS_OPENGL_ES1_TEXTURE_2D_KHR" comment="Draft KHR_image_use_gl1_texture_2d"/> -+ <enum value="0x31F2" name="EGL_IMAGE_USE_AS_OPENGL_ES1_TEXTURE_EXTERNAL_KHR" comment="Draft KHR_image_use_gl1_texture_external"/> -+ <enum value="0x31F3" name="EGL_IMAGE_USE_AS_OPENGL_ES2_RENDERBUFFER_KHR" comment="Draft KHR_image_use_gl2_renderbuffer"/> -+ <enum value="0x31F4" name="EGL_IMAGE_USE_AS_OPENGL_ES2_TEXTURE_2D_KHR" comment="Draft KHR_image_use_gl2_texture_2d"/> -+ <enum value="0x31F5" name="EGL_IMAGE_USE_AS_OPENGL_ES2_TEXTURE_EXTERNAL_KHR" comment="Draft KHR_image_use_gl2_texture_external"/> -+ <enum value="0x31F6" name="EGL_IMAGE_USE_AS_OPENVG_IMAGE_KHR" comment="Draft KHR_image_use_vg_vgimage"/> -+ <enum value="0x31F7" name="EGL_STREAM_CONSUMER_ATTACHMENT_MESA" comment="Draft EGL_MESA_image_stream_internal"/> -+ <enum value="0x31F8" name="EGL_NO_FORMAT_MESA" comment="Draft EGL_MESA_image_stream_internal"/> -+ <enum value="0x31F9" name="EGL_FORMAT_RGBA8888_MESA" comment="Draft EGL_MESA_image_stream_internal"/> -+ <enum value="0x31FA" name="EGL_FORMAT_RGB888_MESA" comment="Draft EGL_MESA_image_stream_internal"/> -+ <enum value="0x31FB" name="EGL_FORMAT_RGB565_MESA" comment="Draft EGL_MESA_image_stream_internal"/> -+ --> -+ <enum value="0x31FC" name="EGL_STREAM_FIFO_LENGTH_KHR"/> -+ <enum value="0x31FD" name="EGL_STREAM_TIME_NOW_KHR"/> -+ <enum value="0x31FE" name="EGL_STREAM_TIME_CONSUMER_KHR"/> -+ <enum value="0x31FF" name="EGL_STREAM_TIME_PRODUCER_KHR"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3200" end="0x320F" vendor="ANGLE" comment="Reserved for Daniel Koch, ANGLE Project (Khronos bug 7139)"> -+ <enum value="0x3200" name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/> -+ <enum value="0x3201" name="EGL_FIXED_SIZE_ANGLE"/> -+ <unused start="0x3202" end="0x320F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3210" end="0x321F" vendor="KHR"> -+ <enum value="0x3210" name="EGL_CONSUMER_LATENCY_USEC_KHR"/> -+ <unused start="0x3211"/> -+ <enum value="0x3212" name="EGL_PRODUCER_FRAME_KHR"/> -+ <enum value="0x3213" name="EGL_CONSUMER_FRAME_KHR"/> -+ <enum value="0x3214" name="EGL_STREAM_STATE_KHR"/> -+ <enum value="0x3215" name="EGL_STREAM_STATE_CREATED_KHR"/> -+ <enum value="0x3216" name="EGL_STREAM_STATE_CONNECTING_KHR"/> -+ <enum value="0x3217" name="EGL_STREAM_STATE_EMPTY_KHR"/> -+ <enum value="0x3218" name="EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR"/> -+ <enum value="0x3219" name="EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR"/> -+ <enum value="0x321A" name="EGL_STREAM_STATE_DISCONNECTED_KHR"/> -+ <enum value="0x321B" name="EGL_BAD_STREAM_KHR"/> -+ <enum value="0x321C" name="EGL_BAD_STATE_KHR"/> -+ <enum value="0x321D" name="EGL_BUFFER_COUNT_NV" comment="From EGL_NV_stream_producer_eglsurface, which has no known specification and was replaced by a KHR extension"/> -+ <enum value="0x321E" name="EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR"/> -+ <enum value="0x321F" name="EGL_SYNC_NEW_FRAME_NV"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3220" end="0x325F" vendor="NV" comment="Reserved for Greg Roth (Bug 8220)"> -+ <unused start="0x3220" end="0x322A"/> -+ <enum value="0x322B" name="EGL_BAD_DEVICE_EXT"/> -+ <enum value="0x322C" name="EGL_DEVICE_EXT"/> -+ <enum value="0x322D" name="EGL_BAD_OUTPUT_LAYER_EXT"/> -+ <enum value="0x322E" name="EGL_BAD_OUTPUT_PORT_EXT"/> -+ <enum value="0x322F" name="EGL_SWAP_INTERVAL_EXT"/> -+ <unused start="0x3230" end="0x3232"/> -+ <enum value="0x3233" name="EGL_DRM_DEVICE_FILE_EXT"/> -+ <enum value="0x3234" name="EGL_DRM_CRTC_EXT"/> -+ <enum value="0x3235" name="EGL_DRM_PLANE_EXT"/> -+ <enum value="0x3236" name="EGL_DRM_CONNECTOR_EXT"/> -+ <enum value="0x3237" name="EGL_OPENWF_DEVICE_ID_EXT"/> -+ <enum value="0x3238" name="EGL_OPENWF_PIPELINE_ID_EXT"/> -+ <enum value="0x3239" name="EGL_OPENWF_PORT_ID_EXT"/> -+ <enum value="0x323A" name="EGL_CUDA_DEVICE_NV"/> -+ <enum value="0x323B" name="EGL_CUDA_EVENT_HANDLE_NV"/> -+ <enum value="0x323C" name="EGL_SYNC_CUDA_EVENT_NV"/> -+ <enum value="0x323D" name="EGL_SYNC_CUDA_EVENT_COMPLETE_NV"/> -+ <unused start="0x323E" end="0x325F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3260" end="0x326F" vendor="BCOM" comment="Reserved for Gary Sweet, Broadcom (Public bug 620)"> -+ <unused start="0x3260" end="0x326F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3270" end="0x328F" vendor="ARM" comment="Reserved for Tom Cooksey (Bug 9963)"> -+ <enum value="0x3270" name="EGL_LINUX_DMA_BUF_EXT"/> -+ <enum value="0x3271" name="EGL_LINUX_DRM_FOURCC_EXT"/> -+ <enum value="0x3272" name="EGL_DMA_BUF_PLANE0_FD_EXT"/> -+ <enum value="0x3273" name="EGL_DMA_BUF_PLANE0_OFFSET_EXT"/> -+ <enum value="0x3274" name="EGL_DMA_BUF_PLANE0_PITCH_EXT"/> -+ <enum value="0x3275" name="EGL_DMA_BUF_PLANE1_FD_EXT"/> -+ <enum value="0x3276" name="EGL_DMA_BUF_PLANE1_OFFSET_EXT"/> -+ <enum value="0x3277" name="EGL_DMA_BUF_PLANE1_PITCH_EXT"/> -+ <enum value="0x3278" name="EGL_DMA_BUF_PLANE2_FD_EXT"/> -+ <enum value="0x3279" name="EGL_DMA_BUF_PLANE2_OFFSET_EXT"/> -+ <enum value="0x327A" name="EGL_DMA_BUF_PLANE2_PITCH_EXT"/> -+ <enum value="0x327B" name="EGL_YUV_COLOR_SPACE_HINT_EXT"/> -+ <enum value="0x327C" name="EGL_SAMPLE_RANGE_HINT_EXT"/> -+ <enum value="0x327D" name="EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT"/> -+ <enum value="0x327E" name="EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT"/> -+ <enum value="0x327F" name="EGL_ITU_REC601_EXT"/> -+ <enum value="0x3280" name="EGL_ITU_REC709_EXT"/> -+ <enum value="0x3281" name="EGL_ITU_REC2020_EXT"/> -+ <enum value="0x3282" name="EGL_YUV_FULL_RANGE_EXT"/> -+ <enum value="0x3283" name="EGL_YUV_NARROW_RANGE_EXT"/> -+ <enum value="0x3284" name="EGL_YUV_CHROMA_SITING_0_EXT"/> -+ <enum value="0x3285" name="EGL_YUV_CHROMA_SITING_0_5_EXT"/> -+ <enum value="0x3286" name="EGL_DISCARD_SAMPLES_ARM"/> -+ <unused start="0x3287" end="0x328F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3290" end="0x329F" vendor="MESA" comment="Reserved for John Kåre Alsaker (Public bug 757)"> -+ <unused start="0x3290" end="0x329F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x32A0" end="0x32AF" vendor="Samsung" comment="Reserved for Dongyeon Kim (Public bug 880)"> -+ <enum value="0x32A0" name="EGL_NATIVE_BUFFER_TIZEN"/> -+ <enum value="0x32A1" name="EGL_NATIVE_SURFACE_TIZEN"/> -+ <unused start="0x32A2" end="0x32AF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x32B0" end="0x32BF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 10663) - EGL_QCOM_lock_image spec TBD"> -+ <unused start="0x32B0" end="0x32BF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x32C0" end="0x32CF" vendor="Vivante" comment="Reserved for Yanjun Zhang (Bug 11498)"> -+ <enum value="0x32C0" name="EGL_PROTECTED_CONTENT_EXT"/> -+ <unused start="0x32C1" end="0x32CF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x32D0" end="0x32EF" vendor="QCOM" comment="Reserved for Jeff Vigil (Bug 11735) - EGL_QCOM_gpu_perf spec TBD + Bug 12286 - EGL_QCOM_content_protection spec TBD"> -+ <unused start="0x32D0" end="0x32EF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x32F0" end="0x32FF" vendor="BCOM" comment="Reserved for Gary Sweet, Broadcom (Bug 12870)"> -+ <unused start="0x32F0" end="0x32FF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3300" end="0x331F" vendor="QCOM" comment="Reserved for Jeff Vigil (Bugs 12973,12849) - EGL_EXT_yuv_surface spec TBD"> -+ <enum value="0x3300" name="EGL_YUV_BUFFER_EXT"/> -+ <enum value="0x3301" name="EGL_YUV_ORDER_EXT"/> -+ <enum value="0x3302" name="EGL_YUV_ORDER_YUV_EXT"/> -+ <enum value="0x3303" name="EGL_YUV_ORDER_YVU_EXT"/> -+ <enum value="0x3304" name="EGL_YUV_ORDER_YUYV_EXT"/> -+ <enum value="0x3305" name="EGL_YUV_ORDER_UYVY_EXT"/> -+ <enum value="0x3306" name="EGL_YUV_ORDER_YVYU_EXT"/> -+ <enum value="0x3307" name="EGL_YUV_ORDER_VYUY_EXT"/> -+ <enum value="0x3308" name="EGL_YUV_ORDER_AYUV_EXT"/> -+ <unused start="0x3309"/> -+ <enum value="0x330A" name="EGL_YUV_CSC_STANDARD_EXT"/> -+ <enum value="0x330B" name="EGL_YUV_CSC_STANDARD_601_EXT"/> -+ <enum value="0x330C" name="EGL_YUV_CSC_STANDARD_709_EXT"/> -+ <enum value="0x330D" name="EGL_YUV_CSC_STANDARD_2020_EXT"/> -+ <unused start="0x330E" end="0x3310"/> -+ <enum value="0x3311" name="EGL_YUV_NUMBER_OF_PLANES_EXT"/> -+ <enum value="0x3312" name="EGL_YUV_SUBSAMPLE_EXT"/> -+ <enum value="0x3313" name="EGL_YUV_SUBSAMPLE_4_2_0_EXT"/> -+ <enum value="0x3314" name="EGL_YUV_SUBSAMPLE_4_2_2_EXT"/> -+ <enum value="0x3315" name="EGL_YUV_SUBSAMPLE_4_4_4_EXT"/> -+ <unused start="0x3316"/> -+ <enum value="0x3317" name="EGL_YUV_DEPTH_RANGE_EXT"/> -+ <enum value="0x3318" name="EGL_YUV_DEPTH_RANGE_LIMITED_EXT"/> -+ <enum value="0x3319" name="EGL_YUV_DEPTH_RANGE_FULL_EXT"/> -+ <enum value="0x331A" name="EGL_YUV_PLANE_BPP_EXT"/> -+ <enum value="0x331B" name="EGL_YUV_PLANE_BPP_0_EXT"/> -+ <enum value="0x331C" name="EGL_YUV_PLANE_BPP_8_EXT"/> -+ <enum value="0x331D" name="EGL_YUV_PLANE_BPP_10_EXT"/> -+ <unused start="0x331E" end="0x331F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x3320" end="0x339F" vendor="NV" comment="Reserved for James Jones (Bug 13209)"> -+ <unused start="0x3320" end="0x339F"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x33A0" end="0x33AF" vendor="ANGLE" comment="Reserved for Shannon Woods (Bug 13175)"> -+ <enum value="0x33A0" name="EGL_D3D9_DEVICE_ANGLE"/> -+ <enum value="0x33A1" name="EGL_D3D11_DEVICE_ANGLE"/> -+ <unused start="0x33A2" end="0x33AF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x33B0" end="0x33BF" vendor="KHR" comment="Reserved for EGL_KHR_debug / Jeff Vigil (Bug 13357)"> -+ <enum value="0x33B0" name="EGL_OBJECT_THREAD_KHR"/> -+ <enum value="0x33B1" name="EGL_OBJECT_DISPLAY_KHR"/> -+ <enum value="0x33B2" name="EGL_OBJECT_CONTEXT_KHR"/> -+ <enum value="0x33B3" name="EGL_OBJECT_SURFACE_KHR"/> -+ <enum value="0x33B4" name="EGL_OBJECT_IMAGE_KHR"/> -+ <enum value="0x33B5" name="EGL_OBJECT_SYNC_KHR"/> -+ <enum value="0x33B6" name="EGL_OBJECT_STREAM_KHR"/> -+ <unused start="0x33B7"/> -+ <enum value="0x33B8" name="EGL_DEBUG_CALLBACK_KHR"/> -+ <enum value="0x33B9" name="EGL_DEBUG_MSG_CRITICAL_KHR"/> -+ <enum value="0x33BA" name="EGL_DEBUG_MSG_ERROR_KHR"/> -+ <enum value="0x33BB" name="EGL_DEBUG_MSG_WARN_KHR"/> -+ <enum value="0x33BC" name="EGL_DEBUG_MSG_INFO_KHR"/> -+ <unused start="0x33BD" end="0x33BF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x33C0" end="0x33DF" vendor="BCOM" comment="Reserved for Gary Sweet (Bug 12203)"> -+ <unused start="0x33C0" end="0x33DF"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x33E0" end="0x342F" vendor="QCOM" comment="Reserved for Jeff Vigil (Bugs 10663,13364)"> -+ <unused start="0x33E0" end="0x342F"/> -+ </enums> -+ -+<!-- Please remember that new enumerant allocations must be obtained by -+ request to the Khronos API registrar (see comments at the top of this -+ file) File requests in the Khronos Bugzilla, EGL project, Registry -+ component. Also note that some EGL enum values are shared with other -+ Khronos APIs, and new ranges should be allocated with such overlaps in -+ mind. --> -+ -+<!-- Reservable for future use. To generate a new range, allocate multiples -+ of 16 starting at the lowest available point in this block. --> -+ <enums namespace="EGL" start="0x3420" end="0x3FFF" vendor="KHR"> -+ <unused start="0x3420" end="0x3FFF" comment="Reserved for future use"/> -+ </enums> -+ -+ <enums namespace="EGL" start="0x8F70" end="0x8F7F" vendor="HI" comment="For Mark Callow, Khronos bug 4055. Shared with GL."> -+ <enum value="0x8F70" name="EGL_COLOR_FORMAT_HI"/> -+ <enum value="0x8F71" name="EGL_COLOR_RGB_HI"/> -+ <enum value="0x8F72" name="EGL_COLOR_RGBA_HI"/> -+ <enum value="0x8F73" name="EGL_COLOR_ARGB_HI"/> -+ <enum value="0x8F74" name="EGL_CLIENT_PIXMAP_POINTER_HI"/> -+ </enums> -+ -+ <!-- SECTION: EGL command definitions. --> -+ <commands namespace="EGL"> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglBindAPI</name></proto> -+ <param><ptype>EGLenum</ptype> <name>api</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglBindTexImage</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>buffer</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglChooseConfig</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ <param><ptype>EGLConfig</ptype> *<name>configs</name></param> -+ <param><ptype>EGLint</ptype> <name>config_size</name></param> -+ <param><ptype>EGLint</ptype> *<name>num_config</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglClientWaitSync</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSync</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>flags</name></param> -+ <param><ptype>EGLTime</ptype> <name>timeout</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglClientWaitSyncKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>flags</name></param> -+ <param><ptype>EGLTimeKHR</ptype> <name>timeout</name></param> -+ <alias name="eglClientWaitSync"/> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglClientWaitSyncNV</name></proto> -+ <param><ptype>EGLSyncNV</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>flags</name></param> -+ <param><ptype>EGLTimeNV</ptype> <name>timeout</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglCopyBuffers</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLNativePixmapType</ptype> <name>target</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLContext</ptype> <name>eglCreateContext</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param><ptype>EGLContext</ptype> <name>share_context</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLImageKHR</ptype> <name>eglCreateDRMImageMESA</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSyncNV</ptype> <name>eglCreateFenceSyncNV</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLenum</ptype> <name>condition</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLImage</ptype> <name>eglCreateImage</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLContext</ptype> <name>ctx</name></param> -+ <param><ptype>EGLenum</ptype> <name>target</name></param> -+ <param><ptype>EGLClientBuffer</ptype> <name>buffer</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLImageKHR</ptype> <name>eglCreateImageKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLContext</ptype> <name>ctx</name></param> -+ <param><ptype>EGLenum</ptype> <name>target</name></param> -+ <param><ptype>EGLClientBuffer</ptype> <name>buffer</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePbufferFromClientBuffer</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLenum</ptype> <name>buftype</name></param> -+ <param><ptype>EGLClientBuffer</ptype> <name>buffer</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePbufferSurface</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePixmapSurface</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param><ptype>EGLNativePixmapType</ptype> <name>pixmap</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePixmapSurfaceHI</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param>struct <ptype>EGLClientPixmapHI</ptype> *<name>pixmap</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformPixmapSurface</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param>void *<name>native_pixmap</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformPixmapSurfaceEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param>void *<name>native_pixmap</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformWindowSurface</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param>void *<name>native_window</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreatePlatformWindowSurfaceEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param>void *<name>native_window</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLStreamKHR</ptype> <name>eglCreateStreamFromFileDescriptorKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLNativeFileDescriptorKHR</ptype> <name>file_descriptor</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLStreamKHR</ptype> <name>eglCreateStreamKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreateStreamProducerSurfaceKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSyncKHR</ptype> <name>eglCreateStreamSyncNV</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ <param><ptype>EGLenum</ptype> <name>type</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSync</ptype> <name>eglCreateSync</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLenum</ptype> <name>type</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSyncKHR</ptype> <name>eglCreateSyncKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLenum</ptype> <name>type</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLSyncKHR</ptype> <name>eglCreateSync64KHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLenum</ptype> <name>type</name></param> -+ <param>const <ptype>EGLAttribKHR</ptype> *<name>attrib_list</name></param> -+ <alias name="eglCreateSync"/> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglCreateWindowSurface</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param><ptype>EGLNativeWindowType</ptype> <name>win</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglDebugMessageControlKHR</name></proto> -+ <param><ptype>EGLDEBUGPROCKHR</ptype> <name>callback</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroyContext</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLContext</ptype> <name>ctx</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroyImage</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLImage</ptype> <name>image</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroyImageKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLImageKHR</ptype> <name>image</name></param> -+ <alias name="eglDestroyImage"/> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroyStreamKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroySurface</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroySync</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSync</ptype> <name>sync</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroySyncKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param> -+ <alias name="eglDestroySync"/> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglDestroySyncNV</name></proto> -+ <param><ptype>EGLSyncNV</ptype> <name>sync</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglDupNativeFenceFDANDROID</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglExportDMABUFImageMESA</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLImageKHR</ptype> <name>image</name></param> -+ <param>int *<name>fds</name></param> -+ <param><ptype>EGLint</ptype> *<name>strides</name></param> -+ <param><ptype>EGLint</ptype> *<name>offsets</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglExportDMABUFImageQueryMESA</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLImageKHR</ptype> <name>image</name></param> -+ <param>int *<name>fourcc</name></param> -+ <param>int *<name>num_planes</name></param> -+ <param><ptype>EGLuint64KHR</ptype> *<name>modifiers</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglExportDRMImageMESA</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLImageKHR</ptype> <name>image</name></param> -+ <param><ptype>EGLint</ptype> *<name>name</name></param> -+ <param><ptype>EGLint</ptype> *<name>handle</name></param> -+ <param><ptype>EGLint</ptype> *<name>stride</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglFenceNV</name></proto> -+ <param><ptype>EGLSyncNV</ptype> <name>sync</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglGetConfigAttrib</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> <name>config</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglGetConfigs</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLConfig</ptype> *<name>configs</name></param> -+ <param><ptype>EGLint</ptype> <name>config_size</name></param> -+ <param><ptype>EGLint</ptype> *<name>num_config</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLContext</ptype> <name>eglGetCurrentContext</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLDisplay</ptype> <name>eglGetCurrentDisplay</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLSurface</ptype> <name>eglGetCurrentSurface</name></proto> -+ <param><ptype>EGLint</ptype> <name>readdraw</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLDisplay</ptype> <name>eglGetDisplay</name></proto> -+ <param><ptype>EGLNativeDisplayType</ptype> <name>display_id</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglGetError</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglGetOutputLayersEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ <param><ptype>EGLOutputLayerEXT</ptype> *<name>layers</name></param> -+ <param><ptype>EGLint</ptype> <name>max_layers</name></param> -+ <param><ptype>EGLint</ptype> *<name>num_layers</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglGetOutputPortsEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ <param><ptype>EGLOutputPortEXT</ptype> *<name>ports</name></param> -+ <param><ptype>EGLint</ptype> <name>max_ports</name></param> -+ <param><ptype>EGLint</ptype> *<name>num_ports</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLDisplay</ptype> <name>eglGetPlatformDisplay</name></proto> -+ <param><ptype>EGLenum</ptype> <name>platform</name></param> -+ <param>void *<name>native_display</name></param> -+ <param>const <ptype>EGLAttrib</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLDisplay</ptype> <name>eglGetPlatformDisplayEXT</name></proto> -+ <param><ptype>EGLenum</ptype> <name>platform</name></param> -+ <param>void *<name>native_display</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>__eglMustCastToProperFunctionPointerType</ptype> <name>eglGetProcAddress</name></proto> -+ <param>const char *<name>procname</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLNativeFileDescriptorKHR</ptype> <name>eglGetStreamFileDescriptorKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncAttrib</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSync</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncAttribKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglGetSyncAttribNV</name></proto> -+ <param><ptype>EGLSyncNV</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLuint64NV</ptype> <name>eglGetSystemTimeFrequencyNV</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLuint64NV</ptype> <name>eglGetSystemTimeNV</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglInitialize</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLint</ptype> *<name>major</name></param> -+ <param><ptype>EGLint</ptype> *<name>minor</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglLabelObjectKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>display</name></param> -+ <param><ptype>EGLenum</ptype> <name>objectType</name></param> -+ <param><ptype>EGLObjectKHR</ptype> <name>object</name></param> -+ <param><ptype>EGLLabelKHR</ptype> <name>label</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglLockSurfaceKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>attrib_list</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglMakeCurrent</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>draw</name></param> -+ <param><ptype>EGLSurface</ptype> <name>read</name></param> -+ <param><ptype>EGLContext</ptype> <name>ctx</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglOutputLayerAttribEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> <name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglOutputPortAttribEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLOutputPortEXT</ptype> <name>port</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> <name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglPostSubBufferNV</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>x</name></param> -+ <param><ptype>EGLint</ptype> <name>y</name></param> -+ <param><ptype>EGLint</ptype> <name>width</name></param> -+ <param><ptype>EGLint</ptype> <name>height</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLenum</ptype> <name>eglQueryAPI</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryContext</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLContext</ptype> <name>ctx</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryDebugKHR</name></proto> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryDeviceAttribEXT</name></proto> -+ <param><ptype>EGLDeviceEXT</ptype> <name>device</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto>const char *<name>eglQueryDeviceStringEXT</name></proto> -+ <param><ptype>EGLDeviceEXT</ptype> <name>device</name></param> -+ <param><ptype>EGLint</ptype> <name>name</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryDevicesEXT</name></proto> -+ <param><ptype>EGLint</ptype> <name>max_devices</name></param> -+ <param><ptype>EGLDeviceEXT</ptype> *<name>devices</name></param> -+ <param><ptype>EGLint</ptype> *<name>num_devices</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryDisplayAttribEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryNativeDisplayNV</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLNativeDisplayType</ptype> *<name>display_id</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryNativePixmapNV</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surf</name></param> -+ <param><ptype>EGLNativePixmapType</ptype> *<name>pixmap</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryNativeWindowNV</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surf</name></param> -+ <param><ptype>EGLNativeWindowType</ptype> *<name>window</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryOutputLayerAttribEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto>const char *<name>eglQueryOutputLayerStringEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param> -+ <param><ptype>EGLint</ptype> <name>name</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryOutputPortAttribEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLOutputPortEXT</ptype> <name>port</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttrib</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto>const char *<name>eglQueryOutputPortStringEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLOutputPortEXT</ptype> <name>port</name></param> -+ <param><ptype>EGLint</ptype> <name>name</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryStreamKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ <param><ptype>EGLenum</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryStreamTimeKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ <param><ptype>EGLenum</ptype> <name>attribute</name></param> -+ <param><ptype>EGLTimeKHR</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQueryStreamu64KHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ <param><ptype>EGLenum</ptype> <name>attribute</name></param> -+ <param><ptype>EGLuint64KHR</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto>const char *<name>eglQueryString</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLint</ptype> <name>name</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQuerySurface</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQuerySurface64KHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLAttribKHR</ptype> *<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglQuerySurfacePointerANGLE</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param>void **<name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglReleaseTexImage</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>buffer</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglReleaseThread</name></proto> -+ </command> -+ <command> -+ <proto>void <name>eglSetBlobCacheFuncsANDROID</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSetBlobFuncANDROID</ptype> <name>set</name></param> -+ <param><ptype>EGLGetBlobFuncANDROID</ptype> <name>get</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSetDamageRegionKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> *<name>rects</name></param> -+ <param><ptype>EGLint</ptype> <name>n_rects</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSignalSyncKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param> -+ <param><ptype>EGLenum</ptype> <name>mode</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSignalSyncNV</name></proto> -+ <param><ptype>EGLSyncNV</ptype> <name>sync</name></param> -+ <param><ptype>EGLenum</ptype> <name>mode</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglStreamAttribKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ <param><ptype>EGLenum</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> <name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerAcquireKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerGLTextureExternalKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerOutputEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ <param><ptype>EGLOutputLayerEXT</ptype> <name>layer</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglStreamConsumerReleaseKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLStreamKHR</ptype> <name>stream</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSurfaceAttrib</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint</ptype> <name>value</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffers</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithDamageEXT</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> *<name>rects</name></param> -+ <param><ptype>EGLint</ptype> <name>n_rects</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersWithDamageKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> *<name>rects</name></param> -+ <param><ptype>EGLint</ptype> <name>n_rects</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersRegionNOK</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>numRects</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>rects</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSwapBuffersRegion2NOK</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLint</ptype> <name>numRects</name></param> -+ <param>const <ptype>EGLint</ptype> *<name>rects</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglSwapInterval</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLint</ptype> <name>interval</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglTerminate</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglUnlockSurfaceKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglWaitClient</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglWaitGL</name></proto> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglWaitNative</name></proto> -+ <param><ptype>EGLint</ptype> <name>engine</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLBoolean</ptype> <name>eglWaitSync</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSync</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>flags</name></param> -+ </command> -+ <command> -+ <proto><ptype>EGLint</ptype> <name>eglWaitSyncKHR</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLSyncKHR</ptype> <name>sync</name></param> -+ <param><ptype>EGLint</ptype> <name>flags</name></param> -+ </command> -+ </commands> -+ -+ <!-- SECTION: EGL API interface definitions. --> -+ <feature api="egl" name="EGL_VERSION_1_0" number="1.0"> -+ <require> -+ <enum name="EGL_ALPHA_SIZE"/> -+ <enum name="EGL_BAD_ACCESS"/> -+ <enum name="EGL_BAD_ALLOC"/> -+ <enum name="EGL_BAD_ATTRIBUTE"/> -+ <enum name="EGL_BAD_CONFIG"/> -+ <enum name="EGL_BAD_CONTEXT"/> -+ <enum name="EGL_BAD_CURRENT_SURFACE"/> -+ <enum name="EGL_BAD_DISPLAY"/> -+ <enum name="EGL_BAD_MATCH"/> -+ <enum name="EGL_BAD_NATIVE_PIXMAP"/> -+ <enum name="EGL_BAD_NATIVE_WINDOW"/> -+ <enum name="EGL_BAD_PARAMETER"/> -+ <enum name="EGL_BAD_SURFACE"/> -+ <enum name="EGL_BLUE_SIZE"/> -+ <enum name="EGL_BUFFER_SIZE"/> -+ <enum name="EGL_CONFIG_CAVEAT"/> -+ <enum name="EGL_CONFIG_ID"/> -+ <enum name="EGL_CORE_NATIVE_ENGINE"/> -+ <enum name="EGL_DEPTH_SIZE"/> -+ <enum name="EGL_DONT_CARE"/> -+ <enum name="EGL_DRAW"/> -+ <enum name="EGL_EXTENSIONS"/> -+ <enum name="EGL_FALSE"/> -+ <enum name="EGL_GREEN_SIZE"/> -+ <enum name="EGL_HEIGHT"/> -+ <enum name="EGL_LARGEST_PBUFFER"/> -+ <enum name="EGL_LEVEL"/> -+ <enum name="EGL_MAX_PBUFFER_HEIGHT"/> -+ <enum name="EGL_MAX_PBUFFER_PIXELS"/> -+ <enum name="EGL_MAX_PBUFFER_WIDTH"/> -+ <enum name="EGL_NATIVE_RENDERABLE"/> -+ <enum name="EGL_NATIVE_VISUAL_ID"/> -+ <enum name="EGL_NATIVE_VISUAL_TYPE"/> -+ <enum name="EGL_NONE"/> -+ <enum name="EGL_NON_CONFORMANT_CONFIG"/> -+ <enum name="EGL_NOT_INITIALIZED"/> -+ <enum name="EGL_NO_CONTEXT"/> -+ <enum name="EGL_NO_DISPLAY"/> -+ <enum name="EGL_NO_SURFACE"/> -+ <enum name="EGL_PBUFFER_BIT"/> -+ <enum name="EGL_PIXMAP_BIT"/> -+ <enum name="EGL_READ"/> -+ <enum name="EGL_RED_SIZE"/> -+ <enum name="EGL_SAMPLES"/> -+ <enum name="EGL_SAMPLE_BUFFERS"/> -+ <enum name="EGL_SLOW_CONFIG"/> -+ <enum name="EGL_STENCIL_SIZE"/> -+ <enum name="EGL_SUCCESS"/> -+ <enum name="EGL_SURFACE_TYPE"/> -+ <enum name="EGL_TRANSPARENT_BLUE_VALUE"/> -+ <enum name="EGL_TRANSPARENT_GREEN_VALUE"/> -+ <enum name="EGL_TRANSPARENT_RED_VALUE"/> -+ <enum name="EGL_TRANSPARENT_RGB"/> -+ <enum name="EGL_TRANSPARENT_TYPE"/> -+ <enum name="EGL_TRUE"/> -+ <enum name="EGL_VENDOR"/> -+ <enum name="EGL_VERSION"/> -+ <enum name="EGL_WIDTH"/> -+ <enum name="EGL_WINDOW_BIT"/> -+ <command name="eglChooseConfig"/> -+ <command name="eglCopyBuffers"/> -+ <command name="eglCreateContext"/> -+ <command name="eglCreatePbufferSurface"/> -+ <command name="eglCreatePixmapSurface"/> -+ <command name="eglCreateWindowSurface"/> -+ <command name="eglDestroyContext"/> -+ <command name="eglDestroySurface"/> -+ <command name="eglGetConfigAttrib"/> -+ <command name="eglGetConfigs"/> -+ <command name="eglGetCurrentDisplay"/> -+ <command name="eglGetCurrentSurface"/> -+ <command name="eglGetDisplay"/> -+ <command name="eglGetError"/> -+ <command name="eglGetProcAddress"/> -+ <command name="eglInitialize"/> -+ <command name="eglMakeCurrent"/> -+ <command name="eglQueryContext"/> -+ <command name="eglQueryString"/> -+ <command name="eglQuerySurface"/> -+ <command name="eglSwapBuffers"/> -+ <command name="eglTerminate"/> -+ <command name="eglWaitGL"/> -+ <command name="eglWaitNative"/> -+ </require> -+ </feature> -+ <feature api="egl" name="EGL_VERSION_1_1" number="1.1"> -+ <require> -+ <enum name="EGL_BACK_BUFFER"/> -+ <enum name="EGL_BIND_TO_TEXTURE_RGB"/> -+ <enum name="EGL_BIND_TO_TEXTURE_RGBA"/> -+ <enum name="EGL_CONTEXT_LOST"/> -+ <enum name="EGL_MIN_SWAP_INTERVAL"/> -+ <enum name="EGL_MAX_SWAP_INTERVAL"/> -+ <enum name="EGL_MIPMAP_TEXTURE"/> -+ <enum name="EGL_MIPMAP_LEVEL"/> -+ <enum name="EGL_NO_TEXTURE"/> -+ <enum name="EGL_TEXTURE_2D"/> -+ <enum name="EGL_TEXTURE_FORMAT"/> -+ <enum name="EGL_TEXTURE_RGB"/> -+ <enum name="EGL_TEXTURE_RGBA"/> -+ <enum name="EGL_TEXTURE_TARGET"/> -+ <command name="eglBindTexImage"/> -+ <command name="eglReleaseTexImage"/> -+ <command name="eglSurfaceAttrib"/> -+ <command name="eglSwapInterval"/> -+ </require> -+ </feature> -+ <feature api="egl" name="EGL_VERSION_1_2" number="1.2"> -+ <require> -+ <enum name="EGL_ALPHA_FORMAT"/> -+ <enum name="EGL_ALPHA_FORMAT_NONPRE"/> -+ <enum name="EGL_ALPHA_FORMAT_PRE"/> -+ <enum name="EGL_ALPHA_MASK_SIZE"/> -+ <enum name="EGL_BUFFER_PRESERVED"/> -+ <enum name="EGL_BUFFER_DESTROYED"/> -+ <enum name="EGL_CLIENT_APIS"/> -+ <enum name="EGL_COLORSPACE"/> -+ <enum name="EGL_COLORSPACE_sRGB"/> -+ <enum name="EGL_COLORSPACE_LINEAR"/> -+ <enum name="EGL_COLOR_BUFFER_TYPE"/> -+ <enum name="EGL_CONTEXT_CLIENT_TYPE"/> -+ <enum name="EGL_DISPLAY_SCALING"/> -+ <enum name="EGL_HORIZONTAL_RESOLUTION"/> -+ <enum name="EGL_LUMINANCE_BUFFER"/> -+ <enum name="EGL_LUMINANCE_SIZE"/> -+ <enum name="EGL_OPENGL_ES_BIT"/> -+ <enum name="EGL_OPENVG_BIT"/> -+ <enum name="EGL_OPENGL_ES_API"/> -+ <enum name="EGL_OPENVG_API"/> -+ <enum name="EGL_OPENVG_IMAGE"/> -+ <enum name="EGL_PIXEL_ASPECT_RATIO"/> -+ <enum name="EGL_RENDERABLE_TYPE"/> -+ <enum name="EGL_RENDER_BUFFER"/> -+ <enum name="EGL_RGB_BUFFER"/> -+ <enum name="EGL_SINGLE_BUFFER"/> -+ <enum name="EGL_SWAP_BEHAVIOR"/> -+ <enum name="EGL_UNKNOWN"/> -+ <enum name="EGL_VERTICAL_RESOLUTION"/> -+ <command name="eglBindAPI"/> -+ <command name="eglQueryAPI"/> -+ <command name="eglCreatePbufferFromClientBuffer"/> -+ <command name="eglReleaseThread"/> -+ <command name="eglWaitClient"/> -+ </require> -+ </feature> -+ <feature api="egl" name="EGL_VERSION_1_3" number="1.3"> -+ <require> -+ <enum name="EGL_CONFORMANT"/> -+ <enum name="EGL_CONTEXT_CLIENT_VERSION"/> -+ <enum name="EGL_MATCH_NATIVE_PIXMAP"/> -+ <enum name="EGL_OPENGL_ES2_BIT"/> -+ <enum name="EGL_VG_ALPHA_FORMAT"/> -+ <enum name="EGL_VG_ALPHA_FORMAT_NONPRE"/> -+ <enum name="EGL_VG_ALPHA_FORMAT_PRE"/> -+ <enum name="EGL_VG_ALPHA_FORMAT_PRE_BIT"/> -+ <enum name="EGL_VG_COLORSPACE"/> -+ <enum name="EGL_VG_COLORSPACE_sRGB"/> -+ <enum name="EGL_VG_COLORSPACE_LINEAR"/> -+ <enum name="EGL_VG_COLORSPACE_LINEAR_BIT"/> -+ </require> -+ </feature> -+ <feature api="egl" name="EGL_VERSION_1_4" number="1.4"> -+ <require> -+ <enum name="EGL_DEFAULT_DISPLAY"/> -+ <enum name="EGL_MULTISAMPLE_RESOLVE_BOX_BIT"/> -+ <enum name="EGL_MULTISAMPLE_RESOLVE"/> -+ <enum name="EGL_MULTISAMPLE_RESOLVE_DEFAULT"/> -+ <enum name="EGL_MULTISAMPLE_RESOLVE_BOX"/> -+ <enum name="EGL_OPENGL_API"/> -+ <enum name="EGL_OPENGL_BIT"/> -+ <enum name="EGL_SWAP_BEHAVIOR_PRESERVED_BIT"/> -+ <command name="eglGetCurrentContext"/> -+ </require> -+ </feature> -+ <feature api="egl" name="EGL_VERSION_1_5" number="1.5"> -+ <require comment="EGL_KHR_create_context features"> -+ <enum name="EGL_CONTEXT_MAJOR_VERSION"/> -+ <enum name="EGL_CONTEXT_MINOR_VERSION"/> -+ <enum name="EGL_CONTEXT_OPENGL_PROFILE_MASK"/> -+ <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/> -+ <enum name="EGL_NO_RESET_NOTIFICATION"/> -+ <enum name="EGL_LOSE_CONTEXT_ON_RESET"/> -+ <enum name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT"/> -+ <enum name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT"/> -+ <enum name="EGL_CONTEXT_OPENGL_DEBUG"/> -+ <enum name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE"/> -+ <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/> -+ <enum name="EGL_OPENGL_ES3_BIT"/> -+ </require> -+ <require comment="EGL_EXT_create_context_robustness"> -+ <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS"/> -+ <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY"/> -+ </require> -+ <require comment="EGL_EXT_client_extensions"/> -+ <require comment="EGL_KHR_cl_event2"> -+ <enum name="EGL_CL_EVENT_HANDLE"/> -+ <enum name="EGL_SYNC_CL_EVENT"/> -+ <enum name="EGL_SYNC_CL_EVENT_COMPLETE"/> -+ </require> -+ <require comment="EGL_KHR_fence_sync"> -+ <enum name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE"/> -+ <enum name="EGL_SYNC_TYPE"/> -+ <enum name="EGL_SYNC_STATUS"/> -+ <enum name="EGL_SYNC_CONDITION"/> -+ <enum name="EGL_SIGNALED"/> -+ <enum name="EGL_UNSIGNALED"/> -+ <enum name="EGL_SYNC_FLUSH_COMMANDS_BIT"/> -+ <enum name="EGL_FOREVER"/> -+ <enum name="EGL_TIMEOUT_EXPIRED"/> -+ <enum name="EGL_CONDITION_SATISFIED"/> -+ <enum name="EGL_NO_SYNC"/> -+ <enum name="EGL_SYNC_FENCE"/> -+ <command name="eglCreateSync"/> -+ <command name="eglDestroySync"/> -+ <command name="eglClientWaitSync"/> -+ <command name="eglGetSyncAttrib"/> -+ </require> -+ <require comment="EGL_KHR_get_all_proc_addresses"/> -+ <require comment="EGL_KHR_client_get_all_proc_addresses"/> -+ <require comment="EGL_KHR_gl_colorspace"> -+ <enum name="EGL_GL_COLORSPACE"/> -+ <enum name="EGL_GL_COLORSPACE_SRGB"/> -+ <enum name="EGL_GL_COLORSPACE_LINEAR"/> -+ </require> -+ <require comment="EGL_KHR_gl_renderbuffer_image"> -+ <enum name="EGL_GL_RENDERBUFFER"/> -+ </require> -+ <require comment="EGL_KHR_gl_texture_2D_image"> -+ <enum name="EGL_GL_TEXTURE_2D"/> -+ <enum name="EGL_GL_TEXTURE_LEVEL"/> -+ </require> -+ <require comment="EGL_KHR_gl_texture_3D_image"> -+ <enum name="EGL_GL_TEXTURE_3D"/> -+ <enum name="EGL_GL_TEXTURE_ZOFFSET"/> -+ </require> -+ <require comment="EGL_KHR_gl_texture_cubemap_image"> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z"/> -+ </require> -+ <require comment="EGL_KHR_image_base"> -+ <enum name="EGL_IMAGE_PRESERVED"/> -+ <enum name="EGL_NO_IMAGE"/> -+ <command name="eglCreateImage"/> -+ <command name="eglDestroyImage"/> -+ </require> -+ <require comment="EGL_EXT_platform_base"> -+ <command name="eglGetPlatformDisplay"/> -+ <command name="eglCreatePlatformWindowSurface"/> -+ <command name="eglCreatePlatformPixmapSurface"/> -+ </require> -+ <require comment="EGL_KHR_surfaceless_context - just relaxes an error condition"/> -+ <require comment="EGL_KHR_wait_sync"> -+ <command name="eglWaitSync"/> -+ </require> -+ </feature> -+ -+ <!-- SECTION: EGL extension interface definitions --> -+ <extensions> -+ <extension name="EGL_ANDROID_blob_cache" supported="egl"> -+ <require> -+ <command name="eglSetBlobCacheFuncsANDROID"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANDROID_framebuffer_target" supported="egl"> -+ <require> -+ <enum name="EGL_FRAMEBUFFER_TARGET_ANDROID"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANDROID_image_native_buffer" supported="egl"> -+ <require> -+ <enum name="EGL_NATIVE_BUFFER_ANDROID"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANDROID_native_fence_sync" supported="egl"> -+ <require> -+ <enum name="EGL_SYNC_NATIVE_FENCE_ANDROID"/> -+ <enum name="EGL_SYNC_NATIVE_FENCE_FD_ANDROID"/> -+ <enum name="EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID"/> -+ <enum name="EGL_NO_NATIVE_FENCE_FD_ANDROID"/> -+ <command name="eglDupNativeFenceFDANDROID"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANDROID_recordable" supported="egl"> -+ <require> -+ <enum name="EGL_RECORDABLE_ANDROID"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANGLE_d3d_share_handle_client_buffer" supported="egl"> -+ <require> -+ <enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANGLE_device_d3d" supported="egl"> -+ <require> -+ <enum name="EGL_D3D9_DEVICE_ANGLE"/> -+ <enum name="EGL_D3D11_DEVICE_ANGLE"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANGLE_query_surface_pointer" supported="egl"> -+ <require> -+ <command name="eglQuerySurfacePointerANGLE"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANGLE_surface_d3d_texture_2d_share_handle" supported="egl"> -+ <require> -+ <enum name="EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE"/> -+ </require> -+ </extension> -+ <extension name="EGL_ANGLE_window_fixed_size" supported="egl"> -+ <require> -+ <enum name="EGL_FIXED_SIZE_ANGLE"/> -+ </require> -+ </extension> -+ <extension name="EGL_ARM_pixmap_multisample_discard" supported="egl"> -+ <require> -+ <enum name="EGL_DISCARD_SAMPLES_ARM"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_buffer_age" supported="egl"> -+ <require> -+ <enum name="EGL_BUFFER_AGE_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_client_extensions" supported="egl"/> -+ <extension name="EGL_EXT_create_context_robustness" supported="egl"> -+ <require> -+ <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT"/> -+ <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT"/> -+ <enum name="EGL_NO_RESET_NOTIFICATION_EXT"/> -+ <enum name="EGL_LOSE_CONTEXT_ON_RESET_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_device_base" supported="egl"> -+ <require> -+ <enum name="EGL_NO_DEVICE_EXT"/> -+ <enum name="EGL_BAD_DEVICE_EXT"/> -+ <enum name="EGL_DEVICE_EXT"/> -+ <command name="eglQueryDeviceAttribEXT"/> -+ <command name="eglQueryDeviceStringEXT"/> -+ <command name="eglQueryDevicesEXT"/> -+ <command name="eglQueryDisplayAttribEXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_device_drm" supported="egl"> -+ <require> -+ <enum name="EGL_DRM_DEVICE_FILE_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_device_enumeration" supported="egl"> -+ <require> -+ <command name="eglQueryDevicesEXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_device_openwf" supported="egl"> -+ <require> -+ <enum name="EGL_OPENWF_DEVICE_ID_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_device_query" supported="egl"> -+ <require> -+ <enum name="EGL_NO_DEVICE_EXT"/> -+ <enum name="EGL_BAD_DEVICE_EXT"/> -+ <enum name="EGL_DEVICE_EXT"/> -+ <command name="eglQueryDeviceAttribEXT"/> -+ <command name="eglQueryDeviceStringEXT"/> -+ <command name="eglQueryDisplayAttribEXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_image_dma_buf_import" supported="egl"> -+ <require> -+ <enum name="EGL_LINUX_DMA_BUF_EXT"/> -+ <enum name="EGL_LINUX_DRM_FOURCC_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE0_FD_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE0_OFFSET_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE0_PITCH_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE1_FD_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE1_OFFSET_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE1_PITCH_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE2_FD_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE2_OFFSET_EXT"/> -+ <enum name="EGL_DMA_BUF_PLANE2_PITCH_EXT"/> -+ <enum name="EGL_YUV_COLOR_SPACE_HINT_EXT"/> -+ <enum name="EGL_SAMPLE_RANGE_HINT_EXT"/> -+ <enum name="EGL_YUV_CHROMA_HORIZONTAL_SITING_HINT_EXT"/> -+ <enum name="EGL_YUV_CHROMA_VERTICAL_SITING_HINT_EXT"/> -+ <enum name="EGL_ITU_REC601_EXT"/> -+ <enum name="EGL_ITU_REC709_EXT"/> -+ <enum name="EGL_ITU_REC2020_EXT"/> -+ <enum name="EGL_YUV_FULL_RANGE_EXT"/> -+ <enum name="EGL_YUV_NARROW_RANGE_EXT"/> -+ <enum name="EGL_YUV_CHROMA_SITING_0_EXT"/> -+ <enum name="EGL_YUV_CHROMA_SITING_0_5_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_multiview_window" supported="egl"> -+ <require> -+ <enum name="EGL_MULTIVIEW_VIEW_COUNT_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_output_base" supported="egl"> -+ <require> -+ <type name="EGLOutputLayerEXT"/> -+ <type name="EGLOutputPortEXT"/> -+ <enum name="EGL_NO_OUTPUT_LAYER_EXT"/> -+ <enum name="EGL_NO_OUTPUT_PORT_EXT"/> -+ <enum name="EGL_BAD_OUTPUT_LAYER_EXT"/> -+ <enum name="EGL_BAD_OUTPUT_PORT_EXT"/> -+ <enum name="EGL_SWAP_INTERVAL_EXT"/> -+ <command name="eglGetOutputLayersEXT"/> -+ <command name="eglGetOutputPortsEXT"/> -+ <command name="eglOutputLayerAttribEXT"/> -+ <command name="eglQueryOutputLayerAttribEXT"/> -+ <command name="eglQueryOutputLayerStringEXT"/> -+ <command name="eglOutputPortAttribEXT"/> -+ <command name="eglQueryOutputPortAttribEXT"/> -+ <command name="eglQueryOutputPortStringEXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_output_drm" supported="egl"> -+ <require> -+ <enum name="EGL_DRM_CRTC_EXT"/> -+ <enum name="EGL_DRM_PLANE_EXT"/> -+ <enum name="EGL_DRM_CONNECTOR_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_output_openwf" supported="egl"> -+ <require> -+ <enum name="EGL_OPENWF_PIPELINE_ID_EXT"/> -+ <enum name="EGL_OPENWF_PORT_ID_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_platform_base" supported="egl"> -+ <require> -+ <command name="eglGetPlatformDisplayEXT"/> -+ <command name="eglCreatePlatformWindowSurfaceEXT"/> -+ <command name="eglCreatePlatformPixmapSurfaceEXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_platform_device" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_DEVICE_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_platform_wayland" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_WAYLAND_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_platform_x11" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_X11_EXT"/> -+ <enum name="EGL_PLATFORM_X11_SCREEN_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_protected_surface" supported="egl"> -+ <require> -+ <enum name="EGL_PROTECTED_CONTENT_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_stream_consumer_egloutput" supported="egl"> -+ <require> -+ <command name="eglStreamConsumerOutputEXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_swap_buffers_with_damage" supported="egl"> -+ <require> -+ <command name="eglSwapBuffersWithDamageEXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_EXT_yuv_surface" supported="egl"> -+ <require> -+ <enum name="EGL_YUV_ORDER_EXT"/> -+ <enum name="EGL_YUV_NUMBER_OF_PLANES_EXT"/> -+ <enum name="EGL_YUV_SUBSAMPLE_EXT"/> -+ <enum name="EGL_YUV_DEPTH_RANGE_EXT"/> -+ <enum name="EGL_YUV_CSC_STANDARD_EXT"/> -+ <enum name="EGL_YUV_PLANE_BPP_EXT"/> -+ <enum name="EGL_YUV_BUFFER_EXT"/> -+ <enum name="EGL_YUV_ORDER_YUV_EXT"/> -+ <enum name="EGL_YUV_ORDER_YVU_EXT"/> -+ <enum name="EGL_YUV_ORDER_YUYV_EXT"/> -+ <enum name="EGL_YUV_ORDER_UYVY_EXT"/> -+ <enum name="EGL_YUV_ORDER_YVYU_EXT"/> -+ <enum name="EGL_YUV_ORDER_VYUY_EXT"/> -+ <enum name="EGL_YUV_ORDER_AYUV_EXT"/> -+ <enum name="EGL_YUV_SUBSAMPLE_4_2_0_EXT"/> -+ <enum name="EGL_YUV_SUBSAMPLE_4_2_2_EXT"/> -+ <enum name="EGL_YUV_SUBSAMPLE_4_4_4_EXT"/> -+ <enum name="EGL_YUV_DEPTH_RANGE_LIMITED_EXT"/> -+ <enum name="EGL_YUV_DEPTH_RANGE_FULL_EXT"/> -+ <enum name="EGL_YUV_CSC_STANDARD_601_EXT"/> -+ <enum name="EGL_YUV_CSC_STANDARD_709_EXT"/> -+ <enum name="EGL_YUV_CSC_STANDARD_2020_EXT"/> -+ <enum name="EGL_YUV_PLANE_BPP_0_EXT"/> -+ <enum name="EGL_YUV_PLANE_BPP_8_EXT"/> -+ <enum name="EGL_YUV_PLANE_BPP_10_EXT"/> -+ </require> -+ </extension> -+ <extension name="EGL_HI_clientpixmap" supported="egl"> -+ <require> -+ <enum name="EGL_CLIENT_PIXMAP_POINTER_HI"/> -+ <command name="eglCreatePixmapSurfaceHI"/> -+ </require> -+ </extension> -+ <extension name="EGL_HI_colorformats" supported="egl"> -+ <require> -+ <enum name="EGL_COLOR_FORMAT_HI"/> -+ <enum name="EGL_COLOR_RGB_HI"/> -+ <enum name="EGL_COLOR_RGBA_HI"/> -+ <enum name="EGL_COLOR_ARGB_HI"/> -+ </require> -+ </extension> -+ <extension name="EGL_IMG_context_priority" supported="egl"> -+ <require> -+ <enum name="EGL_CONTEXT_PRIORITY_LEVEL_IMG"/> -+ <enum name="EGL_CONTEXT_PRIORITY_HIGH_IMG"/> -+ <enum name="EGL_CONTEXT_PRIORITY_MEDIUM_IMG"/> -+ <enum name="EGL_CONTEXT_PRIORITY_LOW_IMG"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_cl_event" supported="egl"> -+ <require> -+ <enum name="EGL_CL_EVENT_HANDLE_KHR"/> -+ <enum name="EGL_SYNC_CL_EVENT_KHR"/> -+ <enum name="EGL_SYNC_CL_EVENT_COMPLETE_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_cl_event2" supported="egl"> -+ <require> -+ <enum name="EGL_CL_EVENT_HANDLE_KHR"/> -+ <enum name="EGL_SYNC_CL_EVENT_KHR"/> -+ <enum name="EGL_SYNC_CL_EVENT_COMPLETE_KHR"/> -+ <command name="eglCreateSync64KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_config_attribs" supported="egl"> -+ <require> -+ <enum name="EGL_CONFORMANT_KHR"/> -+ <enum name="EGL_VG_COLORSPACE_LINEAR_BIT_KHR"/> -+ <enum name="EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_client_get_all_proc_addresses" supported="egl" comment="Alias of EGL_KHR_get_all_proc_addresses"/> -+ <extension name="EGL_KHR_create_context" supported="egl"> -+ <require> -+ <enum name="EGL_CONTEXT_MAJOR_VERSION_KHR"/> -+ <enum name="EGL_CONTEXT_MINOR_VERSION_KHR"/> -+ <enum name="EGL_CONTEXT_FLAGS_KHR"/> -+ <enum name="EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR"/> -+ <enum name="EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR"/> -+ <enum name="EGL_NO_RESET_NOTIFICATION_KHR"/> -+ <enum name="EGL_LOSE_CONTEXT_ON_RESET_KHR"/> -+ <enum name="EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR"/> -+ <enum name="EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR"/> -+ <enum name="EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR"/> -+ <enum name="EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR"/> -+ <enum name="EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR"/> -+ <enum name="EGL_OPENGL_ES3_BIT"/> -+ <enum name="EGL_OPENGL_ES3_BIT_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_create_context_no_error" supported="egl"> -+ <require> -+ <enum name="EGL_CONTEXT_OPENGL_NO_ERROR_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_debug" supported="egl"> -+ <require> -+ <!-- Explicit dependencies require to get EGLDEBUGPROCKHR dependencies correct --> -+ <type name="EGLLabelKHR"/> -+ <type name="EGLObjectKHR"/> -+ <enum name="EGL_OBJECT_THREAD_KHR"/> -+ <enum name="EGL_OBJECT_DISPLAY_KHR"/> -+ <enum name="EGL_OBJECT_CONTEXT_KHR"/> -+ <enum name="EGL_OBJECT_SURFACE_KHR"/> -+ <enum name="EGL_OBJECT_IMAGE_KHR"/> -+ <enum name="EGL_OBJECT_SYNC_KHR"/> -+ <enum name="EGL_OBJECT_STREAM_KHR"/> -+ <enum name="EGL_DEBUG_MSG_CRITICAL_KHR"/> -+ <enum name="EGL_DEBUG_MSG_ERROR_KHR"/> -+ <enum name="EGL_DEBUG_MSG_WARN_KHR"/> -+ <enum name="EGL_DEBUG_MSG_INFO_KHR"/> -+ <enum name="EGL_DEBUG_CALLBACK_KHR"/> -+ <command name="eglDebugMessageControlKHR"/> -+ <command name="eglQueryDebugKHR"/> -+ <command name="eglLabelObjectKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_fence_sync" protect="KHRONOS_SUPPORT_INT64" supported="egl"> -+ <require> -+ <!-- Most interfaces also defined by EGL_KHR_reusable sync --> -+ <enum name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR"/> -+ <enum name="EGL_SYNC_CONDITION_KHR"/> -+ <enum name="EGL_SYNC_FENCE_KHR"/> -+ <command name="eglCreateSyncKHR"/> -+ <command name="eglDestroySyncKHR"/> -+ <command name="eglClientWaitSyncKHR"/> -+ <command name="eglGetSyncAttribKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_get_all_proc_addresses" supported="egl"/> -+ <extension name="EGL_KHR_gl_colorspace" supported="egl"> -+ <require> -+ <enum name="EGL_GL_COLORSPACE_KHR"/> -+ <enum name="EGL_GL_COLORSPACE_SRGB_KHR"/> -+ <enum name="EGL_GL_COLORSPACE_LINEAR_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_gl_renderbuffer_image" supported="egl"> -+ <require> -+ <enum name="EGL_GL_RENDERBUFFER_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_gl_texture_2D_image" supported="egl"> -+ <require> -+ <enum name="EGL_GL_TEXTURE_2D_KHR"/> -+ <enum name="EGL_GL_TEXTURE_LEVEL_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_gl_texture_3D_image" supported="egl"> -+ <require> -+ <enum name="EGL_GL_TEXTURE_3D_KHR"/> -+ <enum name="EGL_GL_TEXTURE_ZOFFSET_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_gl_texture_cubemap_image" supported="egl"> -+ <require> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR"/> -+ <enum name="EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_image" supported="egl"> -+ <require> -+ <enum name="EGL_NATIVE_PIXMAP_KHR"/> -+ <enum name="EGL_NO_IMAGE_KHR"/> -+ <command name="eglCreateImageKHR"/> -+ <command name="eglDestroyImageKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_image_base" supported="egl"> -+ <require> -+ <enum name="EGL_IMAGE_PRESERVED_KHR"/> -+ <enum name="EGL_NO_IMAGE_KHR"/> -+ <command name="eglCreateImageKHR"/> -+ <command name="eglDestroyImageKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_image_pixmap" supported="egl"> -+ <require> -+ <enum name="EGL_NATIVE_PIXMAP_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_lock_surface" supported="egl"> -+ <require> -+ <enum name="EGL_READ_SURFACE_BIT_KHR"/> -+ <enum name="EGL_WRITE_SURFACE_BIT_KHR"/> -+ <enum name="EGL_LOCK_SURFACE_BIT_KHR"/> -+ <enum name="EGL_OPTIMAL_FORMAT_BIT_KHR"/> -+ <enum name="EGL_MATCH_FORMAT_KHR"/> -+ <enum name="EGL_FORMAT_RGB_565_EXACT_KHR"/> -+ <enum name="EGL_FORMAT_RGB_565_KHR"/> -+ <enum name="EGL_FORMAT_RGBA_8888_EXACT_KHR"/> -+ <enum name="EGL_FORMAT_RGBA_8888_KHR"/> -+ <enum name="EGL_MAP_PRESERVE_PIXELS_KHR"/> -+ <enum name="EGL_LOCK_USAGE_HINT_KHR"/> -+ <enum name="EGL_BITMAP_POINTER_KHR"/> -+ <enum name="EGL_BITMAP_PITCH_KHR"/> -+ <enum name="EGL_BITMAP_ORIGIN_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_RED_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR"/> -+ <enum name="EGL_LOWER_LEFT_KHR"/> -+ <enum name="EGL_UPPER_LEFT_KHR"/> -+ <command name="eglLockSurfaceKHR"/> -+ <command name="eglUnlockSurfaceKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_lock_surface2" supported="egl"> -+ <require> -+ <enum name="EGL_BITMAP_PIXEL_SIZE_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_lock_surface3" supported="egl"> -+ <require> -+ <enum name="EGL_READ_SURFACE_BIT_KHR"/> -+ <enum name="EGL_WRITE_SURFACE_BIT_KHR"/> -+ <enum name="EGL_LOCK_SURFACE_BIT_KHR"/> -+ <enum name="EGL_OPTIMAL_FORMAT_BIT_KHR"/> -+ <enum name="EGL_MATCH_FORMAT_KHR"/> -+ <enum name="EGL_FORMAT_RGB_565_EXACT_KHR"/> -+ <enum name="EGL_FORMAT_RGB_565_KHR"/> -+ <enum name="EGL_FORMAT_RGBA_8888_EXACT_KHR"/> -+ <enum name="EGL_FORMAT_RGBA_8888_KHR"/> -+ <enum name="EGL_MAP_PRESERVE_PIXELS_KHR"/> -+ <enum name="EGL_LOCK_USAGE_HINT_KHR"/> -+ <enum name="EGL_BITMAP_PITCH_KHR"/> -+ <enum name="EGL_BITMAP_ORIGIN_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_RED_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR"/> -+ <enum name="EGL_BITMAP_PIXEL_SIZE_KHR"/> -+ <enum name="EGL_BITMAP_POINTER_KHR"/> -+ <enum name="EGL_LOWER_LEFT_KHR"/> -+ <enum name="EGL_UPPER_LEFT_KHR"/> -+ <command name="eglLockSurfaceKHR"/> -+ <command name="eglUnlockSurfaceKHR"/> -+ <command name="eglQuerySurface64KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_partial_update" supported="egl"> -+ <require> -+ <enum name="EGL_BUFFER_AGE_KHR"/> -+ <command name="eglSetDamageRegionKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_platform_android" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_ANDROID_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_platform_gbm" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_GBM_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_platform_wayland" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_WAYLAND_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_platform_x11" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_X11_KHR"/> -+ <enum name="EGL_PLATFORM_X11_SCREEN_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_reusable_sync" protect="KHRONOS_SUPPORT_INT64" supported="egl"> -+ <require> -+ <enum name="EGL_SYNC_STATUS_KHR"/> -+ <enum name="EGL_SIGNALED_KHR"/> -+ <enum name="EGL_UNSIGNALED_KHR"/> -+ <enum name="EGL_TIMEOUT_EXPIRED_KHR"/> -+ <enum name="EGL_CONDITION_SATISFIED_KHR"/> -+ <enum name="EGL_SYNC_TYPE_KHR"/> -+ <enum name="EGL_SYNC_REUSABLE_KHR"/> -+ <enum name="EGL_SYNC_FLUSH_COMMANDS_BIT_KHR"/> -+ <enum name="EGL_FOREVER_KHR"/> -+ <enum name="EGL_NO_SYNC_KHR"/> -+ <command name="eglCreateSyncKHR"/> -+ <command name="eglDestroySyncKHR"/> -+ <command name="eglClientWaitSyncKHR"/> -+ <command name="eglSignalSyncKHR"/> -+ <command name="eglGetSyncAttribKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_stream" protect="KHRONOS_SUPPORT_INT64" supported="egl"> -+ <require> -+ <enum name="EGL_NO_STREAM_KHR"/> -+ <enum name="EGL_CONSUMER_LATENCY_USEC_KHR"/> -+ <enum name="EGL_PRODUCER_FRAME_KHR"/> -+ <enum name="EGL_CONSUMER_FRAME_KHR"/> -+ <enum name="EGL_STREAM_STATE_KHR"/> -+ <enum name="EGL_STREAM_STATE_CREATED_KHR"/> -+ <enum name="EGL_STREAM_STATE_CONNECTING_KHR"/> -+ <enum name="EGL_STREAM_STATE_EMPTY_KHR"/> -+ <enum name="EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR"/> -+ <enum name="EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR"/> -+ <enum name="EGL_STREAM_STATE_DISCONNECTED_KHR"/> -+ <enum name="EGL_BAD_STREAM_KHR"/> -+ <enum name="EGL_BAD_STATE_KHR"/> -+ <command name="eglCreateStreamKHR"/> -+ <command name="eglDestroyStreamKHR"/> -+ <command name="eglStreamAttribKHR"/> -+ <command name="eglQueryStreamKHR"/> -+ <command name="eglQueryStreamu64KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_stream_consumer_gltexture" protect="EGL_KHR_stream" supported="egl"> -+ <require> -+ <enum name="EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR"/> -+ <command name="eglStreamConsumerGLTextureExternalKHR"/> -+ <command name="eglStreamConsumerAcquireKHR"/> -+ <command name="eglStreamConsumerReleaseKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_stream_cross_process_fd" protect="EGL_KHR_stream" supported="egl"> -+ <require> -+ <enum name="EGL_NO_FILE_DESCRIPTOR_KHR"/> -+ <command name="eglGetStreamFileDescriptorKHR"/> -+ <command name="eglCreateStreamFromFileDescriptorKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_stream_fifo" protect="EGL_KHR_stream" supported="egl"> -+ <require> -+ <enum name="EGL_STREAM_FIFO_LENGTH_KHR"/> -+ <enum name="EGL_STREAM_TIME_NOW_KHR"/> -+ <enum name="EGL_STREAM_TIME_CONSUMER_KHR"/> -+ <enum name="EGL_STREAM_TIME_PRODUCER_KHR"/> -+ <command name="eglQueryStreamTimeKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_stream_producer_aldatalocator" protect="EGL_KHR_stream" supported="egl"/> -+ <extension name="EGL_KHR_stream_producer_eglsurface" protect="EGL_KHR_stream" supported="egl"> -+ <require> -+ <enum name="EGL_STREAM_BIT_KHR"/> -+ <command name="eglCreateStreamProducerSurfaceKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_surfaceless_context" supported="egl" comment="Just relaxes an error condition"/> -+ <extension name="EGL_KHR_swap_buffers_with_damage" supported="egl"> -+ <require> -+ <command name="eglSwapBuffersWithDamageKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_vg_parent_image" supported="egl"> -+ <require> -+ <enum name="EGL_VG_PARENT_IMAGE_KHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_KHR_wait_sync" supported="egl"> -+ <require> -+ <command name="eglWaitSyncKHR"/> -+ </require> -+ </extension> -+ <extension name="EGL_MESA_drm_image" supported="egl"> -+ <require> -+ <enum name="EGL_DRM_BUFFER_FORMAT_MESA"/> -+ <enum name="EGL_DRM_BUFFER_USE_MESA"/> -+ <enum name="EGL_DRM_BUFFER_FORMAT_ARGB32_MESA"/> -+ <enum name="EGL_DRM_BUFFER_MESA"/> -+ <enum name="EGL_DRM_BUFFER_STRIDE_MESA"/> -+ <enum name="EGL_DRM_BUFFER_USE_SCANOUT_MESA"/> -+ <enum name="EGL_DRM_BUFFER_USE_SHARE_MESA"/> -+ <command name="eglCreateDRMImageMESA"/> -+ <command name="eglExportDRMImageMESA"/> -+ </require> -+ </extension> -+ <extension name="EGL_MESA_image_dma_buf_export" supported="egl"> -+ <require> -+ <type name="EGLuint64KHR"/> -+ <command name="eglExportDMABUFImageQueryMESA"/> -+ <command name="eglExportDMABUFImageMESA"/> -+ </require> -+ </extension> -+ <extension name="EGL_MESA_platform_gbm" supported="egl"> -+ <require> -+ <enum name="EGL_PLATFORM_GBM_MESA"/> -+ </require> -+ </extension> -+ <extension name="EGL_NOK_swap_region" supported="egl"> -+ <require> -+ <command name="eglSwapBuffersRegionNOK"/> -+ </require> -+ </extension> -+ <extension name="EGL_NOK_swap_region2" supported="egl"> -+ <require> -+ <command name="eglSwapBuffersRegion2NOK"/> -+ </require> -+ </extension> -+ <extension name="EGL_NOK_texture_from_pixmap" supported="egl"> -+ <require> -+ <enum name="EGL_Y_INVERTED_NOK"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_3dvision_surface" supported="egl"> -+ <require> -+ <enum name="EGL_AUTO_STEREO_NV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_coverage_sample" supported="egl"> -+ <require> -+ <enum name="EGL_COVERAGE_BUFFERS_NV"/> -+ <enum name="EGL_COVERAGE_SAMPLES_NV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_coverage_sample_resolve" supported="egl"> -+ <require> -+ <enum name="EGL_COVERAGE_SAMPLE_RESOLVE_NV"/> -+ <enum name="EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV"/> -+ <enum name="EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_cuda_event" supported="egl"> -+ <require> -+ <enum name="EGL_CUDA_EVENT_HANDLE_NV"/> -+ <enum name="EGL_SYNC_CUDA_EVENT_NV"/> -+ <enum name="EGL_SYNC_CUDA_EVENT_COMPLETE_NV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_depth_nonlinear" supported="egl"> -+ <require> -+ <enum name="EGL_DEPTH_ENCODING_NV"/> -+ <enum name="EGL_DEPTH_ENCODING_NONE_NV"/> -+ <enum name="EGL_DEPTH_ENCODING_NONLINEAR_NV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_device_cuda" supported="egl"> -+ <require> -+ <enum name="EGL_CUDA_DEVICE_NV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_native_query" supported="egl"> -+ <require> -+ <command name="eglQueryNativeDisplayNV"/> -+ <command name="eglQueryNativeWindowNV"/> -+ <command name="eglQueryNativePixmapNV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_post_convert_rounding" supported="egl"> -+ <require> -+ </require> -+ </extension> -+ <extension name="EGL_NV_post_sub_buffer" supported="egl"> -+ <require> -+ <enum name="EGL_POST_SUB_BUFFER_SUPPORTED_NV"/> -+ <command name="eglPostSubBufferNV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_stream_sync" supported="egl"> -+ <require> -+ <enum name="EGL_SYNC_TYPE_KHR"/> -+ <enum name="EGL_SYNC_NEW_FRAME_NV"/> -+ <command name="eglCreateStreamSyncNV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_sync" protect="KHRONOS_SUPPORT_INT64" supported="egl"> -+ <require> -+ <enum name="EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV"/> -+ <enum name="EGL_SYNC_STATUS_NV"/> -+ <enum name="EGL_SIGNALED_NV"/> -+ <enum name="EGL_UNSIGNALED_NV"/> -+ <enum name="EGL_SYNC_FLUSH_COMMANDS_BIT_NV"/> -+ <enum name="EGL_FOREVER_NV"/> -+ <enum name="EGL_ALREADY_SIGNALED_NV"/> -+ <enum name="EGL_TIMEOUT_EXPIRED_NV"/> -+ <enum name="EGL_CONDITION_SATISFIED_NV"/> -+ <enum name="EGL_SYNC_TYPE_NV"/> -+ <enum name="EGL_SYNC_CONDITION_NV"/> -+ <enum name="EGL_SYNC_FENCE_NV"/> -+ <enum name="EGL_NO_SYNC_NV"/> -+ <command name="eglCreateFenceSyncNV"/> -+ <command name="eglDestroySyncNV"/> -+ <command name="eglFenceNV"/> -+ <command name="eglClientWaitSyncNV"/> -+ <command name="eglSignalSyncNV"/> -+ <command name="eglGetSyncAttribNV"/> -+ </require> -+ </extension> -+ <extension name="EGL_NV_system_time" protect="KHRONOS_SUPPORT_INT64" supported="egl"> -+ <require> -+ <command name="eglGetSystemTimeFrequencyNV"/> -+ <command name="eglGetSystemTimeNV"/> -+ </require> -+ </extension> -+ <extension name="EGL_TIZEN_image_native_buffer" supported="egl"> -+ <require> -+ <enum name="EGL_NATIVE_BUFFER_TIZEN"/> -+ </require> -+ </extension> -+ <extension name="EGL_TIZEN_image_native_surface" supported="egl"> -+ <require> -+ <enum name="EGL_NATIVE_SURFACE_TIZEN"/> -+ </require> -+ </extension> -+ </extensions> -+</registry> -diff --git a/src/egl/generate/eglFunctionList.py b/src/egl/generate/eglFunctionList.py -new file mode 100644 -index 0000000000..b19b5f7193 ---- /dev/null -+++ b/src/egl/generate/eglFunctionList.py -@@ -0,0 +1,197 @@ -+#!/usr/bin/env python -+ -+""" -+Contains a list of EGL functions to generate dispatch functions for. -+ -+This is used from gen_egl_dispatch.py. -+ -+EGL_FUNCTIONS is a sequence of (name, eglData) pairs, where name is the name -+of the function, and eglData is a dictionary containing data about that -+function. -+ -+The values in the eglData dictionary are: -+- method (string): -+ How to select a vendor library. See "Method values" below. -+ -+- prefix (string): -+ This string is prepended to the name of the dispatch function. If -+ unspecified, the default is "" (an empty string). -+ -+- static (boolean) -+ If True, this function should be declared static. -+ -+- "public" (boolean) -+ If True, the function should be exported from the library. Vendor libraries -+ generally should not use this. -+ -+- extension (string): -+ If specified, this is the name of a macro to check for before defining a -+ function. Used for checking for extension macros and such. -+ -+- retval (string): -+ If specified, this is a C expression with the default value to return if we -+ can't find a function to call. By default, it will try to guess from the -+ return type: EGL_NO_whatever for the various handle types, NULL for -+ pointers, and zero for everything else. -+ -+method values: -+- "custom" -+ The dispatch stub will be hand-written instead of generated. -+ -+- "none" -+ No dispatch function exists at all, but the function should still have an -+ entry in the index array. This is for other functions that a stub may need -+ to call that are implemented in libEGL itself. -+ -+- "display" -+ Select a vendor from an EGLDisplay argument. -+ -+- "device" -+ Select a vendor from an EGLDeviceEXT argument. -+ -+- "current" -+ Select the vendor that owns the current context. -+""" -+ -+def _eglFunc(name, method, static=False, public=False, inheader=None, prefix="", extension=None, retval=None): -+ """ -+ A convenience function to define an entry in the EGL function list. -+ """ -+ if inheader is None: -+ inheader = (not public) -+ values = { -+ "method" : method, -+ "prefix" : prefix, -+ "extension" : extension, -+ "retval" : retval, -+ "static" : static, -+ "public" : public, -+ "inheader" : inheader, -+ } -+ return (name, values) -+ -+EGL_FUNCTIONS = ( -+ # EGL_VERSION_1_0 -+ _eglFunc("eglChooseConfig", "none"), -+ _eglFunc("eglCopyBuffers", "none"), -+ _eglFunc("eglCreateContext", "none"), -+ _eglFunc("eglCreatePbufferSurface", "none"), -+ _eglFunc("eglCreatePixmapSurface", "none"), -+ _eglFunc("eglCreateWindowSurface", "none"), -+ _eglFunc("eglDestroyContext", "none"), -+ _eglFunc("eglDestroySurface", "none"), -+ _eglFunc("eglGetConfigAttrib", "none"), -+ _eglFunc("eglGetConfigs", "none"), -+ _eglFunc("eglQueryContext", "none"), -+ _eglFunc("eglQuerySurface", "none"), -+ _eglFunc("eglSwapBuffers", "none"), -+ _eglFunc("eglWaitGL", "none"), -+ _eglFunc("eglWaitNative", "none"), -+ _eglFunc("eglTerminate", "none"), -+ _eglFunc("eglInitialize", "none"), -+ -+ _eglFunc("eglGetCurrentDisplay", "none"), -+ _eglFunc("eglGetCurrentSurface", "none"), -+ _eglFunc("eglGetDisplay", "none"), -+ _eglFunc("eglGetError", "none"), -+ _eglFunc("eglGetProcAddress", "none"), -+ _eglFunc("eglMakeCurrent", "none"), -+ _eglFunc("eglQueryString", "none"), -+ -+ # EGL_VERSION_1_1 -+ _eglFunc("eglBindTexImage", "none"), -+ _eglFunc("eglReleaseTexImage", "none"), -+ _eglFunc("eglSurfaceAttrib", "none"), -+ _eglFunc("eglSwapInterval", "none"), -+ -+ # EGL_VERSION_1_2 -+ _eglFunc("eglCreatePbufferFromClientBuffer", "none"), -+ _eglFunc("eglWaitClient", "none"), -+ _eglFunc("eglBindAPI", "none"), -+ _eglFunc("eglQueryAPI", "none"), -+ _eglFunc("eglReleaseThread", "none"), -+ -+ # EGL_VERSION_1_4 -+ _eglFunc("eglGetCurrentContext", "none"), -+ -+ # EGL_VERSION_1_5 -+ _eglFunc("eglCreateSync", "none"), -+ _eglFunc("eglDestroySync", "none"), -+ _eglFunc("eglClientWaitSync", "none"), -+ _eglFunc("eglGetSyncAttrib", "none"), -+ _eglFunc("eglCreateImage", "none"), -+ _eglFunc("eglDestroyImage", "none"), -+ _eglFunc("eglCreatePlatformWindowSurface", "none"), -+ _eglFunc("eglCreatePlatformPixmapSurface", "none"), -+ _eglFunc("eglWaitSync", "none"), -+ _eglFunc("eglGetPlatformDisplay", "none"), -+ -+ # EGL_EXT_platform_base -+ _eglFunc("eglCreatePlatformWindowSurfaceEXT", "display"), -+ _eglFunc("eglCreatePlatformPixmapSurfaceEXT", "display"), -+ _eglFunc("eglGetPlatformDisplayEXT", "none"), -+ -+ # TODO: Most of these extensions should be provided by the vendor -+ # libraries, not by libEGL. They're here now to make testing everything -+ # else easier. -+ -+ # EGL_EXT_swap_buffers_with_damage -+ _eglFunc("eglSwapBuffersWithDamageEXT", "display"), -+ -+ # KHR_EXT_swap_buffers_with_damage -+ _eglFunc("eglSwapBuffersWithDamageKHR", "display"), -+ -+ # EGL_KHR_cl_event2 -+ _eglFunc("eglCreateSync64KHR", "display"), -+ -+ # EGL_KHR_fence_sync -+ _eglFunc("eglCreateSyncKHR", "display"), -+ _eglFunc("eglDestroySyncKHR", "display"), -+ _eglFunc("eglClientWaitSyncKHR", "display"), -+ _eglFunc("eglGetSyncAttribKHR", "display"), -+ -+ # EGL_KHR_image -+ _eglFunc("eglCreateImageKHR", "display"), -+ _eglFunc("eglDestroyImageKHR", "display"), -+ -+ # EGL_KHR_image_base -+ # eglCreateImageKHR already defined in EGL_KHR_image -+ # eglDestroyImageKHR already defined in EGL_KHR_image -+ -+ # EGL_KHR_reusable_sync -+ _eglFunc("eglSignalSyncKHR", "display"), -+ # eglCreateSyncKHR already defined in EGL_KHR_fence_sync -+ # eglDestroySyncKHR already defined in EGL_KHR_fence_sync -+ # eglClientWaitSyncKHR already defined in EGL_KHR_fence_sync -+ # eglGetSyncAttribKHR already defined in EGL_KHR_fence_sync -+ -+ # EGL_KHR_wait_sync -+ _eglFunc("eglWaitSyncKHR", "display"), -+ -+ # EGL_MESA_drm_image -+ _eglFunc("eglCreateDRMImageMESA", "display"), -+ _eglFunc("eglExportDRMImageMESA", "display"), -+ -+ # EGL_MESA_image_dma_buf_export -+ _eglFunc("eglExportDMABUFImageQueryMESA", "display"), -+ _eglFunc("eglExportDMABUFImageMESA", "display"), -+ -+ # EGL_NOK_swap_region -+ _eglFunc("eglSwapBuffersRegionNOK", "display"), -+ -+ # EGL_NV_post_sub_buffer -+ _eglFunc("eglPostSubBufferNV", "display"), -+ -+ # EGL_WL_bind_wayland_display -+ _eglFunc("eglCreateWaylandBufferFromImageWL", "display"), -+ _eglFunc("eglUnbindWaylandDisplayWL", "display"), -+ _eglFunc("eglQueryWaylandBufferWL", "display"), -+ _eglFunc("eglBindWaylandDisplayWL", "display"), -+ -+ # EGL_CHROMIUM_get_sync_values -+ _eglFunc("eglGetSyncValuesCHROMIUM", "display"), -+ -+ # EGL_ANDROID_native_fence_sync -+ _eglFunc("eglDupNativeFenceFDANDROID", "display"), -+) -+ -diff --git a/src/egl/generate/egl_other.xml b/src/egl/generate/egl_other.xml -new file mode 100644 -index 0000000000..7fe3a9e272 ---- /dev/null -+++ b/src/egl/generate/egl_other.xml -@@ -0,0 +1,47 @@ -+<?xml version="1.0" encoding="UTF-8"?> -+<registry> -+ <comment> -+ This file contains any EGL extension functions that are missing from -+ the normal egl.xml list. -+ </comment> -+ <commands namespace="EGL"> -+ <!-- EGL_WL_bind_wayland_display --> -+ <command> -+ <proto>struct wl_buffer * <name>eglCreateWaylandBufferFromImageWL</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>EGLImage</ptype> <name>image</name></param> -+ </command> -+ -+ <command> -+ <proto>EGLBoolean <name>eglUnbindWaylandDisplayWL</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>struct wl_display *</ptype> <name>display</name></param> -+ </command> -+ -+ <command> -+ <proto>EGLBoolean <name>eglQueryWaylandBufferWL</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>struct wl_resource *</ptype> <name>buffer</name></param> -+ <param><ptype>EGLint</ptype> <name>attribute</name></param> -+ <param><ptype>EGLint *</ptype> <name>value</name></param> -+ </command> -+ -+ <command> -+ <proto>EGLBoolean <name>eglBindWaylandDisplayWL</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>dpy</name></param> -+ <param><ptype>struct wl_display *</ptype> <name>display</name></param> -+ </command> -+ -+ <!-- EGL_CHROMIUM_get_sync_values --> -+ <command> -+ <proto>EGLBoolean <name>eglGetSyncValuesCHROMIUM</name></proto> -+ <param><ptype>EGLDisplay</ptype> <name>display</name></param> -+ <param><ptype>EGLSurface</ptype> <name>surface</name></param> -+ <param><ptype>EGLuint64KHR *</ptype> <name>ust</name></param> -+ <param><ptype>EGLuint64KHR *</ptype> <name>msc</name></param> -+ <param><ptype>EGLuint64KHR *</ptype> <name>sbc</name></param> -+ </command> -+ </commands> -+</registry> -+ -+ -diff --git a/src/egl/generate/genCommon.py b/src/egl/generate/genCommon.py -new file mode 100644 -index 0000000000..d493d7bf29 ---- /dev/null -+++ b/src/egl/generate/genCommon.py -@@ -0,0 +1,223 @@ -+#!/usr/bin/env python -+ -+# (C) Copyright 2015, NVIDIA CORPORATION. -+# All Rights Reserved. -+# -+# Permission is hereby granted, free of charge, to any person obtaining a -+# copy of this software and associated documentation files (the "Software"), -+# to deal in the Software without restriction, including without limitation -+# on the rights to use, copy, modify, merge, publish, distribute, sub -+# license, and/or sell copies of the Software, and to permit persons to whom -+# the Software is furnished to do so, subject to the following conditions: -+# -+# The above copyright notice and this permission notice (including the next -+# paragraph) shall be included in all copies or substantial portions of the -+# Software. -+# -+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -+# IBM AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -+# IN THE SOFTWARE. -+# -+# Authors: -+# Kyle Brenneman <kbrenneman@nvidia.com> -+ -+import collections -+import re -+import sys -+import xml.etree.cElementTree as etree -+ -+MAPI_TABLE_NUM_DYNAMIC = 4096 -+ -+_LIBRARY_FEATURE_NAMES = { -+ # libGL and libGLdiapatch both include every function. -+ "gl" : None, -+ "gldispatch" : None, -+ "opengl" : frozenset(( "GL_VERSION_1_0", "GL_VERSION_1_1", -+ "GL_VERSION_1_2", "GL_VERSION_1_3", "GL_VERSION_1_4", "GL_VERSION_1_5", -+ "GL_VERSION_2_0", "GL_VERSION_2_1", "GL_VERSION_3_0", "GL_VERSION_3_1", -+ "GL_VERSION_3_2", "GL_VERSION_3_3", "GL_VERSION_4_0", "GL_VERSION_4_1", -+ "GL_VERSION_4_2", "GL_VERSION_4_3", "GL_VERSION_4_4", "GL_VERSION_4_5", -+ )), -+ "glesv1" : frozenset(("GL_VERSION_ES_CM_1_0", "GL_OES_point_size_array")), -+ "glesv2" : frozenset(("GL_ES_VERSION_2_0", "GL_ES_VERSION_3_0", -+ "GL_ES_VERSION_3_1" "GL_ES_VERSION_3_2", -+ )), -+} -+ -+def getFunctions(xmlFiles): -+ """ -+ Reads an XML file and returns all of the functions defined in it. -+ -+ xmlFile should be the path to Khronos's gl.xml file. The return value is a -+ sequence of FunctionDesc objects, ordered by slot number. -+ """ -+ roots = [ etree.parse(xmlFile).getroot() for xmlFile in xmlFiles ] -+ return getFunctionsFromRoots(roots) -+ -+def getFunctionsFromRoots(roots): -+ functions = {} -+ for root in roots: -+ for func in _getFunctionList(root): -+ functions[func.name] = func -+ functions = functions.values() -+ -+ # Sort the function list by name. -+ functions = sorted(functions, key=lambda f: f.name) -+ -+ # Assign a slot number to each function. This isn't strictly necessary, -+ # since you can just look at the index in the list, but it makes it easier -+ # to include the slot when formatting output. -+ for i in range(len(functions)): -+ functions[i] = functions[i]._replace(slot=i) -+ -+ return functions -+ -+def getExportNamesFromRoots(target, roots): -+ """ -+ Goes through the <feature> tags from gl.xml and returns a set of OpenGL -+ functions that a library should export. -+ -+ target should be one of "gl", "gldispatch", "opengl", "glesv1", or -+ "glesv2". -+ """ -+ featureNames = _LIBRARY_FEATURE_NAMES[target] -+ if featureNames is None: -+ return set(func.name for func in getFunctionsFromRoots(roots)) -+ -+ names = set() -+ for root in roots: -+ features = [] -+ for featElem in root.findall("feature"): -+ if featElem.get("name") in featureNames: -+ features.append(featElem) -+ for featElem in root.findall("extensions/extension"): -+ if featElem.get("name") in featureNames: -+ features.append(featElem) -+ for featElem in features: -+ for commandElem in featElem.findall("require/command"): -+ names.add(commandElem.get("name")) -+ return names -+ -+class FunctionArg(collections.namedtuple("FunctionArg", "type name")): -+ @property -+ def dec(self): -+ """ -+ Returns a "TYPE NAME" string, suitable for a function prototype. -+ """ -+ rv = str(self.type) -+ if not rv.endswith("*"): -+ rv += " " -+ rv += self.name -+ return rv -+ -+class FunctionDesc(collections.namedtuple("FunctionDesc", "name rt args slot")): -+ def hasReturn(self): -+ """ -+ Returns true if the function returns a value. -+ """ -+ return (self.rt != "void") -+ -+ @property -+ def decArgs(self): -+ """ -+ Returns a string with the types and names of the arguments, as you -+ would use in a function declaration. -+ """ -+ if not self.args: -+ return "void" -+ else: -+ return ", ".join(arg.dec for arg in self.args) -+ -+ @property -+ def callArgs(self): -+ """ -+ Returns a string with the names of the arguments, as you would use in a -+ function call. -+ """ -+ return ", ".join(arg.name for arg in self.args) -+ -+ @property -+ def basename(self): -+ assert self.name.startswith("gl") -+ return self.name[2:] -+ -+def _getFunctionList(root): -+ for elem in root.findall("commands/command"): -+ yield _parseCommandElem(elem) -+ -+def _parseCommandElem(elem): -+ protoElem = elem.find("proto") -+ (rt, name) = _parseProtoElem(protoElem) -+ -+ args = [] -+ for ch in elem.findall("param"): -+ # <param> tags have the same format as a <proto> tag. -+ args.append(FunctionArg(*_parseProtoElem(ch))) -+ func = FunctionDesc(name, rt, tuple(args), slot=None) -+ -+ return func -+ -+def _parseProtoElem(elem): -+ # If I just remove the tags and string the text together, I'll get valid C code. -+ text = _flattenText(elem) -+ text = text.strip() -+ m = re.match(r"^(.+)\b(\w+)(?:\s*\[\s*(\d*)\s*\])?$", text, re.S) -+ if m: -+ typename = _fixupTypeName(m.group(1)) -+ name = m.group(2) -+ if m.group(3): -+ # HACK: glPathGlyphIndexRangeNV defines an argument like this: -+ # GLuint baseAndCount[2] -+ # Convert it to a pointer and hope for the best. -+ typename += "*" -+ return (typename, name) -+ else: -+ raise ValueError("Can't parse element %r -> %r" % (elem, text)) -+ -+def _flattenText(elem): -+ """ -+ Returns the text in an element and all child elements, with the tags -+ removed. -+ """ -+ text = "" -+ if elem.text is not None: -+ text = elem.text -+ for ch in elem: -+ text += _flattenText(ch) -+ if ch.tail is not None: -+ text += ch.tail -+ return text -+ -+def _fixupTypeName(typeName): -+ """ -+ Converts a typename into a more consistent format. -+ """ -+ -+ rv = typeName.strip() -+ -+ # Replace "GLvoid" with just plain "void". -+ rv = re.sub(r"\bGLvoid\b", "void", rv) -+ -+ # Remove the vendor suffixes from types that have a suffix-less version. -+ rv = re.sub(r"\b(GLhalf|GLintptr|GLsizeiptr|GLint64|GLuint64)(?:ARB|EXT|NV|ATI)\b", r"\1", rv) -+ -+ rv = re.sub(r"\bGLvoid\b", "void", rv) -+ -+ # Clear out any leading and trailing whitespace. -+ rv = rv.strip() -+ -+ # Remove any whitespace before a '*' -+ rv = re.sub(r"\s+\*", r"*", rv) -+ -+ # Change "foo*" to "foo *" -+ rv = re.sub(r"([^\*])\*", r"\1 *", rv) -+ -+ # Condense all whitespace into a single space. -+ rv = re.sub(r"\s+", " ", rv) -+ -+ return rv -+ -diff --git a/src/egl/generate/gen_egl_dispatch.py b/src/egl/generate/gen_egl_dispatch.py -new file mode 100755 -index 0000000000..eeb3f3f9a5 ---- /dev/null -+++ b/src/egl/generate/gen_egl_dispatch.py -@@ -0,0 +1,250 @@ -+#!/usr/bin/env python -+ -+# (C) Copyright 2016, NVIDIA CORPORATION. -+# All Rights Reserved. -+# -+# Permission is hereby granted, free of charge, to any person obtaining a -+# copy of this software and associated documentation files (the "Software"), -+# to deal in the Software without restriction, including without limitation -+# on the rights to use, copy, modify, merge, publish, distribute, sub -+# license, and/or sell copies of the Software, and to permit persons to whom -+# the Software is furnished to do so, subject to the following conditions: -+# -+# The above copyright notice and this permission notice (including the next -+# paragraph) shall be included in all copies or substantial portions of the -+# Software. -+# -+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -+# IBM AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -+# IN THE SOFTWARE. -+# -+# Authors: -+# Kyle Brenneman <kbrenneman@nvidia.com> -+ -+""" -+Generates dispatch functions for EGL. -+ -+The list of functions and arguments is read from the Khronos's XML files, with -+additional information defined in the module eglFunctionList. -+""" -+ -+import argparse -+import collections -+import imp -+import sys -+import textwrap -+ -+import genCommon -+ -+def main(): -+ parser = argparse.ArgumentParser() -+ parser.add_argument("target", choices=("header", "source"), -+ help="Whether to build the source or header file.") -+ parser.add_argument("func_list_file", help="The function list .py file.") -+ parser.add_argument("xml_files", nargs="+", help="The XML files with the EGL function lists.") -+ -+ args = parser.parse_args() -+ -+ # The function list is a Python module, but it's specified on the command -+ # line. -+ eglFunctionList = imp.load_source("eglFunctionList", args.func_list_file) -+ -+ xmlFunctions = genCommon.getFunctions(args.xml_files) -+ xmlByName = dict((f.name, f) for f in xmlFunctions) -+ functions = [] -+ for (name, eglFunc) in eglFunctionList.EGL_FUNCTIONS: -+ func = xmlByName[name] -+ eglFunc = fixupEglFunc(func, eglFunc) -+ functions.append((func, eglFunc)) -+ -+ # Sort the function list by name. -+ functions = sorted(functions, key=lambda f: f[0].name) -+ -+ if args.target == "header": -+ text = generateHeader(functions) -+ elif args.target == "source": -+ text = generateSource(functions) -+ sys.stdout.write(text) -+ -+def fixupEglFunc(func, eglFunc): -+ result = dict(eglFunc) -+ if result.get("prefix") is None: -+ result["prefix"] = "" -+ -+ if result.get("extension") is not None: -+ text = "defined(" + result["extension"] + ")" -+ result["extension"] = text -+ -+ if result["method"] in ("none", "custom"): -+ return result -+ -+ if result["method"] not in ("display", "device", "current"): -+ raise ValueError("Invalid dispatch method %r for function %r" % (result["method"], func.name)) -+ -+ if func.hasReturn(): -+ if result.get("retval") is None: -+ result["retval"] = getDefaultReturnValue(func.rt) -+ -+ return result -+ -+def generateHeader(functions): -+ text = textwrap.dedent(r""" -+ #ifndef G_EGLDISPATCH_STUBS_H -+ #define G_EGLDISPATCH_STUBS_H -+ -+ #ifdef __cplusplus -+ extern "C" { -+ #endif -+ -+ #include <EGL/egl.h> -+ #include <EGL/eglext.h> -+ #include "glvnd/libeglabi.h" -+ -+ """.lstrip("\n")) -+ -+ text += "enum {\n" -+ for (func, eglFunc) in functions: -+ text += generateGuardBegin(func, eglFunc) -+ text += " __EGL_DISPATCH_" + func.name + ",\n" -+ text += generateGuardEnd(func, eglFunc) -+ text += " __EGL_DISPATCH_COUNT\n" -+ text += "};\n" -+ -+ for (func, eglFunc) in functions: -+ if eglFunc["inheader"]: -+ text += generateGuardBegin(func, eglFunc) -+ text += "{f.rt} EGLAPIENTRY {ex[prefix]}{f.name}({f.decArgs});\n".format(f=func, ex=eglFunc) -+ text += generateGuardEnd(func, eglFunc) -+ -+ text += textwrap.dedent(r""" -+ #ifdef __cplusplus -+ } -+ #endif -+ #endif // G_EGLDISPATCH_STUBS_H -+ """) -+ return text -+ -+def generateSource(functions): -+ # First, sort the function list by name. -+ text = "" -+ text += '#include "egldispatchstubs.h"\n' -+ text += '#include "g_egldispatchstubs.h"\n' -+ text += "\n" -+ -+ for (func, eglFunc) in functions: -+ if eglFunc["method"] not in ("custom", "none"): -+ text += generateGuardBegin(func, eglFunc) -+ text += generateDispatchFunc(func, eglFunc) -+ text += generateGuardEnd(func, eglFunc) -+ -+ text += "\n" -+ text += "const char * const __EGL_DISPATCH_FUNC_NAMES[__EGL_DISPATCH_COUNT + 1] = {\n" -+ for (func, eglFunc) in functions: -+ text += generateGuardBegin(func, eglFunc) -+ text += ' "' + func.name + '",\n' -+ text += generateGuardEnd(func, eglFunc) -+ text += " NULL\n" -+ text += "};\n" -+ -+ text += "const __eglMustCastToProperFunctionPointerType __EGL_DISPATCH_FUNCS[__EGL_DISPATCH_COUNT + 1] = {\n" -+ for (func, eglFunc) in functions: -+ text += generateGuardBegin(func, eglFunc) -+ if eglFunc["method"] != "none": -+ text += " (__eglMustCastToProperFunctionPointerType) " + eglFunc.get("prefix", "") + func.name + ",\n" -+ else: -+ text += " NULL, // " + func.name + "\n" -+ text += generateGuardEnd(func, eglFunc) -+ text += " NULL\n" -+ text += "};\n" -+ -+ return text -+ -+def generateGuardBegin(func, eglFunc): -+ ext = eglFunc.get("extension") -+ if ext is not None: -+ return "#if " + ext + "\n" -+ else: -+ return "" -+ -+def generateGuardEnd(func, eglFunc): -+ if eglFunc.get("extension") is not None: -+ return "#endif\n" -+ else: -+ return "" -+ -+def generateDispatchFunc(func, eglFunc): -+ text = "" -+ -+ if eglFunc.get("static"): -+ text += "static " -+ elif eglFunc.get("public"): -+ text += "PUBLIC " -+ text += textwrap.dedent( -+ r""" -+ {f.rt} EGLAPIENTRY {ef[prefix]}{f.name}({f.decArgs}) -+ {{ -+ typedef {f.rt} EGLAPIENTRY (* _pfn_{f.name})({f.decArgs}); -+ """).lstrip("\n").format(f=func, ef=eglFunc) -+ -+ if func.hasReturn(): -+ text += " {f.rt} _ret = {ef[retval]};\n".format(f=func, ef=eglFunc) -+ -+ text += " _pfn_{f.name} _ptr_{f.name} = (_pfn_{f.name}) ".format(f=func) -+ if eglFunc["method"] == "current": -+ text += "__eglDispatchFetchByCurrent(__EGL_DISPATCH_{f.name});\n".format(f=func) -+ -+ elif eglFunc["method"] in ("display", "device"): -+ if eglFunc["method"] == "display": -+ lookupFunc = "__eglDispatchFetchByDisplay" -+ lookupType = "EGLDisplay" -+ else: -+ assert eglFunc["method"] == "device" -+ lookupFunc = "__eglDispatchFetchByDevice" -+ lookupType = "EGLDeviceEXT" -+ -+ lookupArg = None -+ for arg in func.args: -+ if arg.type == lookupType: -+ lookupArg = arg.name -+ break -+ if lookupArg is None: -+ raise ValueError("Can't find %s argument for function %s" % (lookupType, func.name,)) -+ -+ text += "{lookupFunc}({lookupArg}, __EGL_DISPATCH_{f.name});\n".format( -+ f=func, lookupFunc=lookupFunc, lookupArg=lookupArg) -+ else: -+ raise ValueError("Unknown dispatch method: %r" % (eglFunc["method"],)) -+ -+ text += " if(_ptr_{f.name} != NULL) {{\n".format(f=func) -+ text += " " -+ if func.hasReturn(): -+ text += "_ret = " -+ text += "_ptr_{f.name}({f.callArgs});\n".format(f=func) -+ text += " }\n" -+ -+ if func.hasReturn(): -+ text += " return _ret;\n" -+ text += "}\n" -+ return text -+ -+def getDefaultReturnValue(typename): -+ if typename.endswith("*"): -+ return "NULL" -+ elif typename == "EGLDisplay": -+ return "EGL_NO_DISPLAY" -+ elif typename == "EGLContext": -+ return "EGL_NO_CONTEXT" -+ elif typename == "EGLSurface": -+ return "EGL_NO_SURFACE" -+ elif typename == "EGLBoolean": -+ return "EGL_FALSE"; -+ -+ return "0" -+ -+if __name__ == "__main__": -+ main() -+ -diff --git a/src/egl/main/50_mesa.json b/src/egl/main/50_mesa.json -new file mode 100644 -index 0000000000..8aaaa100ff ---- /dev/null -+++ b/src/egl/main/50_mesa.json -@@ -0,0 +1,6 @@ -+{ -+ "file_format_version" : "1.0.0", -+ "ICD" : { -+ "library_path" : "libEGL_mesa.so.0" -+ } -+} -diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c -index cab05c2301..5f21f3457d 100644 ---- a/src/egl/main/eglapi.c -+++ b/src/egl/main/eglapi.c -@@ -651,7 +651,11 @@ eglQueryString(EGLDisplay dpy, EGLint name) - _EGLDriver *drv; - - if (dpy == EGL_NO_DISPLAY && name == EGL_EXTENSIONS) { -- RETURN_EGL_SUCCESS(NULL, _eglGlobal.ClientExtensionString); -+ const char *ret = _eglGetClientExtensionString(); -+ if (ret != NULL) -+ RETURN_EGL_SUCCESS(NULL, ret); -+ else -+ RETURN_EGL_ERROR(NULL, EGL_BAD_ALLOC, NULL); - } - - disp = _eglLockDisplay(dpy); -diff --git a/src/egl/main/egldispatchstubs.c b/src/egl/main/egldispatchstubs.c -new file mode 100644 -index 0000000000..e02abd7a9e ---- /dev/null -+++ b/src/egl/main/egldispatchstubs.c -@@ -0,0 +1,110 @@ -+#include "egldispatchstubs.h" -+#include "g_egldispatchstubs.h" -+ -+#include <string.h> -+ -+#include "eglcurrent.h" -+ -+static const __EGLapiExports *exports; -+ -+const int __EGL_DISPATCH_FUNC_COUNT = __EGL_DISPATCH_COUNT; -+int __EGL_DISPATCH_FUNC_INDICES[__EGL_DISPATCH_COUNT + 1]; -+ -+static int FindProcIndex(const char *name) -+{ -+ unsigned first = 0; -+ unsigned last = __EGL_DISPATCH_COUNT - 1; -+ -+ while (first <= last) { -+ unsigned middle = (first + last) / 2; -+ int comp = strcmp(name, -+ __EGL_DISPATCH_FUNC_NAMES[middle]); -+ -+ if (comp > 0) -+ first = middle + 1; -+ else if (comp < 0) -+ last = middle - 1; -+ else -+ return middle; -+ } -+ -+ /* Just point to the dummy entry at the end of the respective table */ -+ return __EGL_DISPATCH_COUNT; -+} -+ -+void __eglInitDispatchStubs(const __EGLapiExports *exportsTable) -+{ -+ int i; -+ exports = exportsTable; -+ for (i=0; i<__EGL_DISPATCH_FUNC_COUNT; i++) { -+ __EGL_DISPATCH_FUNC_INDICES[i] = -1; -+ } -+} -+ -+void __eglSetDispatchIndex(const char *name, int dispatchIndex) -+{ -+ int index = FindProcIndex(name); -+ __EGL_DISPATCH_FUNC_INDICES[index] = dispatchIndex; -+} -+ -+void *__eglDispatchFindDispatchFunction(const char *name) -+{ -+ int index = FindProcIndex(name); -+ return (void *) __EGL_DISPATCH_FUNCS[index]; -+} -+ -+static __eglMustCastToProperFunctionPointerType FetchVendorFunc(__EGLvendorInfo *vendor, -+ int index, EGLint errorCode) -+{ -+ __eglMustCastToProperFunctionPointerType func = NULL; -+ -+ if (vendor != NULL) { -+ func = exports->fetchDispatchEntry(vendor, __EGL_DISPATCH_FUNC_INDICES[index]); -+ } -+ if (func == NULL) { -+ if (errorCode != EGL_SUCCESS) { -+ _eglError(errorCode, __EGL_DISPATCH_FUNC_NAMES[index]); -+ } -+ return NULL; -+ } -+ -+ if (!exports->setLastVendor(vendor)) { -+ // Don't bother trying to set an error code in libglvnd. If -+ // setLastVendor failed, then setEGLError would also fail. -+ _eglError(errorCode, __EGL_DISPATCH_FUNC_NAMES[index]); -+ return NULL; -+ } -+ -+ return func; -+} -+ -+__eglMustCastToProperFunctionPointerType __eglDispatchFetchByCurrent(int index) -+{ -+ __EGLvendorInfo *vendor; -+ -+ // Note: This is only used for the eglWait* functions. For those, if -+ // there's no current context, then they're supposed to do nothing but -+ // return success. -+ exports->threadInit(); -+ vendor = exports->getCurrentVendor(); -+ return FetchVendorFunc(vendor, index, EGL_SUCCESS); -+} -+ -+__eglMustCastToProperFunctionPointerType __eglDispatchFetchByDisplay(EGLDisplay dpy, int index) -+{ -+ __EGLvendorInfo *vendor; -+ -+ exports->threadInit(); -+ vendor = exports->getVendorFromDisplay(dpy); -+ return FetchVendorFunc(vendor, index, EGL_BAD_DISPLAY); -+} -+ -+__eglMustCastToProperFunctionPointerType __eglDispatchFetchByDevice(EGLDeviceEXT dev, int index) -+{ -+ __EGLvendorInfo *vendor; -+ -+ exports->threadInit(); -+ vendor = exports->getVendorFromDevice(dev); -+ return FetchVendorFunc(vendor, index, EGL_BAD_DEVICE_EXT); -+} -+ -diff --git a/src/egl/main/egldispatchstubs.h b/src/egl/main/egldispatchstubs.h -new file mode 100644 -index 0000000000..7861ea5e61 ---- /dev/null -+++ b/src/egl/main/egldispatchstubs.h -@@ -0,0 +1,26 @@ -+#ifndef EGLDISPATCHSTUBS_H -+#define EGLDISPATCHSTUBS_H -+ -+#include "glvnd/libeglabi.h" -+ -+// These variables are all generated along with the dispatch stubs. -+extern const int __EGL_DISPATCH_FUNC_COUNT; -+extern const char * const __EGL_DISPATCH_FUNC_NAMES[]; -+extern int __EGL_DISPATCH_FUNC_INDICES[]; -+extern const __eglMustCastToProperFunctionPointerType __EGL_DISPATCH_FUNCS[]; -+ -+void __eglInitDispatchStubs(const __EGLapiExports *exportsTable); -+void __eglSetDispatchIndex(const char *name, int index); -+ -+/** -+ * Returns the dispatch function for the given name, or \c NULL if the function -+ * isn't supported. -+ */ -+void *__eglDispatchFindDispatchFunction(const char *name); -+ -+// Helper functions used by the generated stubs. -+__eglMustCastToProperFunctionPointerType __eglDispatchFetchByDisplay(EGLDisplay dpy, int index); -+__eglMustCastToProperFunctionPointerType __eglDispatchFetchByDevice(EGLDeviceEXT dpy, int index); -+__eglMustCastToProperFunctionPointerType __eglDispatchFetchByCurrent(int index); -+ -+#endif // EGLDISPATCHSTUBS_H -diff --git a/src/egl/main/eglglobals.c b/src/egl/main/eglglobals.c -index cb41063e32..baf96bb1ec 100644 ---- a/src/egl/main/eglglobals.c -+++ b/src/egl/main/eglglobals.c -@@ -29,6 +29,8 @@ - - - #include <stdlib.h> -+#include <stdio.h> -+#include <string.h> - #include <assert.h> - #include "c11/threads.h" - -@@ -50,9 +52,13 @@ struct _egl_global _eglGlobal = - _eglFiniDisplay - }, - -- /* ClientExtensionString */ -+ /* ClientOnlyExtensionString */ - "EGL_EXT_client_extensions" - " EGL_EXT_platform_base" -+ " EGL_KHR_client_get_all_proc_addresses" -+ " EGL_KHR_debug", -+ -+ /* PlatformExtensionString */ - #ifdef HAVE_WAYLAND_PLATFORM - " EGL_EXT_platform_wayland" - #endif -@@ -65,8 +71,9 @@ struct _egl_global _eglGlobal = - #ifdef HAVE_SURFACELESS_PLATFORM - " EGL_MESA_platform_surfaceless" - #endif -- " EGL_KHR_client_get_all_proc_addresses" -- " EGL_KHR_debug", -+ "", -+ -+ NULL, /* ClientExtensionsString */ - - NULL, /* debugCallback */ - _EGL_DEBUG_BIT_CRITICAL | _EGL_DEBUG_BIT_ERROR, /* debugTypesEnabled */ -@@ -101,3 +108,37 @@ _eglAddAtExitCall(void (*func)(void)) - mtx_unlock(_eglGlobal.Mutex); - } - } -+ -+const char * -+_eglGetClientExtensionString(void) -+{ -+ const char *ret; -+ -+ mtx_lock(_eglGlobal.Mutex); -+ -+ if (_eglGlobal.ClientExtensionString == NULL) { -+ size_t clientLen = strlen(_eglGlobal.ClientOnlyExtensionString); -+ size_t platformLen = strlen(_eglGlobal.PlatformExtensionString); -+ -+ _eglGlobal.ClientExtensionString = (char *) malloc(clientLen + platformLen + 1); -+ if (_eglGlobal.ClientExtensionString != NULL) { -+ char *ptr = _eglGlobal.ClientExtensionString; -+ -+ memcpy(ptr, _eglGlobal.ClientOnlyExtensionString, clientLen); -+ ptr += clientLen; -+ -+ if (platformLen > 0) { -+ // Note that if PlatformExtensionString is not empty, then it will -+ // already have a leading space. -+ assert(_eglGlobal.PlatformExtensionString[0] == ' '); -+ memcpy(ptr, _eglGlobal.PlatformExtensionString, platformLen); -+ ptr += platformLen; -+ } -+ *ptr = '\0'; -+ } -+ } -+ ret = _eglGlobal.ClientExtensionString; -+ -+ mtx_unlock(_eglGlobal.Mutex); -+ return ret; -+} -diff --git a/src/egl/main/eglglobals.h b/src/egl/main/eglglobals.h -index ec4f3d04a3..c6ef59d482 100644 ---- a/src/egl/main/eglglobals.h -+++ b/src/egl/main/eglglobals.h -@@ -57,7 +57,15 @@ struct _egl_global - EGLint NumAtExitCalls; - void (*AtExitCalls[10])(void); - -- const char *ClientExtensionString; -+ /* -+ * Under libglvnd, the client extension string has to be split into two -+ * strings, one for platform extensions, and one for everything else. So, -+ * define separate strings for them. _eglGetClientExtensionString will -+ * concatenate them together for a non-libglvnd build. -+ */ -+ const char *ClientOnlyExtensionString; -+ const char *PlatformExtensionString; -+ char *ClientExtensionString; - - EGLDEBUGPROCKHR debugCallback; - unsigned int debugTypesEnabled; -@@ -76,4 +84,7 @@ static inline unsigned int DebugBitFromType(EGLenum type) - return (1 << (type - EGL_DEBUG_MSG_CRITICAL_KHR)); - } - -+extern const char * -+_eglGetClientExtensionString(void); -+ - #endif /* EGLGLOBALS_INCLUDED */ -diff --git a/src/egl/main/eglglvnd.c b/src/egl/main/eglglvnd.c -new file mode 100644 -index 0000000000..6b984ed6c2 ---- /dev/null -+++ b/src/egl/main/eglglvnd.c -@@ -0,0 +1,82 @@ -+#include <string.h> -+#include <assert.h> -+ -+#include <glvnd/libeglabi.h> -+ -+#include "eglcurrent.h" -+#include "egldispatchstubs.h" -+#include "eglglobals.h" -+ -+static const __EGLapiExports *__eglGLVNDApiExports = NULL; -+ -+static const char * EGLAPIENTRY -+__eglGLVNDQueryString(EGLDisplay dpy, EGLenum name) -+{ -+ // For client extensions, return the list of non-platform extensions. The -+ // platform extensions are returned by __eglGLVNDGetVendorString. -+ if (dpy == EGL_NO_DISPLAY && name == EGL_EXTENSIONS) -+ return _eglGlobal.ClientOnlyExtensionString; -+ -+ // For everything else, forward to the normal eglQueryString function. -+ return eglQueryString(dpy, name); -+} -+ -+static const char * -+__eglGLVNDGetVendorString(int name) -+{ -+ if (name == __EGL_VENDOR_STRING_PLATFORM_EXTENSIONS) { -+ const char *str = _eglGlobal.PlatformExtensionString; -+ // The platform extension string may have a leading space. If it does, -+ // then skip over it. -+ while (*str == ' ') { -+ str++; -+ } -+ return str; -+ } -+ -+ return NULL; -+} -+ -+static EGLDisplay -+__eglGLVNDGetPlatformDisplay(EGLenum platform, void *native_display, -+ const EGLAttrib *attrib_list) -+{ -+ if (platform == EGL_NONE) { -+ assert(native_display == (void *) EGL_DEFAULT_DISPLAY); -+ assert(attrib_list == NULL); -+ return eglGetDisplay((EGLNativeDisplayType) native_display); -+ } else { -+ return eglGetPlatformDisplay(platform, native_display, attrib_list); -+ } -+} -+ -+static void * -+__eglGLVNDGetProcAddress(const char *procName) -+{ -+ if (strcmp(procName, "eglQueryString") == 0) -+ return (void *) __eglGLVNDQueryString; -+ -+ return (void *) eglGetProcAddress(procName); -+} -+ -+EGLAPI EGLBoolean -+__egl_Main(uint32_t version, const __EGLapiExports *exports, -+ __EGLvendorInfo *vendor, __EGLapiImports *imports) -+{ -+ if (EGL_VENDOR_ABI_GET_MAJOR_VERSION(version) != -+ EGL_VENDOR_ABI_MAJOR_VERSION) -+ return EGL_FALSE; -+ -+ __eglGLVNDApiExports = exports; -+ __eglInitDispatchStubs(exports); -+ -+ imports->getPlatformDisplay = __eglGLVNDGetPlatformDisplay; -+ imports->getSupportsAPI = _eglIsApiValid; -+ imports->getVendorString = __eglGLVNDGetVendorString; -+ imports->getProcAddress = __eglGLVNDGetProcAddress; -+ imports->getDispatchAddress = __eglDispatchFindDispatchFunction; -+ imports->setDispatchIndex = __eglSetDispatchIndex; -+ -+ return EGL_TRUE; -+} -+ --- -2.11.0 - diff --git a/abs/core/mesa/0001-glapi-Link-with-glapi-when-built-shared.patch b/abs/core/mesa/0001-glapi-Link-with-glapi-when-built-shared.patch deleted file mode 100644 index 376828e..0000000 --- a/abs/core/mesa/0001-glapi-Link-with-glapi-when-built-shared.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 16875ea5b9170f2213fd486d763f27a9d6dfc1b5 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet <kwizart@gmail.com> -Date: Tue, 25 Oct 2016 09:35:13 +0200 -Subject: [PATCH 1/3] glapi: Link with glapi when built shared - -This patch explicitly links to libglapi when built shared. -This was specially needed to avoid undefined non-weak-symbol as shown -with: - -ldd -r /usr/lib64/dri/i915_dri.so - linux-vdso.so.1 (0x00007fff821f4000) - libdrm_intel.so.1 => /lib64/libdrm_intel.so.1 (0x00007f6adf2c7000) - libdrm_nouveau.so.2 => /lib64/libdrm_nouveau.so.2 (0x00007f6adf0be000) - libdrm_radeon.so.1 => /lib64/libdrm_radeon.so.1 (0x00007f6adeeb2000) - libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f6adec8b000) - libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f6adea7c000) - libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f6ade84f000) - libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6ade633000) - libdl.so.2 => /lib64/libdl.so.2 (0x00007f6ade42f000) - libm.so.6 => /lib64/libm.so.6 (0x00007f6ade125000) - libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f6addf0e000) - libc.so.6 => /lib64/libc.so.6 (0x00007f6addb4c000) - /lib64/ld-linux-x86-64.so.2 (0x000056274e913000) - libpciaccess.so.0 => /lib64/libpciaccess.so.0 (0x00007f6add941000) - libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f6add6ce000) -undefined symbol: _glapi_get_dispatch_table_size (/usr/lib64/dri/i915_dri.so) -undefined symbol: _glapi_get_context (/usr/lib64/dri/i915_dri.so) -undefined symbol: _glapi_add_dispatch (/usr/lib64/dri/i915_dri.so) -undefined symbol: _glapi_check_multithread (/usr/lib64/dri/i915_dri.so) -undefined symbol: _glapi_tls_Context (/usr/lib64/dri/i915_dri.so) -undefined symbol: _glapi_set_context (/usr/lib64/dri/i915_dri.so) -undefined symbol: _glapi_set_dispatch (/usr/lib64/dri/i915_dri.so) -undefined symbol: _glapi_tls_Dispatch (/usr/lib64/dri/i915_dri.so) - -v3: Add gallium counterpart for radeon cases -Reported-by: Jonathan Dieter <jdieter@lesbg.com> - -v2: Add Bugzilla and Signed-off - -Fixes: 0cbc90c57c ("mesa: dri: Add shared glapi to LIBADD on Android") -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98428 -Signed-off-by: Nicolas Chauvet <kwizart@gmail.com> ---- - src/gallium/targets/dri/Makefile.am | 2 -- - src/mesa/drivers/dri/Makefile.am | 3 --- - 2 files changed, 5 deletions(-) - -diff --git a/src/gallium/targets/dri/Makefile.am b/src/gallium/targets/dri/Makefile.am -index bca747f..05f6c8c 100644 ---- a/src/gallium/targets/dri/Makefile.am -+++ b/src/gallium/targets/dri/Makefile.am -@@ -1,10 +1,8 @@ - include $(top_srcdir)/src/gallium/Automake.inc - --if HAVE_ANDROID - if HAVE_SHARED_GLAPI - SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la - endif --endif - - AM_CFLAGS = \ - -I$(top_srcdir)/src/mapi \ -diff --git a/src/mesa/drivers/dri/Makefile.am b/src/mesa/drivers/dri/Makefile.am -index 1c6dd08..8e68fc0 100644 ---- a/src/mesa/drivers/dri/Makefile.am -+++ b/src/mesa/drivers/dri/Makefile.am -@@ -6,12 +6,9 @@ MEGADRIVERS_DEPS = - - SUBDIRS+=common - --# On Android, we need to explicitly link to libglapi.so. --if HAVE_ANDROID - if HAVE_SHARED_GLAPI - SHARED_GLAPI_LIB = $(top_builddir)/src/mapi/shared-glapi/libglapi.la - endif --endif - - if HAVE_I915_DRI - SUBDIRS += i915 --- -2.7.4 - diff --git a/abs/core/mesa/0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch b/abs/core/mesa/0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch deleted file mode 100644 index f3b0f99..0000000 --- a/abs/core/mesa/0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 2d4094c2caad6cef2f5544b3966fcc37ceb32036 Mon Sep 17 00:00:00 2001 -From: Kyle Brenneman <kbrenneman@nvidia.com> -Date: Thu, 5 Jan 2017 14:29:47 -0700 -Subject: [PATCH 2/2] fixup! EGL: Implement the libglvnd interface for EGL (v2) - ---- - src/egl/generate/eglFunctionList.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/egl/generate/eglFunctionList.py b/src/egl/generate/eglFunctionList.py -index b19b5f7193..80cb83437c 100644 ---- a/src/egl/generate/eglFunctionList.py -+++ b/src/egl/generate/eglFunctionList.py -@@ -53,12 +53,14 @@ method values: - Select the vendor that owns the current context. - """ - --def _eglFunc(name, method, static=False, public=False, inheader=None, prefix="", extension=None, retval=None): -+def _eglFunc(name, method, static=None, public=False, inheader=None, prefix="dispatch_", extension=None, retval=None): - """ - A convenience function to define an entry in the EGL function list. - """ -+ if static is None: -+ static = (not public and method != "custom") - if inheader is None: -- inheader = (not public) -+ inheader = (not static) - values = { - "method" : method, - "prefix" : prefix, --- -2.11.0 - diff --git a/abs/core/mesa/glvnd-fix-gl-dot-pc.patch b/abs/core/mesa/0002-glvnd-fix-gl-dot-pc.patch index 68118f4..68118f4 100644 --- a/abs/core/mesa/glvnd-fix-gl-dot-pc.patch +++ b/abs/core/mesa/0002-glvnd-fix-gl-dot-pc.patch diff --git a/abs/core/mesa/PKGBUILD b/abs/core/mesa/PKGBUILD index 5b30ea2..3c0f62b 100644 --- a/abs/core/mesa/PKGBUILD +++ b/abs/core/mesa/PKGBUILD @@ -4,47 +4,34 @@ pkgbase=mesa pkgname=('opencl-mesa' 'vulkan-intel' 'vulkan-radeon' 'libva-mesa-driver' 'mesa-vdpau' 'mesa') -pkgver=17.0.2 -pkgrel=2 +pkgver=17.1.2 +pkgrel=1 arch=('i686' 'x86_64') makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto' 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'llvm' - 'libomxil-bellagio' 'libclc' 'clang' 'libglvnd') + 'libomxil-bellagio' 'libclc' 'clang' 'libglvnd' 'libunwind' 'lm_sensors') url="http://mesa3d.sourceforge.net" license=('custom') source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig} LICENSE - remove-libpthread-stubs.patch - 0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch 0001-Fix-linkage-against-shared-glapi.patch - 0001-glapi-Link-with-glapi-when-built-shared.patch - 0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch - glvnd-fix-gl-dot-pc.patch) -sha256sums=('f8f191f909e01e65de38d5bdea5fb057f21649a3aed20948be02348e77a689d4' + 0002-glvnd-fix-gl-dot-pc.patch) +sha256sums=('0937804f43746339b1f9540d8f9c8b4a1bb3d3eec0e4020eac283b8799798239' 'SKIP' '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2' - '75ab53ad44b95204c788a2988e97a5cb963bdbf6072a5466949a2afb79821c8f' - '1d3475dc2f4f3e450cf313130d3ce965f933f396058828fa843c0df8115feeb9' 'c68d1522f9bce4ce31c92aa7a688da49f13043f5bb2254795b76dea8f47130b7' - '064dcd5a3ab1b7c23383e2cafbd37859e4c353f8839671d9695c6f7c2ef3260b' - '81d0ced62f61677ea0cf5f69a491093409fa1370f2ef045c41106ca8bf9c46f6' '64a77944a28026b066c1682c7258d02289d257b24b6f173a9f7580c48beed966') validpgpkeys=('8703B6700E7EE06D7A39B8D6EDAE37B02CEB490D') # Emil Velikov <emil.l.velikov@gmail.com> - +validpgpkeys+=('946D09B5E4C9845E63075FF1D961C596A7203456') # Andres Gomez <tanty@igalia.com> +validpgpkeys+=('E3E8F480C52ADD73B278EE78E1ECBE07D7D70895') # Juan Antonio Suárez Romero (Igalia, S.L.) <jasuarez@igalia.com>" + prepare() { cd ${srcdir}/mesa-${pkgver} - # Now mesa checks for libpthread-stubs - so remove the check - patch -Np1 -i ../remove-libpthread-stubs.patch - # glvnd support patches - from Fedora - # https://patchwork.freedesktop.org/series/12354/, v3 & v4 - patch -Np1 -i ../0001-EGL-Implement-the-libglvnd-interface-for-EGL-v2.patch - patch -Np1 -i ../0002-fixup-EGL-Implement-the-libglvnd-interface-for-EGL-v.patch # non-upstreamed ones - patch -Np1 -i ../glvnd-fix-gl-dot-pc.patch patch -Np1 -i ../0001-Fix-linkage-against-shared-glapi.patch - patch -Np1 -i ../0001-glapi-Link-with-glapi-when-built-shared.patch + patch -Np1 -i ../0002-glvnd-fix-gl-dot-pc.patch autoreconf -fiv } @@ -55,15 +42,17 @@ build() { ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ - --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl \ + --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl,swr \ --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \ - --with-egl-platforms=x11,drm,wayland \ + --with-platforms=x11,drm,wayland \ --with-vulkan-drivers=intel,radeon \ --disable-xvmc \ - --enable-gallium-llvm \ + --enable-llvm \ --enable-llvm-shared-libs \ --enable-shared-glapi \ --enable-libglvnd \ + --enable-libunwind \ + --enable-lmsensors \ --enable-egl \ --enable-glx \ --enable-glx-tls \ @@ -72,6 +61,7 @@ build() { --enable-gbm \ --enable-dri \ --enable-gallium-osmesa \ + --enable-gallium-extra-hud \ --enable-texture-float \ --enable-xa \ --enable-vdpau \ @@ -80,7 +70,6 @@ build() { --enable-opencl \ --enable-opencl-icd \ --with-clang-libdir=/usr/lib - #--with-sha1=libgcrypt \ make @@ -91,7 +80,7 @@ build() { package_opencl-mesa() { pkgdesc="OpenCL support for AMD/ATI Radeon mesa drivers" - depends=('expat' 'libdrm' 'libelf' 'libclc' 'clang') + depends=('expat' 'libdrm' 'libelf' 'lm_sensors' 'libunwind' 'libclc' 'clang') optdepends=('opencl-headers: headers necessary for OpenCL development') provides=('opencl-driver') @@ -139,7 +128,7 @@ package_vulkan-radeon() { package_libva-mesa-driver() { pkgdesc="VA-API implementation for gallium" - depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence') + depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'lm_sensors' 'libunwind') install -m755 -d ${pkgdir}/usr/lib cp -rv ${srcdir}/fakeinstall/usr/lib/dri ${pkgdir}/usr/lib @@ -150,7 +139,7 @@ package_libva-mesa-driver() { package_mesa-vdpau() { pkgdesc="Mesa VDPAU drivers" - depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence') + depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence' 'lm_sensors' 'libunwind') install -m755 -d ${pkgdir}/usr/lib cp -rv ${srcdir}/fakeinstall/usr/lib/vdpau ${pkgdir}/usr/lib @@ -162,7 +151,7 @@ package_mesa-vdpau() { package_mesa() { pkgdesc="an open-source implementation of the OpenGL specification" depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf' - 'libomxil-bellagio' 'libtxc_dxtn' 'llvm-libs' 'libglvnd') + 'libomxil-bellagio' 'libtxc_dxtn' 'libunwind' 'llvm-libs' 'lm_sensors' 'libglvnd') optdepends=('opengl-man-pages: for the OpenGL API man pages' 'mesa-vdpau: for accelerated video playback' 'libva-mesa-driver: for accelerated video playback') @@ -186,6 +175,7 @@ package_mesa() { cp -rv ${srcdir}/fakeinstall/usr/lib/libOSMesa.so* ${pkgdir}/usr/lib/ cp -rv ${srcdir}/fakeinstall/usr/lib/libwayland*.so* ${pkgdir}/usr/lib/ cp -rv ${srcdir}/fakeinstall/usr/lib/libxatracker.so* ${pkgdir}/usr/lib/ + cp -rv ${srcdir}/fakeinstall/usr/lib/libswrAVX*.so* ${pkgdir}/usr/lib/ cp -rv ${srcdir}/fakeinstall/usr/include ${pkgdir}/usr cp -rv ${srcdir}/fakeinstall/usr/lib/pkgconfig ${pkgdir}/usr/lib/ diff --git a/abs/core/mesa/__changelog b/abs/core/mesa/__changelog deleted file mode 100644 index 2d07d92..0000000 --- a/abs/core/mesa/__changelog +++ /dev/null @@ -1 +0,0 @@ -PKGBUILD: add llvm-39.patch diff --git a/abs/core/mesa/remove-libpthread-stubs.patch b/abs/core/mesa/remove-libpthread-stubs.patch deleted file mode 100644 index efe8aad..0000000 --- a/abs/core/mesa/remove-libpthread-stubs.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 54416b4..8a708d3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -824,7 +824,7 @@ test -z "$PTHREAD_LIBS" && PTHREAD_LIBS="-lpthread" - - dnl pthread-stubs is mandatory on targets where it exists - case "$host_os" in --cygwin* ) -+cygwin* | linux* ) - pthread_stubs_possible="no" - ;; - * ) diff --git a/abs/core/mkinitcpio/PKGBUILD b/abs/core/mkinitcpio/PKGBUILD index e62fef0..4dcf850 100644 --- a/abs/core/mkinitcpio/PKGBUILD +++ b/abs/core/mkinitcpio/PKGBUILD @@ -3,7 +3,7 @@ # Maintainer: Thomas Bächler <thomas@archlinux.org> pkgname=mkinitcpio -pkgver=22 +pkgver=23 pkgrel=1 pkgdesc="Modular initramfs image creation utility" arch=('any') @@ -20,7 +20,7 @@ backup=('etc/mkinitcpio.conf') source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig} 'mkinitcpio.patch') install=mkinitcpio.install -sha256sums=('54c1fc0fc128ae486e72362f49f52e94acd5fcfea9f44b719dc33250e42664eb' +sha256sums=('80f12a07f0dceef81dfe87200f099bd2149e0990391dda6defebaa5697f8a35a' 'SKIP' 'dbc98f69a56f07c4a0f1c7fc3f7143c1719bdb30b75fbb29d75581bb51b5e98a') validpgpkeys=('487EACC08557AD082088DABA1EB2638FF56C0C53' # Dave Reisner diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash b/abs/core/mythtv/stable-0.28/git_src/git_hash index 4576c63..8b261e1 100644 --- a/abs/core/mythtv/stable-0.28/git_src/git_hash +++ b/abs/core/mythtv/stable-0.28/git_src/git_hash @@ -1 +1 @@ -70266230d3d3afcf9c356cf503fce210fe67ab07 +b3480d043721848bda06d841eca09a6a2149c7e1 diff --git a/abs/core/mythtv/stable-0.28/git_src/git_hash_web b/abs/core/mythtv/stable-0.28/git_src/git_hash_web index 5c91202..3909319 100644 --- a/abs/core/mythtv/stable-0.28/git_src/git_hash_web +++ b/abs/core/mythtv/stable-0.28/git_src/git_hash_web @@ -1 +1 @@ -d94cf0bb5e1ffb7feaab27aae68d8214371ae266 +fdfca9075fda339dc30b65a1b62ed181ee6933dc diff --git a/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD index b0aad15..54ebf17 100644 --- a/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD +++ b/abs/core/mythtv/stable-0.28/mythplugins/PKGBUILD @@ -9,7 +9,7 @@ pkgname=('mytharchive' 'mythweather' 'mythzoneminder') pkgver=0.28.1 -pkgrel=5 +pkgrel=7 arch=('i686' 'x86_64') url="http://www.mythtv.org" license=('GPL') diff --git a/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD index 4848244..7af806e 100644 --- a/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD +++ b/abs/core/mythtv/stable-0.28/mythtv/PKGBUILD @@ -1,6 +1,6 @@ pkgname=mythtv pkgver=0.28.1 -pkgrel=5 +pkgrel=7 commit_hash=`cat ../git_src/git_hash` pkgdesc="A Homebrew PVR project $commit_hash" arch=('i686' 'x86_64') @@ -123,4 +123,4 @@ md5sums=('e30b482dcd5f3e71c6419fd753bab2b1' '6add9c16bbb988067e82029327e567b2' '6f916ebc2b1d0ca75c9aa6cec62c6fbb' 'decae343fa612feb6609c65d1fc2ad14' - 'e73bb7c5036e44a68b6f6aa2f1bac077') + '633cd853a89aeee5388daaad21ccec28') diff --git a/abs/core/mythtv/stable-0.28/mythtv/recordings b/abs/core/mythtv/stable-0.28/mythtv/recordings index 1c588f3..5dff16f 100644 --- a/abs/core/mythtv/stable-0.28/mythtv/recordings +++ b/abs/core/mythtv/stable-0.28/mythtv/recordings @@ -133,7 +133,7 @@ then if [[ `pidof "Plex Media Server"` ]] then #get plex section and update - /usr/LH/bin/plexmediascanner.sh -l | grep -i myth | cut -d: -f1 | while read -r line + script -q -c '/usr/LH/bin/plexmediascanner.sh -l' | grep -i myth | cut -d: -f1 | while read -r line do /usr/LH/bin/plexmediascanner.sh --scan --refresh --section $line done diff --git a/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD index 04b2561..6595f68 100644 --- a/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD +++ b/abs/core/mythtv/stable-0.28/mythweb/PKGBUILD @@ -1,6 +1,6 @@ pkgname=mythweb pkgver=0.28.1 -pkgrel=2 +pkgrel=3 commit_hash=`cat ../git_src/git_hash_web` pkgdesc="Web interface for MythTV's backend, $commit_hash" arch=('i686' 'x86_64') diff --git a/abs/core/nvidia-304xx/PKGBUILD b/abs/core/nvidia-304xx/PKGBUILD index a61edee..3ce7ce4 100644 --- a/abs/core/nvidia-304xx/PKGBUILD +++ b/abs/core/nvidia-304xx/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=nvidia-304xx pkgname=(nvidia-304xx nvidia-304xx-dkms) pkgver=304.135 _extramodules=extramodules-4.9-ARCH -pkgrel=4 +pkgrel=5 arch=('i686' 'x86_64') url="http://www.nvidia.com/" makedepends=('linux' 'linux-headers>=4.9' 'linux-headers<4.10') @@ -15,12 +15,14 @@ license=('custom') options=('!strip') source=('disable-mtrr.patch' 'drm-driver-legacy.patch' - 'kernel_4.10.patch') + 'kernel_4.10.patch' + 'kernel_4.11.patch') source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run") source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run") sha512sums=('54e8825e523f11706890e09e476498f3a30f75ce4e350ff2ff8a1e1c3af574d9ccfb8903543766b6863d94cdfbf46e68cd3d33380867dd976cafc8dd2dd78774' 'fa39dee5c9f1ea98286c87165f683ee194b2cb4056aa6b556e822b9ee760dcf3683ea001c3704e79b9ac9712314d7df5690dc7f68440cda7a96791f94425455d' - '68dabbf6ad889c46bd0c01ebb697b80f4aa526ef1cdc53de008343a243adefc6ce7f2778be7005f2d79f3d23c0a3ff69f67ecdb9f97c0feb0ec99405a0c1046a') + '68dabbf6ad889c46bd0c01ebb697b80f4aa526ef1cdc53de008343a243adefc6ce7f2778be7005f2d79f3d23c0a3ff69f67ecdb9f97c0feb0ec99405a0c1046a' + 'da3d1698af8b97e8fc3b6d3c690925e0258f8b6ad26a24f8d32c04a5a82701655208021f9f5af0ce44cb397a7422e2776a05193204bc7e4ac2b98f6e173984ea') sha512sums_i686=('c2645cc9a6f23641d8b6da51e72e203980068c05e365fcc73b32322a6875ce95e81f4e0d893276e14e84e93464488539c16db6b3be04f5324cf7d7a12bb557f8') sha512sums_x86_64=('a5aa48baa75eb267bd193e59328aa5fbc15d41045bb7e97aa1b96b918b9e68a1c1bf95624d9d494336256e0af2c41e188d30fe91be4967084de3387f50d3805c') @@ -32,7 +34,8 @@ prepare() { sh "${_pkg}.run" --extract-only cd "${_pkg}" # patches here -# patch -Np1 --no-backup-if-mismatch -i ../kernel_4.10.patch + patch -Np1 --no-backup-if-mismatch -i ../kernel_4.10.patch + patch -Np1 --no-backup-if-mismatch -i ../kernel_4.11.patch # FS#47092 #(cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch) diff --git a/abs/core/nvidia-340xx/4.11.0_kernel.patch b/abs/core/nvidia-340xx/4.11.0_kernel.patch new file mode 100644 index 0000000..5ee3e4f --- /dev/null +++ b/abs/core/nvidia-340xx/4.11.0_kernel.patch @@ -0,0 +1,112 @@ +--- a/kernel/nv-drm.c ++++ b/kernel/nv-drm.c +@@ -22,6 +22,8 @@ + #include <drm/drm_gem.h> + #endif + ++#include <linux/version.h> ++ + extern nv_linux_state_t *nv_linux_devices; + + struct nv_gem_object { +@@ -48,7 +50,11 @@ + return -ENODEV; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + static int nv_drm_unload( ++#else ++static void nv_drm_unload( ++#endif + struct drm_device *dev + ) + { +@@ -60,11 +66,19 @@ + { + BUG_ON(nvl->drm != dev); + nvl->drm = NULL; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + return 0; ++#else ++ return; ++#endif + } + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + return -ENODEV; ++#else ++ return; ++#endif + } + + static void nv_gem_free( + +--- a/kernel/uvm/nvidia_uvm_linux.h ++++ b/kernel/uvm/nvidia_uvm_linux.h +@@ -124,6 +124,9 @@ + #include <linux/delay.h> /* mdelay, udelay */ + + #include <linux/sched.h> /* suser(), capable() replacement */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++#include <linux/sched/signal.h> ++#endif + #include <linux/moduleparam.h> /* module_param() */ + #if !defined(NV_VMWARE) + #include <asm/tlbflush.h> /* flush_tlb(), flush_tlb_all() */ +@@ -362,6 +365,7 @@ + void address_space_init_once(struct address_space *mapping); + #endif + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + #if !defined(NV_FATAL_SIGNAL_PENDING_PRESENT) + static inline int __fatal_signal_pending(struct task_struct *p) + { +@@ -372,6 +376,7 @@ + { + return signal_pending(p) && __fatal_signal_pending(p); + } ++#endif + #endif + + // + +--- a/kernel/uvm/nvidia_uvm_lite.c ++++ b/kernel/uvm/nvidia_uvm_lite.c +@@ -818,7 +818,11 @@ + } + + #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++int _fault(struct vm_fault *vmf) ++#else + int _fault(struct vm_area_struct *vma, struct vm_fault *vmf) ++#endif + { + #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) + unsigned long vaddr = (unsigned long)vmf->virtual_address; +@@ -828,7 +832,11 @@ + struct page *page = NULL; + int retval; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++ retval = _fault_common(NULL, vaddr, &page, vmf->flags); ++#else + retval = _fault_common(vma, vaddr, &page, vmf->flags); ++#endif + + vmf->page = page; + +@@ -866,7 +874,11 @@ + // it's dealing with anonymous mapping (see handle_pte_fault). + // + #if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) ++int _sigbus_fault(struct vm_fault *vmf) ++#else + int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf) ++#endif + { + vmf->page = NULL; + return VM_FAULT_SIGBUS; + diff --git a/abs/core/nvidia-340xx/PKGBUILD b/abs/core/nvidia-340xx/PKGBUILD index 5f404fa..c2b6f16 100644 --- a/abs/core/nvidia-340xx/PKGBUILD +++ b/abs/core/nvidia-340xx/PKGBUILD @@ -6,18 +6,19 @@ pkgbase=nvidia-340xx pkgname=(nvidia-340xx nvidia-340xx-dkms) pkgver=340.102 _extramodules=extramodules-4.9-ARCH -pkgrel=6 +pkgrel=7 arch=('i686' 'x86_64') url="http://www.nvidia.com/" makedepends=("nvidia-340xx-utils=${pkgver}" 'linux' 'linux-headers>=4.9' 'linux-headers<4.10') conflicts=('nvidia') license=('custom') options=(!strip) -source=('fs52243.patch' '4.10.0_kernel.patch') +source=('fs52243.patch' '4.10.0_kernel.patch' '4.11.0_kernel.patch') source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run") source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run") sha512sums=('de4f697d64f8e73c4aadec1a407884a6bc459c0020d4bfd19740fe4177a60bb801fe8a74ef6f7fa2e89c6cd648ea4daf152799ae344a145c06480a6eef0c5bca' - '88a2b448c1e8445dc43820328e86d8f20eb7e3cb5774e704cd44191a9fa26064264510c1adc9ea938fa2c92075496f3a27bd52ae6e6f4ec5fa6d4a829dd961e8') + '88a2b448c1e8445dc43820328e86d8f20eb7e3cb5774e704cd44191a9fa26064264510c1adc9ea938fa2c92075496f3a27bd52ae6e6f4ec5fa6d4a829dd961e8' + '48eb48dfd118a5d76d0e01c3bb5aedb7e6ec153a40680c0ebd6842c74fe1dda49e1cc8dc2b2493b7355de47d3013c578a13c254c5bb3eecdbfcf8f4ebc7c7c34') sha512sums_i686=('bea700c925a6044fcded40324bb389c5fa1aadc40831f685a76e7b0ded11161f492960950c201467e564d157dcbe0c330d13a2014f51d0073002c5a262a6f0ca') sha512sums_x86_64=('2a29e6418244ea384e4237d74057bd8e56247b1c503cf623dea34a3b1065d8783879aa7e6a802dd31f0a10cf81cfcab2a1b1a8269b97996f15fa1838c0a3a44b') @@ -30,7 +31,8 @@ prepare() { # patches here patch -Np0 < "${srcdir}"/fs52243.patch -# patch -Np1 < "${srcdir}"/4.10.0_kernel.patch + patch -Np1 < "${srcdir}"/4.10.0_kernel.patch + patch -Np1 < "${srcdir}"/4.11.0_kernel.patch cp -a kernel kernel-dkms } diff --git a/abs/core/nvidia-utils/PKGBUILD b/abs/core/nvidia-utils/PKGBUILD index eed11f8..de2e364 100644 --- a/abs/core/nvidia-utils/PKGBUILD +++ b/abs/core/nvidia-utils/PKGBUILD @@ -5,8 +5,8 @@ pkgbase=nvidia-utils pkgname=('nvidia-utils' 'opencl-nvidia') -pkgver=378.13 -pkgrel=6 +pkgver=381.22 +pkgrel=1 arch=('i686' 'x86_64') url="http://www.nvidia.com/" license=('custom') @@ -15,8 +15,8 @@ source=('nvidia-drm-outputclass.conf') source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run") source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run") md5sums=('a433deeb5f9cc661e537f42bde2f1df7') -md5sums_i686=('dd1077750af9a067739ec291fb24175f') -md5sums_x86_64=('fe4d25b19a780a690cafc8e3b7c0113f') +md5sums_i686=('8825cec1640739521689bd80121d1425') +md5sums_x86_64=('0e9590d48703c8baa034b6f0f8bbf1e5') [[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}" [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" diff --git a/abs/core/nvidia/PKGBUILD b/abs/core/nvidia/PKGBUILD index 2ebee1f..470343c 100644 --- a/abs/core/nvidia/PKGBUILD +++ b/abs/core/nvidia/PKGBUILD @@ -5,21 +5,19 @@ pkgbase=nvidia pkgname=(nvidia nvidia-dkms) -pkgver=378.13 +pkgver=381.22 _extramodules=extramodules-4.9-ARCH -pkgrel=5 +pkgrel=2 pkgdesc="NVIDIA drivers for linux" arch=('i686' 'x86_64') url="http://www.nvidia.com/" makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.9' 'linux-headers<4.10') license=('custom') options=('!strip') -source=('kernel_4.10.patch') source_i686=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run") source_x86_64=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run") -md5sums=('e81769b830b7a1e60c635e3bbe559f59') -md5sums_i686=('dd1077750af9a067739ec291fb24175f') -md5sums_x86_64=('fe4d25b19a780a690cafc8e3b7c0113f') +md5sums_i686=('8825cec1640739521689bd80121d1425') +md5sums_x86_64=('0e9590d48703c8baa034b6f0f8bbf1e5') [[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}" [[ "$CARCH" = "x86_64" ]] && _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" @@ -28,8 +26,6 @@ prepare() { sh "${_pkg}.run" --extract-only cd "${_pkg}" -# patch -Np1 --no-backup-if-mismatch -i ../kernel_4.10.patch - cp -a kernel kernel-dkms cd kernel-dkms sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf diff --git a/abs/core/nvidia/kernel_4.10.patch b/abs/core/nvidia/kernel_4.10.patch deleted file mode 100644 index 4ad9f8a..0000000 --- a/abs/core/nvidia/kernel_4.10.patch +++ /dev/null @@ -1,382 +0,0 @@ -From ca8b106738521823707f3567cedb41ca158792a3 Mon Sep 17 00:00:00 2001 -From: Alberto Milone <alberto.milone@canonical.com> -Date: Wed, 15 Feb 2017 10:53:42 +0100 -Subject: [PATCH 1/1] Add support for Linux 4.10 - ---- - common/inc/nv-mm.h | 9 ++++-- - nvidia-drm/nvidia-drm-fence.c | 72 +++++++++++++++++++++++++++++++++++++++++++ - nvidia-drm/nvidia-drm-gem.h | 6 ++++ - nvidia-drm/nvidia-drm-priv.h | 7 +++++ - nvidia/nv-pat.c | 40 ++++++++++++++++++++++++ - 5 files changed, 132 insertions(+), 2 deletions(-) - -diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h -index 06d7da4..e5cc56a 100644 ---- a/kernel/common/inc/nv-mm.h -+++ b/kernel/common/inc/nv-mm.h -@@ -46,6 +46,8 @@ - * 2016 Dec 14:5b56d49fc31dbb0487e14ead790fc81ca9fb2c99 - */ - -+#include <linux/version.h> -+ - #if defined(NV_GET_USER_PAGES_REMOTE_PRESENT) - #if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS) - #define NV_GET_USER_PAGES get_user_pages -@@ -92,10 +94,13 @@ - pages, vmas, NULL); - - #else -- -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - return get_user_pages_remote(tsk, mm, start, nr_pages, flags, - pages, vmas); -- -+#else -+ return get_user_pages_remote(tsk, mm, start, nr_pages, flags, -+ pages, vmas, NULL); -+#endif - #endif - - } -diff --git a/kernel/nvidia-drm/nvidia-drm-fence.c b/kernel/nvidia-drm/nvidia-drm-fence.c -index 5e98c5f..fa2c508 100644 ---- a/kernel/nvidia-drm/nvidia-drm-fence.c -+++ b/kernel/nvidia-drm/nvidia-drm-fence.c -@@ -31,7 +31,11 @@ - - #if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_RES_OBJ) - struct nv_fence { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence base; -+#else -+ struct dma_fence base; -+#endif - spinlock_t lock; - - struct nvidia_drm_device *nv_dev; -@@ -51,7 +55,11 @@ nv_fence_ready_to_signal(struct nv_fence *nv_fence) - - static const char *nvidia_drm_gem_prime_fence_op_get_driver_name - ( -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *fence -+#else -+ struct dma_fence *fence -+#endif - ) - { - return "NVIDIA"; -@@ -59,7 +67,11 @@ static const char *nvidia_drm_gem_prime_fence_op_get_driver_name - - static const char *nvidia_drm_gem_prime_fence_op_get_timeline_name - ( -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *fence -+#else -+ struct dma_fence *fence -+#endif - ) - { - return "nvidia.prime"; -@@ -67,7 +79,11 @@ static const char *nvidia_drm_gem_prime_fence_op_get_timeline_name - - static bool nvidia_drm_gem_prime_fence_op_signaled - ( -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *fence -+#else -+ struct dma_fence *fence -+#endif - ) - { - struct nv_fence *nv_fence = container_of(fence, struct nv_fence, base); -@@ -99,7 +115,11 @@ unlock_struct_mutex: - - static bool nvidia_drm_gem_prime_fence_op_enable_signaling - ( -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *fence -+#else -+ struct dma_fence *fence -+#endif - ) - { - bool ret = true; -@@ -107,7 +127,11 @@ static bool nvidia_drm_gem_prime_fence_op_enable_signaling - struct nvidia_drm_gem_object *nv_gem = nv_fence->nv_gem; - struct nvidia_drm_device *nv_dev = nv_fence->nv_dev; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - if (fence_is_signaled(fence)) -+#else -+ if (dma_fence_is_signaled(fence)) -+#endif - { - return false; - } -@@ -136,7 +160,11 @@ static bool nvidia_drm_gem_prime_fence_op_enable_signaling - } - - nv_gem->fenceContext.softFence = fence; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - fence_get(fence); -+#else -+ dma_fence_get(fence); -+#endif - - unlock_struct_mutex: - mutex_unlock(&nv_dev->dev->struct_mutex); -@@ -146,7 +174,11 @@ unlock_struct_mutex: - - static void nvidia_drm_gem_prime_fence_op_release - ( -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *fence -+#else -+ struct dma_fence *fence -+#endif - ) - { - struct nv_fence *nv_fence = container_of(fence, struct nv_fence, base); -@@ -155,7 +187,11 @@ static void nvidia_drm_gem_prime_fence_op_release - - static signed long nvidia_drm_gem_prime_fence_op_wait - ( -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *fence, -+#else -+ struct dma_fence *fence, -+#endif - bool intr, - signed long timeout - ) -@@ -170,12 +206,20 @@ static signed long nvidia_drm_gem_prime_fence_op_wait - * that it should never get hit during normal operation, but not so long - * that the system becomes unresponsive. - */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - return fence_default_wait(fence, intr, -+#else -+ return dma_fence_default_wait(fence, intr, -+#endif - (timeout == MAX_SCHEDULE_TIMEOUT) ? - msecs_to_jiffies(96) : timeout); - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - static const struct fence_ops nvidia_drm_gem_prime_fence_ops = { -+#else -+static const struct dma_fence_ops nvidia_drm_gem_prime_fence_ops = { -+#endif - .get_driver_name = nvidia_drm_gem_prime_fence_op_get_driver_name, - .get_timeline_name = nvidia_drm_gem_prime_fence_op_get_timeline_name, - .signaled = nvidia_drm_gem_prime_fence_op_signaled, -@@ -285,7 +329,11 @@ static void nvidia_drm_gem_prime_fence_signal - bool force - ) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *fence = nv_gem->fenceContext.softFence; -+#else -+ struct dma_fence *fence = nv_gem->fenceContext.softFence; -+#endif - - WARN_ON(!mutex_is_locked(&nv_dev->dev->struct_mutex)); - -@@ -301,10 +349,18 @@ static void nvidia_drm_gem_prime_fence_signal - - if (force || nv_fence_ready_to_signal(nv_fence)) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - fence_signal(&nv_fence->base); -+#else -+ dma_fence_signal(&nv_fence->base); -+#endif - - nv_gem->fenceContext.softFence = NULL; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - fence_put(&nv_fence->base); -+#else -+ dma_fence_put(&nv_fence->base); -+#endif - - nvKms->disableChannelEvent(nv_dev->pDevice, - nv_gem->fenceContext.cb); -@@ -320,7 +376,11 @@ static void nvidia_drm_gem_prime_fence_signal - - nv_fence = container_of(fence, struct nv_fence, base); - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - fence_signal(&nv_fence->base); -+#else -+ dma_fence_signal(&nv_fence->base); -+#endif - } - } - -@@ -513,7 +573,11 @@ int nvidia_drm_gem_prime_fence_init - * fence_context_alloc() cannot fail, so we do not need to check a return - * value. - */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - nv_gem->fenceContext.context = fence_context_alloc(1); -+#else -+ nv_gem->fenceContext.context = dma_fence_context_alloc(1); -+#endif - - ret = nvidia_drm_gem_prime_fence_import_semaphore( - nv_dev, nv_gem, p->index, -@@ -670,7 +734,11 @@ int nvidia_drm_gem_prime_fence_attach - nv_fence->nv_gem = nv_gem; - - spin_lock_init(&nv_fence->lock); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - fence_init(&nv_fence->base, &nvidia_drm_gem_prime_fence_ops, -+#else -+ dma_fence_init(&nv_fence->base, &nvidia_drm_gem_prime_fence_ops, -+#endif - &nv_fence->lock, nv_gem->fenceContext.context, - p->sem_thresh); - -@@ -680,7 +748,11 @@ int nvidia_drm_gem_prime_fence_attach - - reservation_object_add_excl_fence(&nv_gem->fenceContext.resv, - &nv_fence->base); -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - fence_put(&nv_fence->base); /* Reservation object has reference */ -+#else -+ dma_fence_put(&nv_fence->base); -+#endif - - ret = 0; - -diff --git a/kernel/nvidia-drm/nvidia-drm-gem.h b/kernel/nvidia-drm/nvidia-drm-gem.h -index 4ff45e8..394576b 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem.h -+++ b/kernel/nvidia-drm/nvidia-drm-gem.h -@@ -29,6 +29,8 @@ - - #include "nvidia-drm-priv.h" - -+#include <linux/version.h> -+ - #include <drm/drmP.h> - #include "nvkms-kapi.h" - -@@ -98,7 +100,11 @@ struct nvidia_drm_gem_object - /* Software signaling structures */ - struct NvKmsKapiChannelEvent *cb; - struct nvidia_drm_gem_prime_soft_fence_event_args *cbArgs; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - struct fence *softFence; /* Fence for software signaling */ -+#else -+ struct dma_fence *softFence; -+#endif - } fenceContext; - #endif - }; -diff --git a/kernel/nvidia-drm/nvidia-drm-priv.h b/kernel/nvidia-drm/nvidia-drm-priv.h -index 1e9b9f9..ae171e7 100644 ---- a/kernel/nvidia-drm/nvidia-drm-priv.h -+++ b/kernel/nvidia-drm/nvidia-drm-priv.h -@@ -25,6 +25,8 @@ - - #include "conftest.h" /* NV_DRM_AVAILABLE */ - -+#include <linux/version.h> -+ - #if defined(NV_DRM_AVAILABLE) - - #include <drm/drmP.h> -@@ -34,7 +36,12 @@ - #endif - - #if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_RES_OBJ) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - #include <linux/fence.h> -+#else -+#include <linux/dma-fence.h> -+#endif -+ - #include <linux/reservation.h> - #endif - -diff --git a/kernel/nvidia/nv-pat.c b/kernel/nvidia/nv-pat.c -index df78020..0af7d47 100644 ---- a/kernel/nvidia/nv-pat.c -+++ b/kernel/nvidia/nv-pat.c -@@ -203,6 +203,7 @@ void nv_disable_pat_support(void) - } - - #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - static int - nvidia_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) - { -@@ -234,6 +235,34 @@ static struct notifier_block nv_hotcpu_nfb = { - .notifier_call = nvidia_cpu_callback, - .priority = 0 - }; -+#else -+static int nvidia_cpu_online(unsigned int hcpu) -+{ -+ unsigned int cpu = get_cpu(); -+ if (cpu == hcpu) -+ nv_setup_pat_entries(NULL); -+ else -+ NV_SMP_CALL_FUNCTION(nv_setup_pat_entries, (void *)(long int)hcpu, 1); -+ -+ put_cpu(); -+ -+ return 0; -+} -+ -+static int nvidia_cpu_down_prep(unsigned int hcpu) -+{ -+ unsigned int cpu = get_cpu(); -+ if (cpu == hcpu) -+ nv_restore_pat_entries(NULL); -+ else -+ NV_SMP_CALL_FUNCTION(nv_restore_pat_entries, (void *)(long int)hcpu, 1); -+ -+ put_cpu(); -+ -+ return 0; -+} -+#endif -+ - #endif - - int nv_init_pat_support(nvidia_stack_t *sp) -@@ -255,7 +284,14 @@ int nv_init_pat_support(nvidia_stack_t *sp) - #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU) - if (nv_pat_mode == NV_PAT_MODE_BUILTIN) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - if (register_hotcpu_notifier(&nv_hotcpu_nfb) != 0) -+#else -+ if (cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, -+ "gpu/nvidia:online", -+ nvidia_cpu_online, -+ nvidia_cpu_down_prep) != 0) -+#endif - { - nv_disable_pat_support(); - nv_printf(NV_DBG_ERRORS, -@@ -280,7 +316,11 @@ void nv_teardown_pat_support(void) - { - nv_disable_pat_support(); - #if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) - unregister_hotcpu_notifier(&nv_hotcpu_nfb); -+#else -+ cpuhp_remove_state_nocalls(CPUHP_AP_ONLINE_DYN); -+#endif - #endif - } - } --- -2.7.4 - diff --git a/abs/core/runit-scripts/PKGBUILD b/abs/core/runit-scripts/PKGBUILD index 96959be..1c4c342 100755 --- a/abs/core/runit-scripts/PKGBUILD +++ b/abs/core/runit-scripts/PKGBUILD @@ -1,6 +1,6 @@ pkgname=runit-scripts pkgver=8.4 -pkgrel=4 +pkgrel=5 pkgdesc="collection of startup scripts for runit" url="http://smarden.org/runit/" license=('BSD') diff --git a/abs/core/runit-scripts/runitscripts/services/vnc/run b/abs/core/runit-scripts/runitscripts/services/vnc/run index c168251..70118cc 100755 --- a/abs/core/runit-scripts/runitscripts/services/vnc/run +++ b/abs/core/runit-scripts/runitscripts/services/vnc/run @@ -11,5 +11,5 @@ geometry=1920x1080 #. /etc/conf.d/vncserver 2>/dev/null cp -f $MV_ROOT/templates/vnc.service /etc/avahi/services/vnc.service 2>/dev/null cd ~vncsvc -exec su vncsvc -c "/usr/bin/vncserver -fg -geometry $geometry :1" 2>/var/log/vnc.log +exec su vncsvc -c "LD_LIBRARY_PATH=/usr/lib /usr/bin/vncserver -fg -geometry $geometry :1" 2>/var/log/vnc.log #exec sudo -u vncsvc -i /usr/bin/vncserver -fg -geometry $geometry :1 2>/var/log/vnc.log diff --git a/abs/core/system-templates/PKGBUILD b/abs/core/system-templates/PKGBUILD index b496d1c..e72d48b 100755 --- a/abs/core/system-templates/PKGBUILD +++ b/abs/core/system-templates/PKGBUILD @@ -1,6 +1,6 @@ pkgname=system-templates pkgver=8.4 -pkgrel=2 +pkgrel=3 conflicts=( ) pkgdesc="Templates used for system configuration" depends=() diff --git a/abs/core/system-templates/templates/remotes/favorites/streamzap/wol-lircrc b/abs/core/system-templates/templates/remotes/favorites/streamzap/wol-lircrc new file mode 100644 index 0000000..46c8eb2 --- /dev/null +++ b/abs/core/system-templates/templates/remotes/favorites/streamzap/wol-lircrc @@ -0,0 +1,66 @@ +# wol-lircrc for Streamzap +begin + prog = irxevent + button = STOP + config = Key ctrl-shift-q CurrentWindow +end +begin +# Exit Chrome back to Myth + prog = irxevent + button = EXIT + config = Key Escape CurrentWindow +end +begin + prog = irxevent + button = UP + config = Key Up CurrentWindow +end +begin + prog = irxevent + button = DOWN + config = Key Down CurrentWindow +end +begin + prog = irxevent + button = LEFT + config = Key Left CurrentWindow +end +begin + prog = irxevent + button = RIGHT + config = Key Right CurrentWindow +end +begin +# Play/Pause + prog = irxevent + button = OK + config = Key Return CurrentWindow +end +begin +# Play/Pause + prog = irxevent + button = PAUSE + config = Key Return CurrentWindow +end +begin +# Play/Pause + prog = irxevent + button = PLAY + config = Key Return CurrentWindow +end +begin + prog = irxevent + button = CH_UP + config = Key alt-Right CurrentWindow +end +begin + prog = irxevent + button = CH_DOWN + config = Key alt-Left CurrentWindow +end +begin +# Stop watching and return to Netflix Browse + prog = irxevent + button = MENU + config = Key alt-Left CurrentWindow +end diff --git a/abs/core/xymon/PKGBUILD b/abs/core/xymon/PKGBUILD index 4ecc620..12649cb 100755 --- a/abs/core/xymon/PKGBUILD +++ b/abs/core/xymon/PKGBUILD @@ -1,7 +1,7 @@ pkgbase=xymon pkgname=('xymonserver' 'xymonclient') pkgver=4.3.28 -pkgrel=3 +pkgrel=4 pkgdesc="Xymon is a system for monitoring of hosts and networks" license=('GPL') arch=('i686' 'x86_64') @@ -177,7 +177,7 @@ package_xymonclient(){ md5sums=('14501ab2cfce9a332c1590543dfcbd0f' '9af2ad60ac4c3cb653754618f603e311' - '77fd7ab6ebbe72d14092ee53c5958f97' + 'ecf9c4c878b676ca8be5a547888359ed' 'd210c43fb9ee9ad6cd7648e0c2e0efea' '0c808fa12672289f86b0651545381308' '0469d775db9fdd18ea95dd41937ada82' diff --git a/abs/core/xymon/analysis.cfg.patch b/abs/core/xymon/analysis.cfg.patch index 3539ae3..d93b70d 100644 --- a/abs/core/xymon/analysis.cfg.patch +++ b/abs/core/xymon/analysis.cfg.patch @@ -1,12 +1,12 @@ ---- analysis.cfg.orig 2017-01-18 19:50:46.758666909 +0000 -+++ analysis.cfg 2017-01-18 20:01:50.480263760 +0000 -@@ -353,12 +353,108 @@ +--- analysis.cfg.orig 2017-04-25 17:21:23.686051680 +0000 ++++ analysis.cfg 2017-04-25 17:23:11.332110989 +0000 +@@ -353,12 +353,115 @@ # to all hosts, add a new section with "HOSTS=*" +HOST=_MASTERBACKEND_ -+ PROC sshd 1 -+ PROC lighttpd ++ PROC sshd 1 ++ PROC lighttpd + PROC xymond + PROC crond + PROC mysql @@ -25,8 +25,8 @@ + +HOST=_MASTERFRONTEND_ + PROC mythfrontend 1 5 yellow -+ PROC sshd 1 -+ PROC lighttpd ++ PROC sshd 1 ++ PROC lighttpd + PROC xymond + PROC crond + PROC mysql @@ -44,14 +44,21 @@ + PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh + +HOST=_FRONTEND_ -+ PROC sshd 1 ++ PROC sshd 1 + PROC crond + PROC mythfrontend 1 5 yellow + PROC msg_daemon.py ++ DISK %^/cdrom.* IGNORE ++ DISK %^/mnt.* IGNORE ++ DISK %^/media.* IGNORE ++ DISK * 95 99 ++ INODE %^/cdrom.* IGNORE ++ INODE %^/mnt.* IGNORE ++ INODE %^/media.* IGNORE + PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh + +HOST=_SLAVEBACKEND_ -+ PROC sshd 1 ++ PROC sshd 1 + PROC crond + PROC mythbackend + DISK %^/cdrom.* IGNORE @@ -64,8 +71,8 @@ + PORT "LOCAL=%([.:]22)$" state=LISTEN TEXT=ssh + +HOST=_SLAVEFRONTEND_ -+ PROC sshd 1 -+ PROC lighttpd ++ PROC sshd 1 ++ PROC lighttpd + PROC hobbitd + PROC crond + PROC mythbackend @@ -82,8 +89,8 @@ + +HOST=_STANDALONE_ + PROC mythfrontend 1 5 yellow -+ PROC sshd 1 -+ PROC lighttpd ++ PROC sshd 1 ++ PROC lighttpd + PROC xymond + PROC crond + PROC mysql diff --git a/abs/extra/ffmpeg-compat/PKGBUILD b/abs/extra/ffmpeg-compat/PKGBUILD deleted file mode 100644 index 5b5879f..0000000 --- a/abs/extra/ffmpeg-compat/PKGBUILD +++ /dev/null @@ -1,85 +0,0 @@ -# $Id$ -# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org> -# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com> -# Contributor: Ionut Biru <ibiru@archlinux.org> -# Contributor: Tom Newsom <Jeepster@gmx.co.uk> -# Contributor: Paul Mattal <paul@archlinux.org> - -pkgname=ffmpeg-compat -pkgver=0.10.16 -pkgrel=4 -epoch=1 -pkgdesc='Complete and free Internet live audio and video broadcasting solution' -arch=('i686' 'x86_64') -url='http://ffmpeg.org/' -license=('GPL') -depends=( - 'alsa-lib' 'bzip2' 'gsm' 'lame' 'libass' 'libmodplug' - 'libtheora' 'libva' 'opencore-amr' 'openjpeg' 'rtmpdump' 'schroedinger' - 'sdl' 'speex' 'v4l-utils' 'xvidcore' 'zlib' - 'libvorbisenc.so' 'libvorbis.so' 'libvpx.so' 'libx264.so' -) -makedepends=('libvdpau' 'yasm' 'x264') -provides=('libavcodec.so' 'libavutil.so' 'libpostproc.so' 'libswscale.so' - 'libswresample.so' 'libavformat.so' 'libavfilter.so' 'libavdevice.so') -source=(http://ffmpeg.org/releases/ffmpeg-$pkgver.tar.bz2{,.asc} - ffmpeg-0.10-libvpx-1.5.patch) -validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') # ffmpeg-devel -sha256sums=('e77823cbd58dfdb61f88059476070bc432d80e3821c14abcf804ef709d2f3fd1' - 'SKIP' - 'd6797973889582b82b7c81b91a39c222e09b5ccf8a7e031c364ae1e9275a497d') - - -prepare() { - cd ffmpeg-$pkgver - patch -p1 -i ../ffmpeg-0.10-libvpx-1.5.patch -} - -build() { - cd ffmpeg-$pkgver - - CFLAGS+=" -I/usr/include/openjpeg-1.5" \ - ./configure \ - --prefix=/usr \ - --incdir=/usr/include/ffmpeg-compat \ - --libdir=/usr/lib/ffmpeg-compat \ - --shlibdir=/usr/lib/ffmpeg-compat \ - --disable-debug \ - --disable-static \ - --enable-gpl \ - --enable-libass \ - --enable-libfreetype \ - --enable-libgsm \ - --enable-libmodplug \ - --enable-libmp3lame \ - --enable-libopencore_amrnb \ - --enable-libopencore_amrwb \ - --enable-libopenjpeg \ - --disable-libpulse \ - --enable-librtmp \ - --enable-libschroedinger \ - --enable-libspeex \ - --enable-libtheora \ - --enable-libv4l2 \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libx264 \ - --enable-libxvid \ - --enable-postproc \ - --enable-runtime-cpudetect \ - --enable-shared \ - --enable-vdpau \ - --enable-version3 \ - --enable-x11grab - - make -} - -package() { - cd ffmpeg-$pkgver - make DESTDIR="$pkgdir" install - rm -rf "$pkgdir"/usr/{bin,share} - - install -dm755 "$pkgdir"/etc/ld.so.conf.d/ - echo -e '/usr/lib/\n/usr/lib/ffmpeg-compat/' > "$pkgdir"/etc/ld.so.conf.d/$pkgname.conf -} diff --git a/abs/extra/ffmpeg-compat/__changelog b/abs/extra/ffmpeg-compat/__changelog deleted file mode 100644 index 105d5aa..0000000 --- a/abs/extra/ffmpeg-compat/__changelog +++ /dev/null @@ -1 +0,0 @@ -PKGBUILD - remove libpulse as dep and disable pulse in compile diff --git a/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch b/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch deleted file mode 100644 index 740bb74..0000000 --- a/abs/extra/ffmpeg-compat/ffmpeg-0.10-libvpx-1.5.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c -index 1d33ce9..dface51 100644 ---- a/libavcodec/libvpxenc.c -+++ b/libavcodec/libvpxenc.c -@@ -78,19 +78,11 @@ typedef struct VP8EncoderContext { - - /** String mappings for enum vp8e_enc_control_id */ - static const char *ctlidstr[] = { -- [VP8E_UPD_ENTROPY] = "VP8E_UPD_ENTROPY", -- [VP8E_UPD_REFERENCE] = "VP8E_UPD_REFERENCE", -- [VP8E_USE_REFERENCE] = "VP8E_USE_REFERENCE", -- [VP8E_SET_ROI_MAP] = "VP8E_SET_ROI_MAP", -- [VP8E_SET_ACTIVEMAP] = "VP8E_SET_ACTIVEMAP", -- [VP8E_SET_SCALEMODE] = "VP8E_SET_SCALEMODE", - [VP8E_SET_CPUUSED] = "VP8E_SET_CPUUSED", - [VP8E_SET_ENABLEAUTOALTREF] = "VP8E_SET_ENABLEAUTOALTREF", - [VP8E_SET_NOISE_SENSITIVITY] = "VP8E_SET_NOISE_SENSITIVITY", -- [VP8E_SET_SHARPNESS] = "VP8E_SET_SHARPNESS", - [VP8E_SET_STATIC_THRESHOLD] = "VP8E_SET_STATIC_THRESHOLD", - [VP8E_SET_TOKEN_PARTITIONS] = "VP8E_SET_TOKEN_PARTITIONS", -- [VP8E_GET_LAST_QUANTIZER] = "VP8E_GET_LAST_QUANTIZER", - [VP8E_SET_ARNR_MAXFRAMES] = "VP8E_SET_ARNR_MAXFRAMES", - [VP8E_SET_ARNR_STRENGTH] = "VP8E_SET_ARNR_STRENGTH", - [VP8E_SET_ARNR_TYPE] = "VP8E_SET_ARNR_TYPE", diff --git a/abs/extra/ffmpeg2.8/PKGBUILD b/abs/extra/ffmpeg2.8/PKGBUILD index c676e62..f203567 100644 --- a/abs/extra/ffmpeg2.8/PKGBUILD +++ b/abs/extra/ffmpeg2.8/PKGBUILD @@ -6,11 +6,11 @@ # Contributor: Paul Mattal <paul@archlinux.org> pkgname=ffmpeg2.8 -pkgver=2.8.9 -pkgrel=1 +pkgver=2.8.11 +pkgrel=2 pkgdesc='Complete solution to record, convert and stream audio and video' arch=('i686' 'x86_64') -url='http://ffmpeg.org/' +url='https://ffmpeg.org/' license=('GPL3') depends=('alsa-lib' 'bzip2' 'fontconfig' 'fribidi' 'gnutls' 'gsm' 'lame' 'libass' 'libbluray' 'libmodplug' 'libsoxr' 'libssh' @@ -23,14 +23,14 @@ optdepends=('ladspa: LADSPA filters') provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so' 'libavresample.so' 'libavutil.so' 'libpostproc.so' 'libswresample.so' 'libswscale.so') -source=("http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.bz2" - "http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.bz2.asc" +source=("http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz" + "http://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz.asc" 'ffmpeg-2.8-kodi.patch' 'ffmpeg-2.8-Resolve-plex-direct-domains.patch' 'ffmpeg-99.0011-mpeg4video-Signal-unsupported-GMC-with-more-than-one.patch' 'ffmpeg-Speed_up_wtv_index_creation.patch' ) -validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') +validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') # ffmpeg-devel prepare() { cd ${srcdir}/ffmpeg-${pkgver} @@ -101,7 +101,7 @@ package() { # vim: ts=2 sw=2 et: -md5sums=('67adbe4671838e3a203bd425ff94fde6' +md5sums=('b8c6953c65d0c9ef120a878064282c75' 'SKIP' '83bc99a06f1ca6fd70ed35056937a522' '6c1e7519c3b5d414ca98ad624691517d' diff --git a/abs/extra/google-chrome/PKGBUILD b/abs/extra/google-chrome/PKGBUILD index 0c3a393..dd41c55 100644 --- a/abs/extra/google-chrome/PKGBUILD +++ b/abs/extra/google-chrome/PKGBUILD @@ -5,7 +5,7 @@ # or use: $ curl -s https://dl.google.com/linux/chrome/rpm/stable/x86_64/repodata/other.xml.gz | gzip -df | awk -F\" '/pkgid/{ sub(".*-","",$4); print $4": "$10 }' pkgname=google-chrome -pkgver=57.0.2987.110 +pkgver=59.0.3071.86 pkgrel=1 pkgdesc="An attempt at creating a safer, faster, and more stable browser (Stable Channel)" arch=('x86_64') @@ -15,16 +15,15 @@ depends=('alsa-lib' 'gconf' 'gtk2' 'libxss' 'libxtst' 'nss') optdepends=('kdialog: needed for file dialogs in KDE' 'gnome-keyring: for storing passwords in GNOME keyring' 'kwallet: for storing passwords in KWallet' - 'ttf-liberation: fix fonts for some PDFs (CRBug #369991)') + 'libunity: download progress on KDE' + 'ttf-liberation: fix fonts for some PDFs (CRBug #369991)' + 'xdg-utils') options=('!emptydirs' '!strip') install=$pkgname.install _channel=stable source=("google-chrome-${_channel}_${pkgver}_amd64.deb::https://dl.google.com/linux/direct/google-chrome-${_channel}_current_amd64.deb" "$url/browser/privacy/eula_text.html" 'google-chrome-stable.sh') -md5sums=('ba137093ddd19e643988e66d5821eb3d' - 'SKIP' - 'ed4cf73982461af7d0d944c1cbf9f4e8') package() { msg2 "Extracting the data.tar.xz..." @@ -54,3 +53,6 @@ package() { rm -r "$pkgdir"/etc/cron.daily/ "$pkgdir"/opt/google/chrome/cron/ rm "$pkgdir"/opt/google/chrome/product_logo_*.png } +md5sums=('686ea970b43c71f4cff37cf58d9c7738' + 'da54da9383ddffa44c5db45513239da2' + 'ed4cf73982461af7d0d944c1cbf9f4e8') diff --git a/abs/extra/handbrake/PKGBUILD b/abs/extra/handbrake/PKGBUILD index 3b0c3e4..bf66a04 100644 --- a/abs/extra/handbrake/PKGBUILD +++ b/abs/extra/handbrake/PKGBUILD @@ -4,52 +4,34 @@ # Contributor: Sebastien Piccand <sebcactus gmail com> pkgname=('handbrake' 'handbrake-cli') -pkgver=1.0.2 -pkgrel=1 +pkgver=1.0.7 +pkgrel=2 arch=('i686' 'x86_64') url="https://handbrake.fr/" license=('GPL') -makedepends=('intltool' 'python2' 'yasm' 'wget' 'bzip2' 'gcc-libs' 'libnotify' - 'gst-plugins-base' 'gtk3' 'dbus-glib' 'fribidi' 'libass' 'lame' - 'fontconfig' 'freetype2' 'libxml2' 'libogg' 'libvorbis' 'cmake' - 'libtheora' 'libsamplerate' 'ffmpeg' 'x264' 'libx264' 'x265' - 'libvpx' 'libdvdnav' 'jansson' 'librsvg' 'libgudev') -source=(https://handbrake.fr/mirror/HandBrake-$pkgver.tar.bz2 - handbrake-fix-missing-x265-link-flag.patch) -sha256sums=('18e4563cc150309df03f7e73462b823ba2eca61644a7a536c9930611f3f9aa1e' - '05e212e76b6e0b94a04de02cbeb7bf9db607059e19297b5bd3d0d143135285c4') - -prepare() { - cd "$srcdir/HandBrake-$pkgver" - - # https://bugs.gentoo.org/show_bug.cgi?id=552792 - patch -Np1 -i ../handbrake-fix-missing-x265-link-flag.patch - - # Use more system libs - # Bundled libbluray is kept because it is patched locally - for _lib in ffmpeg x265 libvpx libdvdnav libdvdread; do - sed -i "/MODULES += contrib\/$_lib/d" make/include/main.defs - done -} +makedepends=('intltool' 'python2' 'yasm' 'wget' 'cmake' 'bzip2' 'gcc-libs' + 'zlib' 'libnotify' 'gst-plugins-base' 'gtk3' 'dbus-glib' 'libass' + 'lame' 'libxml2' 'opus' 'libvorbis' 'libtheora' 'libsamplerate' + 'x264' 'libx264' 'jansson' 'librsvg' 'libgudev') +source=(https://handbrake.fr/mirror/HandBrake-$pkgver.tar.bz2) +sha256sums=('ffdee112f0288f0146b965107956cd718408406b75db71c44d2188f5296e677f') build() { cd "$srcdir/HandBrake-$pkgver" - ./configure \ - --prefix=/usr \ - --disable-gtk-update-checks + ./configure --prefix=/usr make -C build } package_handbrake() { pkgdesc="Multithreaded video transcoder" - depends=('bzip2' 'gcc-libs' 'gst-plugins-base' 'libnotify' 'dbus-glib' - 'fribidi' 'libass' 'lame' 'gtk3' 'fontconfig' 'freetype2' 'libxml2' - 'libogg' 'libvorbis' 'libtheora' 'libsamplerate' 'ffmpeg' 'libx264' - 'x265' 'libvpx' 'libdvdnav' 'jansson' 'librsvg' 'libgudev' + depends=('bzip2' 'gcc-libs' 'zlib' 'gst-plugins-base' 'libnotify' 'dbus-glib' + 'gtk3' 'libass' 'lame' 'libxml2' 'opus' 'libvorbis' 'libtheora' + 'libsamplerate' 'libx264' 'jansson' 'librsvg' 'libgudev' 'desktop-file-utils' 'hicolor-icon-theme') optdepends=('gst-plugins-good: for video previews' - 'gst-libav: for video previews') + 'gst-libav: for video previews' + 'libdvdcss: for decoding encrypted DVDs') cd "$srcdir/HandBrake-$pkgver/build" @@ -59,9 +41,9 @@ package_handbrake() { package_handbrake-cli() { pkgdesc="Multithreaded video transcoder (CLI)" - depends=('bzip2' 'gcc-libs' 'zlib' 'fribidi' 'libass' 'lame' 'libxml2' - 'libtheora' 'libsamplerate' 'ffmpeg' 'libx264' 'x265' 'libvpx' - 'libdvdnav' 'jansson') + depends=('bzip2' 'gcc-libs' 'zlib' 'libass' 'lame' 'libxml2' 'opus' + 'libvorbis' 'libtheora' 'libsamplerate' 'libx264' 'jansson') + optdepends=('libdvdcss: for decoding encrypted DVDs') cd "$srcdir/HandBrake-$pkgver/build" install -D HandBrakeCLI "$pkgdir/usr/bin/HandBrakeCLI" diff --git a/abs/extra/handbrake/handbrake-fix-missing-x265-link-flag.patch b/abs/extra/handbrake/handbrake-fix-missing-x265-link-flag.patch deleted file mode 100644 index a963fe0..0000000 --- a/abs/extra/handbrake/handbrake-fix-missing-x265-link-flag.patch +++ /dev/null @@ -1,13 +0,0 @@ -Written by: Peter Foley <pefoley2@pefoley.com> -Gentoo Bug: #552792 - ---- a/test/module.defs -+++ b/test/module.defs -@@ -25,6 +25,7 @@ - - ifeq (1,$(FEATURE.x265)) - TEST.GCC.D += USE_X265 -+ TEST.GCC.l += x265 - endif - - TEST.GCC.l += $(foreach m,$(MODULES.NAMES),$($m.OSL.libs)) diff --git a/abs/extra/lm_sensors/PKGBUILD b/abs/extra/lm_sensors/PKGBUILD index 78f622e..43c813e 100644 --- a/abs/extra/lm_sensors/PKGBUILD +++ b/abs/extra/lm_sensors/PKGBUILD @@ -2,8 +2,8 @@ # Maintainer: Eric Bélanger <eric@archlinux.org> pkgname=lm_sensors -pkgver=3.3.5 -pkgrel=1 +pkgver=3.4.0 +pkgrel=2 pkgdesc="Collection of user space tools for general SMBus access and hardware monitoring" arch=('i686' 'x86_64') url="http://www.lm-sensors.org/" @@ -12,31 +12,31 @@ depends=('perl' 'sysfsutils') makedepends=('rrdtool') optdepends=('rrdtool: for logging with sensord') backup=('etc/sensors3.conf' 'etc/healthd.conf' 'etc/conf.d/sensord') -source=(http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${pkgver}.tar.bz2{,.sig} +source=($pkgname-$pkgver::https://github.com/groeck/lm-sensors/archive/V${pkgver//\./-}.tar.gz healthd healthd.conf healthd.service sensord.conf lm_sensors-fancontrol.patch) -sha1sums=('179989a52bae8f01ba8ed77e8a15af6ec653d89e' - 'SKIP' +sha1sums=('4a9026e4db894c98ee7cea0bec1188108e415f71' '1c91ae403d3cd02b6177ad1f1b2f2c3a7a3257f5' '1edd4d72ade22adfc128fb8d670e85c633fd1d18' 'd72ec328e9303acef86342483b6f8537de6117d9' 'f4b5f21fdb3b2a55aa353afa1603f953b207b73b' 'b0bc977348610d6a008d75a43f65800251c4c9f7') +validpgpkeys=('7CA69F4460F1BDC41FD2C858A5526B9BB3CD4E6A') prepare() { - cd ${pkgname}-${pkgver} + cd ${pkgname/_/-}-${pkgver//\./-} sed -i 's|/etc/sysconfig|/etc/conf.d|' prog/{detect/sensors-detect,init/{sensord,lm_sensors}.service} sed -i 's/EnvironmentFile=/EnvironmentFile=-/' prog/init/lm_sensors.service patch -p0 -i "${srcdir}/lm_sensors-fancontrol.patch" } build() { - cd ${pkgname}-${pkgver} + cd ${pkgname/_/-}-${pkgver//\./-} make PREFIX=/usr } package() { - cd ${pkgname}-${pkgver} + cd ${pkgname/_/-}-${pkgver//\./-} make PROG_EXTRA=sensord BUILD_STATIC_LIB=0 \ PREFIX=/usr SBINDIR=/usr/bin MANDIR=/usr/share/man DESTDIR="${pkgdir}" install diff --git a/abs/extra/openpht/PKGBUILD b/abs/extra/openpht/PKGBUILD index 06afae1..4962a65 100644 --- a/abs/extra/openpht/PKGBUILD +++ b/abs/extra/openpht/PKGBUILD @@ -3,9 +3,9 @@ # Contributor: Daniel Wallace <daniel.wallace@gatech.edu> pkgname=openpht -pkgver=1.7.1.137 -_pkghash=b604995c -pkgrel=2 +pkgver=1.8.0.148 +_pkghash=573b6d73 +pkgrel=1 pkgdesc='OpenPHT is a community driven fork of Plex Home Theater' arch=('i686' 'x86_64') url='https://github.com/RasPlex/OpenPHT/' @@ -65,7 +65,7 @@ package() { # add in plex_lib.conf install -D -m0744 ${srcdir}/plex_lib.conf ${pkgdir}/etc/gen_lib_xml.d/plex_lib.conf } -md5sums=('9a7a2205a30f1002b2600cf8e240fb98' +md5sums=('cd2fff943de57123008c0f10f7fb20d1' 'b9524fe29d0cc65087ba447d1b892da2' 'a5980579c1b6341a6d06e80d9da2a924' 'e530e2b4d8333863ba1c87862c291ba1') diff --git a/abs/extra/plex-media-server/PKGBUILD b/abs/extra/plex-media-server/PKGBUILD index 6d14e83..52425c2 100644 --- a/abs/extra/plex-media-server/PKGBUILD +++ b/abs/extra/plex-media-server/PKGBUILD @@ -9,7 +9,7 @@ pkgname=plex-media-server pkgver=1.5.5.3634 _pkgsum=995f1dead -pkgrel=1 +pkgrel=2 pkgdesc='Plex Media Server' arch=('armv7h' 'i686' 'x86_64') url='https://plex.tv/' @@ -47,6 +47,8 @@ package() { install -m 644 plexmediaserver.conf.d "${pkgdir}"/etc/conf.d/plexmediaserver install -Dm 644 "$srcdir/plex.sysusers" "$pkgdir/usr/lib/sysusers.d/plex.conf" + install -m 755 -D plexmediascanner.sh "${pkgdir}"/usr/LH/bin/plexmediascanner.sh + install -dm 755 "${pkgdir}"/usr/share/licenses/${pkgname} install -m 644 terms.txt "${pkgdir}"/usr/share/licenses/${pkgname}/ } diff --git a/abs/extra/tigervnc/PKGBUILD b/abs/extra/tigervnc/PKGBUILD index db327ef..8460632 100644 --- a/abs/extra/tigervnc/PKGBUILD +++ b/abs/extra/tigervnc/PKGBUILD @@ -2,16 +2,16 @@ # Maintainer: Uroš Vampl <mobile.leecher at gmail dot com> pkgname=tigervnc -pkgver=1.6.0 +pkgver=1.8.0 pkgrel=2 -_xorgver=1.18.0 +_xorgver=1.19.3 pkgdesc="Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC." arch=('i686' 'x86_64') url="http://www.tigervnc.org" license=('GPL') depends=('fltk' 'pam' 'gnutls' 'libjpeg-turbo' 'libxtst' 'libxfont' 'pixman' 'xorg-xauth' 'xorg-xsetroot' 'xkeyboard-config' 'xorg-xkbcomp' - 'libgl' 'libgcrypt' 'perl' 'libxdamage') + 'libgl' 'libgcrypt' 'perl' 'libxdamage' 'libxfont2') makedepends=('cmake' 'nasm' 'xorg-font-util' 'xorg-util-macros' 'bigreqsproto' 'compositeproto' 'damageproto' 'randrproto' 'resourceproto' 'scrnsaverproto' 'videoproto' 'xcmiscproto' 'xf86vidmodeproto' @@ -23,27 +23,21 @@ install=tiger.install source=($pkgname-$pkgver.tar.gz::https://github.com/TigerVNC/tigervnc/archive/v${pkgver}.tar.gz ftp://ftp.freedesktop.org/pub/xorg/individual/xserver/xorg-server-${_xorgver}.tar.bz2 vncserver.service - vncviewer.desktop - vncsvc.rules - gethomedir.patch - xorg118.patch) + vncsvc.rules + vncviewer.desktop) prepare() { - cd ${srcdir}/${pkgname}-${pkgver} - - patch -Np1 -i ${srcdir}/xorg118.patch - patch -Np1 -i ${srcdir}/gethomedir.patch - sed -i 's/iconic/nowin/' unix/vncserver - + cd "$srcdir"/${pkgname}-${pkgver} cd unix/xserver - cp -r ${srcdir}/xorg-server-${_xorgver}/* . - patch -Np1 -i ../xserver117.patch + cp -r "$srcdir"/xorg-server-${_xorgver}/* . + patch -Np1 -i ../xserver119.patch } build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "$srcdir"/${pkgname}-${pkgver} - cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr + cmake -G "Unix Makefiles" \ + -DCMAKE_INSTALL_PREFIX=/usr make cd unix/xserver @@ -54,19 +48,19 @@ build() { --disable-xwin --disable-xephyr --disable-kdrive --disable-xwayland \ --disable-config-hal --disable-config-udev --with-pic \ --disable-unit-tests --disable-devel-docs --disable-selective-werror \ - --disable-dri --enable-dri2 --enable-dri3 --enable-glx --enable-glx-tls + --disable-dri --enable-dri2 --enable-dri3 --enable-glx make } package() { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install + cd "$srcdir"/${pkgname}-${pkgver} + make DESTDIR="$pkgdir" install cd unix/xserver/hw/vnc - make DESTDIR=${pkgdir} install - install -Dm0644 ${srcdir}/${pkgname}-${pkgver}/contrib/systemd/user/vncserver@.service \ - $pkgdir/usr/lib/systemd/user/vncserver@.service - install -Dm0644 $srcdir/vncserver.service $pkgdir/usr/lib/systemd/system/vncserver.service - install -Dm0644 $srcdir/vncviewer.desktop $pkgdir/usr/share/applications/vncviewer.desktop + make DESTDIR="$pkgdir" install + install -Dm0644 "$srcdir"/${pkgname}-${pkgver}/contrib/systemd/user/vncserver@.service \ + "$pkgdir"/usr/lib/systemd/user/vncserver@.service + install -Dm0644 "$srcdir"/vncserver.service "$pkgdir"/usr/lib/systemd/system/vncserver.service + install -Dm0644 "$srcdir"/vncviewer.desktop "$pkgdir"/usr/share/applications/vncviewer.desktop #LinHES sudo rules mkdir -p $pkgdir/etc/sudoers.d/ @@ -74,10 +68,8 @@ package() { chown -R root:root $pkgdir/etc/sudoers.d install -o root -g root -m 0750 $srcdir/vncsvc.rules $pkgdir/etc/sudoers.d/vncsvc-tigervnc } -md5sums=('78b736445781d86c48e942465a391ccc' - '3c1c1057d3ad27380d8dd87ffcc182cd' - '1aad8f06504b3e29a24ccfbaab617973' - 'b200d83c60e80c6f9693ea19a2d9f5b0' +md5sums=('5c9a80dd4b99b4eb19f535db5ce5830f' + '015d2fc4b9f2bfe7a626edb63a62c65e' + 'a8a20685c23a50f86a13c33ce96a7ba7' 'f333a228ddbefffc6ce945754bc9c5c5' - '22f1523a0eca56ad79cfabd0db6e2cf6' - '2fd32181679077eb7f7ca06cf25f443f') + 'b200d83c60e80c6f9693ea19a2d9f5b0') diff --git a/abs/extra/tigervnc/gethomedir.patch b/abs/extra/tigervnc/gethomedir.patch deleted file mode 100644 index 5f3542d..0000000 --- a/abs/extra/tigervnc/gethomedir.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -ur tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am ---- tigervnc-1.2.0.orig/unix/xserver/hw/vnc/Makefile.am 2011-10-31 09:14:40.000000000 +0100 -+++ tigervnc-1.2.0/unix/xserver/hw/vnc/Makefile.am 2012-09-06 19:44:04.431123087 +0200 -@@ -5,6 +5,7 @@ - RDR_LIB=$(LIB_DIR)/rdr/librdr.la - NETWORK_LIB=$(LIB_DIR)/network/libnetwork.la - XREGION_LIB=$(LIB_DIR)/Xregion/libXregion.la -+OS_LIB=$(LIB_DIR)/os/libos.la - COMMON_LIBS=$(NETWORK_LIB) $(RFB_LIB) $(RDR_LIB) $(XREGION_LIB) - - noinst_LTLIBRARIES = libvnccommon.la -@@ -55,7 +56,7 @@ - - libvnc_la_LDFLAGS = -module -avoid-version - --libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) -+libvnc_la_LIBADD = libvnccommon.la $(COMMON_LIBS) $(OS_LIB) - - EXTRA_DIST = Xvnc.man - diff --git a/abs/extra/tigervnc/vncserver.service b/abs/extra/tigervnc/vncserver.service index 0c257b3..40151ac 100644 --- a/abs/extra/tigervnc/vncserver.service +++ b/abs/extra/tigervnc/vncserver.service @@ -18,7 +18,7 @@ Description=Remote desktop service (VNC) After=syslog.target network.target [Service] -Type=forking +Type=simple User= ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i >/dev/null 2>&1 || true' diff --git a/abs/extra/tigervnc/xorg118.patch b/abs/extra/tigervnc/xorg118.patch deleted file mode 100644 index 7484200..0000000 --- a/abs/extra/tigervnc/xorg118.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -wbBur tigervnc-1.5.0/unix/xserver/hw/vnc/Input.c tigervnc-1.5.0.q/unix/xserver/hw/vnc/Input.c ---- tigervnc-1.5.0/unix/xserver/hw/vnc/Input.c 2015-07-11 16:00:36.000000000 +0300 -+++ tigervnc-1.5.0.q/unix/xserver/hw/vnc/Input.c 2015-11-25 19:04:24.278747038 +0300 -@@ -300,6 +300,8 @@ - #if XORG < 111 - n = GetKeyboardEvents(eventq, dev, action, kc); - enqueueEvents(dev, n); -+#elif XORG > 117 -+ QueueKeyboardEvents(dev, action, kc); - #else - QueueKeyboardEvents(dev, action, kc, NULL); - #endif -diff -wbBur tigervnc-1.5.0/unix/xserver/hw/vnc/xorg-version.h tigervnc-1.5.0.q/unix/xserver/hw/vnc/xorg-version.h ---- tigervnc-1.5.0/unix/xserver/hw/vnc/xorg-version.h 2015-07-11 16:00:36.000000000 +0300 -+++ tigervnc-1.5.0.q/unix/xserver/hw/vnc/xorg-version.h 2015-11-25 19:02:47.688751421 +0300 -@@ -48,8 +48,10 @@ - #define XORG 116 - #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (17 * 100000) + (99 * 1000)) - #define XORG 117 -+#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (18 * 100000) + (99 * 1000)) -+#define XORG 118 - #else --#error "X.Org newer than 1.17 is not supported" -+#error "X.Org newer than 1.18 is not supported" - #endif - - #endif diff --git a/abs/extra/web-on-linhes/PKGBUILD b/abs/extra/web-on-linhes/PKGBUILD index 4e52115..660efb5 100644 --- a/abs/extra/web-on-linhes/PKGBUILD +++ b/abs/extra/web-on-linhes/PKGBUILD @@ -3,7 +3,7 @@ pkgname=web-on-linhes pkgver=1.3 -pkgrel=1 +pkgrel=2 pkgdesc="Added multiple websites with 10' UIs to Play Online Streams." arch=('i686' 'x86_64') license=('GPL2') @@ -16,8 +16,8 @@ package() { cd ${srcdir} install -d ${pkgdir}/usr/LH/bin install -D -m755 *.sh ${pkgdir}/usr/LH/bin - #add in file for gen_is.xml - install -D -m0744 ${srcdir}/web-on-linhes_is.conf ${pkgdir}/etc/gen_is_xml.d/web-on-linhes_is.conf + #add in file for gen_is.xml + install -D -m0744 ${srcdir}/web-on-linhes_is.conf ${pkgdir}/etc/gen_is_xml.d/web-on-linhes_is.conf } -md5sums=('b04992d48e45411bdeed23e6aa9f95f7' +md5sums=('c38cbf334b0b6c35a1fd49da9924a0f5' '475addc194b389ecc4bc5cde3aa5a8ea') diff --git a/abs/extra/web-on-linhes/web-on-linhes.sh b/abs/extra/web-on-linhes/web-on-linhes.sh index 7d9b99b..115d0b0 100644 --- a/abs/extra/web-on-linhes/web-on-linhes.sh +++ b/abs/extra/web-on-linhes/web-on-linhes.sh @@ -7,7 +7,7 @@ irxPID=$! stop_xss.sh & xssPID=$! #Launches chrome in full screen -google-chrome --no-first-run --user-data-dir=/home/mythtv/.cache/google-chrome/Default/ --kiosk $@ +google-chrome --no-first-run --kiosk $@ #Once done, stops irxevent and stop_xss.sh kill $irxPID kill $xssPID |