added mingw-w64-angleproject

This commit is contained in:
Martchus 2016-02-21 01:29:19 +01:00
parent d26b05d6df
commit 4369019dc7
14 changed files with 13245 additions and 1 deletions

View File

@ -0,0 +1,152 @@
# Maintainer: Martchus <martchus@gmx.net>
# Contributor: ant32 <antreimer@gmail.com>
# Contributor: Filip Brcic <brcha@gna.org>
# Contributor: xantares
# Contributor: jellysheep <max DOT mail AT dameweb DOT de>
pkgname=mingw-w64-angleproject
pkgver=2.1.r5571.7a533f7
pkgrel=1
pkgdesc='Angle project (mingw-w64)'
arch=('any')
url='https://chromium.googlesource.com/angle/angle/+/master/README.md'
license=('BSD')
depends=('mingw-w64-crt')
makedepends=('mingw-w64-gcc' 'git' 'gyp-git' 'python')
options=('!strip' '!buildflags' 'staticlibs')
source=('angleproject::git+https://chromium.googlesource.com/angle/angle#commit=7a533f7'
0000-build-fix.patch
angleproject-export-shader-symbols.patch
angleproject-include-import-library-and-use-def-file.patch
libEGL_mingw32.def
libGLESv2_mingw32.def
d3d11sdklayers.h
versionhelpers.h
d3d10_1.h
dxgi1_2.h
sdkddkver.h
d3d11.h
dcomp{,types}.h
dcompanimation.h)
md5sums=('SKIP'
'3caf19560f2b8cac70f4a27b23093775'
'70615a5e327a53fd60cc4dec916842c0'
'2ca332d9c13bae82300d417595e1d48d'
'232a2f50c3b55247f95fecfab1bec60e'
'f5519fd7fc7f654c0805fbd802a5722d'
'02bef8272f7df5b8e7fc4bee89cf3c52'
'3cff6bdf031418eb81caa831f24b118a'
'b620d8418c7b5115621cfb89b8d3dc2b'
'f3b66ecb8cb5af6cb71a71de9234d26f'
'454393b36ee27e127dfa5fbf5d0adb0e'
'f376a93018814607ed6d52489177e952'
'9510881e40ee68377c07b144f1137398'
'66bb469db698d338d2ab614d08f88344'
'1bea7a037831f6762fc41b944fd97cf2')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
#pkgver() {
# cd "$srcdir/angleproject"
# grep -E "^#define ANGLE_M..OR_VERSION [0-9]+$" src/common/version.h | sed 's/#define ANGLE_M..OR_VERSION //' | tr '\n' '.'
# printf "r%s.%s\n" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
#}
prepare() {
cd "${srcdir}/angleproject"
# install additional .def files
cp ../libGLESv2_mingw32.def src/libGLESv2/
cp ../libEGL_mingw32.def src/libEGL/
# provide recent versions of some mingw-w64 header files
mkdir sysinclude
cp ../{d3d11sdklayers,dxgi1_2,versionhelpers,d3d10_1,sdkddkver,d3d11,dcomp,dcomptypes,dcompanimation}.h sysinclude/
cp sysinclude/{versionhelpers,VersionHelpers}.h
# remove .git directory to prevent: No rule to make target '../build-i686-w64-mingw32/.git/index', needed by 'out/Debug/obj/gen/angle/id/commit.h'.
rm -r .git
# patches from Fedora
patch -p1 -i "${srcdir}/0000-build-fix.patch"
# make sure an import library is created and the correct .def file is used during the build
patch -p1 -i "${srcdir}/angleproject-include-import-library-and-use-def-file.patch"
# WebKit depends on symbols which are used in the static library called translator_hlsl
# This static library is linked into the libGLESv2 shared library
# To allow building WebKit export the required symbols in the libGLESv2 shared library
patch -p1 -i "${srcdir}/angleproject-export-shader-symbols.patch"
# executing .bat scripts on Linux is a no-go so make this a no-op
echo "" > src/copy_compiler_dll.bat
chmod +x src/copy_compiler_dll.bat
}
build() {
cd "${srcdir}/angleproject"
export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
export CXXFLAGS="$CFLAGS -std=c++11 -msse2 -DUNICODE -D_UNICODE -g -I${srcdir}/angleproject/sysinclude -I${srcdir}/angleproject/src -I${srcdir}/angleproject/include"
unset LDFLAGS
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
export CXX="${_arch}-g++"
export AR="${_arch}-ar"
if [[ ${_arch} == i686-w64-mingw32 ]]; then
target="win32"
else
target="win64"
fi
gyp -D OS=win -D TARGET=$target --format make -D MSVS_VERSION="" --depth . -I ../build/common.gypi ../src/angle.gyp
# forcing non-concurrent build seems to be required
make -j1 V=1
# also build static libraries (which are needed by the static Qt build)
# (had to adjust the selection from Fedora, I hope I picked the right objects here)
${AR} rcs libGLESv2.a out/Debug/obj.target/src/common/*.o \
out/Debug/obj.target/src/compiler/translator/*.o \
out/Debug/obj.target/src/compiler/translator/depgraph/*.o \
out/Debug/obj.target/src/compiler/translator/timing/*.o \
out/Debug/obj.target/src/compiler/preprocessor/*.o \
out/Debug/obj.target/src/third_party/compiler/*.o \
out/Debug/obj.target/src/third_party/murmurhash/*.o \
out/Debug/obj.target/src/third_party/systeminfo/*.o \
out/Debug/obj.target/src/libGLESv2/*.o \
out/Debug/obj.target/src/libANGLE/renderer/*.o \
out/Debug/obj.target/src/libANGLE/renderer/d3d/*.o \
out/Debug/obj.target/src/libANGLE/renderer/d3d/d3d9/*.o \
out/Debug/obj.target/src/libANGLE/renderer/d3d/d3d11/*.o \
out/Debug/obj.target/src/libANGLE/renderer/d3d/*.o \
out/Debug/obj.target/src/libANGLE/renderer/d3d/d3d9/*.o \
out/Debug/obj.target/src/libANGLE/renderer/d3d/d3d11/*.o \
out/Debug/obj.target/src/libANGLE/renderer/gl/*.o \
out/Debug/obj.target/src/libANGLE/renderer/gl/wgl/*.o
${AR} rcs libEGL.a out/Debug/obj.target/src/common/*.o \
out/Debug/obj.target/src/libEGL/*.o
popd
done
}
package() {
for _arch in ${_architectures}; do
cd "${srcdir}/angleproject/build-${_arch}"
mkdir -p "${pkgdir}/usr/${_arch}/"{bin,lib,include}
install out/Debug/src/libGLESv2.so "${pkgdir}/usr/${_arch}/bin/libGLESv2.dll"
install out/Debug/src/libEGL.so "${pkgdir}/usr/${_arch}/bin/libEGL.dll"
install libGLESv2.a "${pkgdir}/usr/${_arch}/lib/"
install libEGL.a "${pkgdir}/usr/${_arch}/lib/"
install libGLESv2.dll.a "${pkgdir}/usr/${_arch}/lib/"
install libEGL.dll.a "${pkgdir}/usr/${_arch}/lib/"
cp -Rv ../include/* "${pkgdir}/usr/${_arch}/include/"
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*.a
done
}

View File

@ -0,0 +1,54 @@
--- angle/src/libGLESv2/libGLESv2.def.orig 2014-12-30 12:59:07.560620988 +0100
+++ angle/src/libGLESv2/libGLESv2.def 2014-12-30 13:00:22.381399755 +0100
@@ -144,6 +144,7 @@
glViewport @142
; Extensions
+ glTexImage3DOES @143
glBlitFramebufferANGLE @149
glRenderbufferStorageMultisampleANGLE @150
glDeleteFencesNV @151
@@ -291,3 +292,25 @@
ANGLEPlatformCurrent @290
ANGLEPlatformInitialize @291
ANGLEPlatformShutdown @292
+
+ ; EGL dependencies
+ glCreateContext @144 NONAME
+ glDestroyContext @145 NONAME
+ glMakeCurrent @146 NONAME
+ glGetCurrentContext @147 NONAME
+ glGetProcAddress @148 NONAME
+ glBindTexImage @158 NONAME
+ glCreateRenderer @177 NONAME
+ glDestroyRenderer @178 NONAME
+
+ ; WebKit dependencies
+ ShInitBuiltInResources @300 NONAME
+ ShInitialize @301 NONAME
+ ShDestruct @302 NONAME
+ ShGetInfo @303 NONAME
+ ShGetInfoLog @304 NONAME
+ ShGetVariableInfo @305 NONAME
+ ShGetObjectCode @306 NONAME
+ ShCompile @307 NONAME
+ ShConstructCompiler @308 NONAME
+
--- angle/src/libGLESv2/libGLESv2_mingw32.def.orig 2014-12-30 12:59:07.561620998 +0100
+++ angle/src/libGLESv2/libGLESv2_mingw32.def 2014-12-30 13:01:37.782182097 +0100
@@ -294,3 +294,15 @@
glBindTexImage@4 @158 NONAME
glCreateRenderer @177 NONAME
glDestroyRenderer @178 NONAME
+
+ ; WebKit dependencies
+ ShInitBuiltInResources @300 NONAME
+ ShInitialize @301 NONAME
+ ShDestruct @302 NONAME
+ ShGetInfo @303 NONAME
+ ShGetInfoLog @304 NONAME
+ ShGetVariableInfo @305 NONAME
+ ShGetObjectCode @306 NONAME
+ ShCompile @307 NONAME
+ ShConstructCompiler @308 NONAME
+

View File

@ -0,0 +1,38 @@
--- angleproject/src/libEGL.gypi.orig 2015-07-10 11:42:08.230786800 +0300
+++ angleproject/src/libEGL.gypi 2015-07-10 11:44:01.168491900 +0300
@@ -48,7 +48,16 @@
{
'msvs_enable_winphone' : '1',
}],
+ ['TARGET=="win32"', {
+ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a' ],
+ }],
+ ['TARGET=="win64"', {
+ 'ldflags': [ '-Wl,--out-implib,libEGL.dll.a' ],
+ }],
],
+ 'libraries': [
+ '-ldxguid -ld3d9 -lgdi32'
+ ]
},
],
}
--- angleproject/src/libGLESv2.gypi.orig 2015-07-10 11:41:58.223787600 +0300
+++ angleproject/src/libGLESv2.gypi 2015-07-10 11:44:36.585949800 +0300
@@ -826,7 +826,16 @@
{
'msvs_enable_winphone' : '1',
}],
+ ['TARGET=="win32"', {
+ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a' ],
+ }],
+ ['TARGET=="win64"', {
+ 'ldflags': [ '-Wl,--out-implib,libGLESv2.dll.a' ],
+ }],
],
+ 'libraries': [
+ '-ldxguid -ld3d9 -lgdi32'
+ ]
},
],
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,287 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _DCOMP_H_
#define _DCOMP_H_
#include <d2dbasetypes.h>
#ifndef D3DMATRIX_DEFINED
#include <d3d9types.h>
#endif
#include <d2d1_1.h>
#include <winapifamily.h>
#include <dcomptypes.h>
#include <dcompanimation.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#undef INTERFACE
#define INTERFACE IDCompositionSurface
DECLARE_INTERFACE_IID_(IDCompositionSurface,IUnknown,"bb8a4953-2c99-4f5a-96f5-4819027fa3ac")
{
STDMETHOD(BeginDraw)(THIS_ const RECT*,REFIID,void**,POINT*) PURE;
STDMETHOD(EndDraw)(THIS) PURE;
STDMETHOD(SuspendDraw)(THIS) PURE;
STDMETHOD(ResumeDraw)(THIS) PURE;
STDMETHOD(Scroll)(THIS_ const RECT*,const RECT*,int,int) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionVirtualSurface
DECLARE_INTERFACE_IID_(IDCompositionVirtualSurface,IDCompositionSurface,"ae471c51-5f53-4a24-8d3e-d0c39c30b3f0")
{
STDMETHOD(Resize)(THIS_ UINT,UINT) PURE;
STDMETHOD(Trim)(THIS_ const RECT*,UINT) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionEffect
DECLARE_INTERFACE_IID_(IDCompositionEffect,IUnknown,"ec81b08f-bfcb-4e8d-b193-a915587999e8")
{
};
#undef INTERFACE
#define INTERFACE IDCompositionTransform3D
DECLARE_INTERFACE_IID_(IDCompositionTransform3D,IDCompositionEffect,"71185722-246b-41f2-aad1-0443f7f4bfc2")
{
};
#undef INTERFACE
#define INTERFACE IDCompositionTransform
DECLARE_INTERFACE_IID_(IDCompositionTransform,IDCompositionTransform3D,"fd55faa7-37e0-4c20-95d2-9be45bc33f55")
{
};
#undef INTERFACE
#define INTERFACE IDCompositionTranslateTransform
DECLARE_INTERFACE_IID_(IDCompositionTranslateTransform,IDCompositionTransform,"06791122-c6f0-417d-8323-269e987f5954")
{
STDMETHOD(SetOffsetX)(THIS_ float) PURE;
STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetOffsetY)(THIS_ float) PURE;
STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionScaleTransform
DECLARE_INTERFACE_IID_(IDCompositionScaleTransform,IDCompositionTransform,"71fde914-40ef-45ef-bd51-68b037c339f9")
{
STDMETHOD(SetScaleX)(THIS_ float) PURE;
STDMETHOD(SetScaleX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetScaleY)(THIS_ float) PURE;
STDMETHOD(SetScaleY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterX)(THIS_ float) PURE;
STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterY)(THIS_ float) PURE;
STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionRotateTransform
DECLARE_INTERFACE_IID_(IDCompositionRotateTransform,IDCompositionTransform,"641ed83c-ae96-46c5-90dc-32774cc5c6d5")
{
STDMETHOD(SetAngle)(THIS_ float) PURE;
STDMETHOD(SetAngle)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterX)(THIS_ float) PURE;
STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterY)(THIS_ float) PURE;
STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionSkewTransform
DECLARE_INTERFACE_IID_(IDCompositionSkewTransform,IDCompositionTransform,"e57aa735-dcdb-4c72-9c61-0591f58889ee")
{
STDMETHOD(SetAngleX)(THIS_ float) PURE;
STDMETHOD(SetAngleX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetAngleY)(THIS_ float) PURE;
STDMETHOD(SetAngleY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterX)(THIS_ float) PURE;
STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterY)(THIS_ float) PURE;
STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionMatrixTransform
DECLARE_INTERFACE_IID_(IDCompositionMatrixTransform,IDCompositionTransform,"16cdff07-c503-419c-83f2-0965c7af1fa6")
{
STDMETHOD(SetMatrix)(THIS_ const D2D_MATRIX_3X2_F&) PURE;
STDMETHOD(SetMatrixElement)(THIS_ int,int,float) PURE;
STDMETHOD(SetMatrixElement)(THIS_ int,int,IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionTranslateTransform3D
DECLARE_INTERFACE_IID_(IDCompositionTranslateTransform3D,IDCompositionTransform3D,"91636d4b-9ba1-4532-aaf7-e3344994d788")
{
STDMETHOD(SetOffsetX)(THIS_ float) PURE;
STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetOffsetY)(THIS_ float) PURE;
STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetOffsetZ)(THIS_ float) PURE;
STDMETHOD(SetOffsetZ)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionScaleTransform3D
DECLARE_INTERFACE_IID_(IDCompositionScaleTransform3D,IDCompositionTransform3D,"2a9e9ead-364b-4b15-a7c4-a1997f78b389")
{
STDMETHOD(SetScaleX)(THIS_ float) PURE;
STDMETHOD(SetScaleX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetScaleY)(THIS_ float) PURE;
STDMETHOD(SetScaleY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetScaleZ)(THIS_ float) PURE;
STDMETHOD(SetScaleZ)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterX)(THIS_ float) PURE;
STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterY)(THIS_ float) PURE;
STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterZ)(THIS_ float) PURE;
STDMETHOD(SetCenterZ)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionRotateTransform3D
DECLARE_INTERFACE_IID_(IDCompositionRotateTransform3D,IDCompositionTransform3D,"d8f5b23f-d429-4a91-b55a-d2f45fd75b18")
{
STDMETHOD(SetAngle)(THIS_ float) PURE;
STDMETHOD(SetAngle)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetAxisX)(THIS_ float) PURE;
STDMETHOD(SetAxisX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetAxisY)(THIS_ float) PURE;
STDMETHOD(SetAxisY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetAxisZ)(THIS_ float) PURE;
STDMETHOD(SetAxisZ)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterX)(THIS_ float) PURE;
STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterY)(THIS_ float) PURE;
STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetCenterZ)(THIS_ float) PURE;
STDMETHOD(SetCenterZ)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionMatrixTransform3D
DECLARE_INTERFACE_IID_(IDCompositionMatrixTransform3D,IDCompositionTransform3D,"4b3363f0-643b-41b7-b6e0-ccf22d34467c")
{
STDMETHOD(SetMatrix)(THIS_ const D3DMATRIX&) PURE;
STDMETHOD(SetMatrixElement)(THIS_ int,int,float) PURE;
STDMETHOD(SetMatrixElement)(THIS_ int,int,IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionEffectGroup
DECLARE_INTERFACE_IID_(IDCompositionEffectGroup,IDCompositionEffect,"a7929a74-e6b2-4bd6-8b95-4040119ca34d")
{
STDMETHOD(SetOpacity)(THIS_ float) PURE;
STDMETHOD(SetOpacity)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetTransform3D)(THIS_ IDCompositionTransform3D*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionClip
DECLARE_INTERFACE_IID_(IDCompositionClip,IUnknown,"64ac3703-9d3f-45ec-a109-7cac0e7a13a7")
{
};
#undef INTERFACE
#define INTERFACE IDCompositionRectangleClip
DECLARE_INTERFACE_IID_(IDCompositionRectangleClip,IDCompositionClip,"9842ad7d-d9cf-4908-aed7-48b51da5e7c2")
{
STDMETHOD(SetLeft)(THIS_ float) PURE;
STDMETHOD(SetLeft)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetTop)(THIS_ float) PURE;
STDMETHOD(SetTop)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetRight)(THIS_ float) PURE;
STDMETHOD(SetRight)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetBottom)(THIS_ float) PURE;
STDMETHOD(SetBottom)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetTopLeftRadiusX)(THIS_ float) PURE;
STDMETHOD(SetTopLeftRadiusX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetTopLeftRadiusY)(THIS_ float) PURE;
STDMETHOD(SetTopLeftRadiusY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetTopRightRadiusX)(THIS_ float) PURE;
STDMETHOD(SetTopRightRadiusX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetTopRightRadiusY)(THIS_ float) PURE;
STDMETHOD(SetTopRightRadiusY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetBottomLeftRadiusX)(THIS_ float) PURE;
STDMETHOD(SetBottomLeftRadiusX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetBottomLeftRadiusY)(THIS_ float) PURE;
STDMETHOD(SetBottomLeftRadiusY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetBottomRightRadiusX)(THIS_ float) PURE;
STDMETHOD(SetBottomRightRadiusX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetBottomRightRadiusY)(THIS_ float) PURE;
STDMETHOD(SetBottomRightRadiusY)(THIS_ IDCompositionAnimation*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionTarget
DECLARE_INTERFACE_IID_(IDCompositionTarget,IUnknown,"eacdd04c-117e-4e17-88f4-d1b12b0e3d89")
{
STDMETHOD(SetRoot)(THIS_ IDCompositionVisual*) PURE;
};
#undef INTERFACE
#define INTERFACE IDCompositionDevice
DECLARE_INTERFACE_IID_(IDCompositionDevice,IUnknown,"c37ea93a-e7aa-450d-b16f-9746cb0407f3")
{
STDMETHOD(Commit)(THIS) PURE;
STDMETHOD(WaitForCommitCompletion)(THIS) PURE;
STDMETHOD(GetFrameStatistics)(THIS_ DCOMPOSITION_FRAME_STATISTICS*) PURE;
STDMETHOD(CreateTargetForHwnd)(THIS_ HWND,BOOL,IDCompositionTarget**) PURE;
STDMETHOD(CreateVisual)(THIS_ IDCompositionVisual**) PURE;
STDMETHOD(CreateSurface)(THIS_ UINT,UINT,DXGI_FORMAT,DXGI_ALPHA_MODE,IDCompositionSurface**) PURE;
STDMETHOD(CreateVirtualSurface)(THIS_ UINT,UINT,DXGI_FORMAT,DXGI_ALPHA_MODE,IDCompositionVirtualSurface**) PURE;
STDMETHOD(CreateSurfaceFromHandle)(THIS_ HANDLE,IUnknown**) PURE;
STDMETHOD(CreateSurfaceFromHwnd)(THIS_ HWND,IUnknown**) PURE;
STDMETHOD(CreateTranslateTransform)(THIS_ IDCompositionTranslateTransform**) PURE;
STDMETHOD(CreateScaleTransform)(THIS_ IDCompositionScaleTransform**) PURE;
STDMETHOD(CreateRotateTransform)(THIS_ IDCompositionRotateTransform**) PURE;
STDMETHOD(CreateSkewTransform)(THIS_ IDCompositionSkewTransform**) PURE;
STDMETHOD(CreateMatrixTransform)(THIS_ IDCompositionMatrixTransform**) PURE;
STDMETHOD(CreateTransformGroup)(THIS_ IDCompositionTransform**,UINT,IDCompositionTransform**) PURE;
STDMETHOD(CreateTranslateTransform3D)(THIS_ IDCompositionTranslateTransform3D**) PURE;
STDMETHOD(CreateScaleTransform3D)(THIS_ IDCompositionScaleTransform3D**) PURE;
STDMETHOD(CreateRotateTransform3D)(THIS_ IDCompositionRotateTransform3D**) PURE;
STDMETHOD(CreateMatrixTransform3D)(THIS_ IDCompositionMatrixTransform3D**) PURE;
STDMETHOD(CreateTransform3DGroup)(THIS_ IDCompositionTransform3D**,UINT,IDCompositionTransform3D**) PURE;
STDMETHOD(CreateEffectGroup)(THIS_ IDCompositionEffectGroup**) PURE;
STDMETHOD(CreateRectangleClip)(THIS_ IDCompositionRectangleClip**) PURE;
STDMETHOD(CreateAnimation)(THIS_ IDCompositionAnimation**) PURE;
STDMETHOD(CheckDeviceState)(THIS_ BOOL*) PURE;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDCompositionDevice,0xc37ea93a,0xe7aa,0x450d,0xb1,0x6f,0x97,0x46,0xcb,0x04,0x07,0xf3);
#endif
#undef INTERFACE
#define INTERFACE IDCompositionVisual
DECLARE_INTERFACE_IID_(IDCompositionVisual,IUnknown,"4d93059d-097b-4651-9a60-f0f25116e2f3")
{
STDMETHOD(SetOffsetX)(THIS_ float) PURE;
STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetOffsetY)(THIS_ float) PURE;
STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
STDMETHOD(SetTransform)(THIS_ const D2D_MATRIX_3X2_F&) PURE;
STDMETHOD(SetTransform)(THIS_ IDCompositionTransform*) PURE;
STDMETHOD(SetTransformParent)(THIS_ IDCompositionVisual*) PURE;
STDMETHOD(SetEffect)(THIS_ IDCompositionEffect*) PURE;
STDMETHOD(SetBitmapInterpolationMode)(THIS_ DCOMPOSITION_BITMAP_INTERPOLATION_MODE) PURE;
STDMETHOD(SetBorderMode)(THIS_ DCOMPOSITION_BORDER_MODE) PURE;
STDMETHOD(SetClip)(THIS_ const D2D_RECT_F&) PURE;
STDMETHOD(SetClip)(THIS_ IDCompositionClip*) PURE;
STDMETHOD(SetContent)(THIS_ IUnknown*) PURE;
STDMETHOD(AddVisual)(THIS_ IDCompositionVisual*,BOOL,IDCompositionVisual*) PURE;
STDMETHOD(RemoveVisual)(THIS_ IDCompositionVisual*) PURE;
STDMETHOD(RemoveAllVisuals)(THIS_) PURE;
STDMETHOD(SetCompositeMode)(THIS_ DCOMPOSITION_COMPOSITE_MODE) PURE;
};
#endif
#endif /* _DCOMP_H_ */

View File

@ -0,0 +1,250 @@
/*** Autogenerated by WIDL 1.6 from include/dcompanimation.idl - Do not edit ***/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __dcompanimation_h__
#define __dcompanimation_h__
/* Forward declarations */
#ifndef __IDCompositionAnimation_FWD_DEFINED__
#define __IDCompositionAnimation_FWD_DEFINED__
typedef interface IDCompositionAnimation IDCompositionAnimation;
#endif
/* Headers for imported files */
#include <wtypes.h>
#include <unknwn.h>
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************
* IDCompositionAnimation interface
*/
#ifndef __IDCompositionAnimation_INTERFACE_DEFINED__
#define __IDCompositionAnimation_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDCompositionAnimation, 0xcbfd91d9, 0x51b2, 0x45e4, 0xb3,0xde, 0xd1,0x9c,0xcf,0xb8,0x63,0xc5);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("cbfd91d9-51b2-45e4-b3de-d19ccfb863c5")
IDCompositionAnimation : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Reset(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAbsoluteBeginTime(
LARGE_INTEGER a) = 0;
virtual HRESULT STDMETHODCALLTYPE AddCubic(
double a,
float b,
float c,
float d,
float e) = 0;
virtual HRESULT STDMETHODCALLTYPE AddSinusoidal(
double a,
float b,
float c,
float d,
float e) = 0;
virtual HRESULT STDMETHODCALLTYPE AddRepeat(
double a,
double b) = 0;
virtual HRESULT STDMETHODCALLTYPE End(
double a,
float b) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDCompositionAnimation, 0xcbfd91d9, 0x51b2, 0x45e4, 0xb3,0xde, 0xd1,0x9c,0xcf,0xb8,0x63,0xc5)
#endif
#else
typedef struct IDCompositionAnimationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDCompositionAnimation* This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDCompositionAnimation* This);
ULONG (STDMETHODCALLTYPE *Release)(
IDCompositionAnimation* This);
/*** IDCompositionAnimation methods ***/
HRESULT (STDMETHODCALLTYPE *Reset)(
IDCompositionAnimation* This);
HRESULT (STDMETHODCALLTYPE *SetAbsoluteBeginTime)(
IDCompositionAnimation* This,
LARGE_INTEGER a);
HRESULT (STDMETHODCALLTYPE *AddCubic)(
IDCompositionAnimation* This,
double a,
float b,
float c,
float d,
float e);
HRESULT (STDMETHODCALLTYPE *AddSinusoidal)(
IDCompositionAnimation* This,
double a,
float b,
float c,
float d,
float e);
HRESULT (STDMETHODCALLTYPE *AddRepeat)(
IDCompositionAnimation* This,
double a,
double b);
HRESULT (STDMETHODCALLTYPE *End)(
IDCompositionAnimation* This,
double a,
float b);
END_INTERFACE
} IDCompositionAnimationVtbl;
interface IDCompositionAnimation {
CONST_VTBL IDCompositionAnimationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDCompositionAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDCompositionAnimation_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDCompositionAnimation_Release(This) (This)->lpVtbl->Release(This)
/*** IDCompositionAnimation methods ***/
#define IDCompositionAnimation_Reset(This) (This)->lpVtbl->Reset(This)
#define IDCompositionAnimation_SetAbsoluteBeginTime(This,a) (This)->lpVtbl->SetAbsoluteBeginTime(This,a)
#define IDCompositionAnimation_AddCubic(This,a,b,c,d,e) (This)->lpVtbl->AddCubic(This,a,b,c,d,e)
#define IDCompositionAnimation_AddSinusoidal(This,a,b,c,d,e) (This)->lpVtbl->AddSinusoidal(This,a,b,c,d,e)
#define IDCompositionAnimation_AddRepeat(This,a,b) (This)->lpVtbl->AddRepeat(This,a,b)
#define IDCompositionAnimation_End(This,a,b) (This)->lpVtbl->End(This,a,b)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDCompositionAnimation_QueryInterface(IDCompositionAnimation* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDCompositionAnimation_AddRef(IDCompositionAnimation* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDCompositionAnimation_Release(IDCompositionAnimation* This) {
return This->lpVtbl->Release(This);
}
/*** IDCompositionAnimation methods ***/
static FORCEINLINE HRESULT IDCompositionAnimation_Reset(IDCompositionAnimation* This) {
return This->lpVtbl->Reset(This);
}
static FORCEINLINE HRESULT IDCompositionAnimation_SetAbsoluteBeginTime(IDCompositionAnimation* This,LARGE_INTEGER a) {
return This->lpVtbl->SetAbsoluteBeginTime(This,a);
}
static FORCEINLINE HRESULT IDCompositionAnimation_AddCubic(IDCompositionAnimation* This,double a,float b,float c,float d,float e) {
return This->lpVtbl->AddCubic(This,a,b,c,d,e);
}
static FORCEINLINE HRESULT IDCompositionAnimation_AddSinusoidal(IDCompositionAnimation* This,double a,float b,float c,float d,float e) {
return This->lpVtbl->AddSinusoidal(This,a,b,c,d,e);
}
static FORCEINLINE HRESULT IDCompositionAnimation_AddRepeat(IDCompositionAnimation* This,double a,double b) {
return This->lpVtbl->AddRepeat(This,a,b);
}
static FORCEINLINE HRESULT IDCompositionAnimation_End(IDCompositionAnimation* This,double a,float b) {
return This->lpVtbl->End(This,a,b);
}
#endif
#endif
#endif
HRESULT STDMETHODCALLTYPE IDCompositionAnimation_Reset_Proxy(
IDCompositionAnimation* This);
void __RPC_STUB IDCompositionAnimation_Reset_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDCompositionAnimation_SetAbsoluteBeginTime_Proxy(
IDCompositionAnimation* This,
LARGE_INTEGER a);
void __RPC_STUB IDCompositionAnimation_SetAbsoluteBeginTime_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDCompositionAnimation_AddCubic_Proxy(
IDCompositionAnimation* This,
double a,
float b,
float c,
float d,
float e);
void __RPC_STUB IDCompositionAnimation_AddCubic_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDCompositionAnimation_AddSinusoidal_Proxy(
IDCompositionAnimation* This,
double a,
float b,
float c,
float d,
float e);
void __RPC_STUB IDCompositionAnimation_AddSinusoidal_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDCompositionAnimation_AddRepeat_Proxy(
IDCompositionAnimation* This,
double a,
double b);
void __RPC_STUB IDCompositionAnimation_AddRepeat_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDCompositionAnimation_End_Proxy(
IDCompositionAnimation* This,
double a,
float b);
void __RPC_STUB IDCompositionAnimation_End_Stub(
IRpcStubBuffer* This,
IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IDCompositionAnimation_INTERFACE_DEFINED__ */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __dcompanimation_h__ */

View File

@ -0,0 +1,44 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _DCOMPTYPES_H_
#define _DCOMPTYPES_H_
#include <dxgitype.h>
#include <dxgi1_2.h>
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE {
DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1,
DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff
};
enum DCOMPOSITION_BORDER_MODE {
DCOMPOSITION_BORDER_MODE_SOFT = 0,
DCOMPOSITION_BORDER_MODE_HARD = 1,
DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff
};
enum DCOMPOSITION_COMPOSITE_MODE {
DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0,
DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1,
DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2,
DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff
};
typedef struct {
LARGE_INTEGER lastFrameTime;
DXGI_RATIONAL currentCompositionRate;
LARGE_INTEGER currentTime;
LARGE_INTEGER timeFrequency;
LARGE_INTEGER nextEstimatedFrameTime;
} DCOMPOSITION_FRAME_STATISTICS;
#endif
#endif /* _DCOMPTYPES_H_ */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,53 @@
LIBRARY libEGL
EXPORTS
eglBindAPI@4 @14
eglBindTexImage@12 @20
eglChooseConfig@20 @7
eglCopyBuffers@12 @33
eglCreateContext@16 @23
eglCreatePbufferFromClientBuffer@20 @18
eglCreatePbufferSurface@12 @10
eglCreatePixmapSurface@16 @11
eglCreateWindowSurface@16 @9
eglDestroyContext@8 @24
eglDestroySurface@8 @12
eglGetConfigAttrib@16 @8
eglGetConfigs@16 @6
eglGetCurrentContext@0 @26
eglGetCurrentDisplay@0 @28
eglGetCurrentSurface@4 @27
eglGetDisplay@4 @2
eglGetError@0 @1
eglGetProcAddress@4 @34
eglInitialize@12 @3
eglMakeCurrent@16 @25
eglQueryAPI@0 @15
eglQueryContext@16 @29
eglQueryString@8 @5
eglQuerySurface@16 @13
eglReleaseTexImage@12 @21
eglReleaseThread@0 @17
eglSurfaceAttrib@16 @19
eglSwapBuffers@8 @32
eglSwapInterval@8 @22
eglTerminate@4 @4
eglWaitClient@0 @16
eglWaitGL@0 @30
eglWaitNative@4 @31
; Extensions
eglGetPlatformDisplayEXT@12 @35
eglQuerySurfacePointerANGLE@16 @36
eglPostSubBufferNV@24 @37
; 1.5 entry points
eglCreateSync@12 @38
eglDestroySyn@8 @39
eglClientWaitSync@16 @40
eglGetSyncAttrib@16 @41
eglCreateImage@20 @42
eglDestroyImage@8 @43
eglGetPlatformDisplay@12 @44
eglCreatePlatformWindowSurface@16 @45
eglCreatePlatformPixmapSurface@16 @46
eglWaitSync@12 @47

View File

@ -0,0 +1,304 @@
LIBRARY libGLESv2
EXPORTS
glActiveTexture@4 @1
glAttachShader@8 @2
glBindAttribLocation@12 @3
glBindBuffer@8 @4
glBindFramebuffer@8 @5
glBindRenderbuffer@8 @6
glBindTexture@8 @7
glBlendColor@16 @8
glBlendEquation@4 @9
glBlendEquationSeparate@8 @10
glBlendFunc@8 @11
glBlendFuncSeparate@16 @12
glBufferData@16 @13
glBufferSubData@16 @14
glCheckFramebufferStatus@4 @15
glClear@4 @16
glClearColor@16 @17
glClearDepthf@4 @18
glClearStencil@4 @19
glColorMask@16 @20
glCompileShader@4 @21
glCompressedTexImage2D@32 @22
glCompressedTexSubImage2D@36 @23
glCopyTexImage2D@32 @24
glCopyTexSubImage2D@32 @25
glCreateProgram@0 @26
glCreateShader@4 @27
glCullFace@4 @28
glDeleteBuffers@8 @29
glDeleteFramebuffers@8 @30
glDeleteProgram@4 @32
glDeleteRenderbuffers@8 @33
glDeleteShader@4 @34
glDeleteTextures@8 @31
glDepthFunc@4 @36
glDepthMask@4 @37
glDepthRangef@8 @38
glDetachShader@8 @35
glDisable@4 @39
glDisableVertexAttribArray@4 @40
glDrawArrays@12 @41
glDrawElements@16 @42
glEnable@4 @43
glEnableVertexAttribArray@4 @44
glFinish@0 @45
glFlush@0 @46
glFramebufferRenderbuffer@16 @47
glFramebufferTexture2D@20 @48
glFrontFace@4 @49
glGenBuffers@8 @50
glGenFramebuffers@8 @52
glGenRenderbuffers@8 @53
glGenTextures@8 @54
glGenerateMipmap@4 @51
glGetActiveAttrib@28 @55
glGetActiveUniform@28 @56
glGetAttachedShaders@16 @57
glGetAttribLocation@8 @58
glGetBooleanv@8 @59
glGetBufferParameteriv@12 @60
glGetError@0 @61
glGetFloatv@8 @62
glGetFramebufferAttachmentParameteriv@16 @63
glGetIntegerv@8 @64
glGetProgramInfoLog@16 @66
glGetProgramiv@12 @65
glGetRenderbufferParameteriv@12 @67
glGetShaderInfoLog@16 @69
glGetShaderPrecisionFormat@16 @70
glGetShaderSource@16 @71
glGetShaderiv@12 @68
glGetString@4 @72
glGetTexParameterfv@12 @73
glGetTexParameteriv@12 @74
glGetUniformLocation@8 @77
glGetUniformfv@12 @75
glGetUniformiv@12 @76
glGetVertexAttribPointerv@12 @80
glGetVertexAttribfv@12 @78
glGetVertexAttribiv@12 @79
glHint@8 @81
glIsBuffer@4 @82
glIsEnabled@4 @83
glIsFramebuffer@4 @84
glIsProgram@4 @85
glIsRenderbuffer@4 @86
glIsShader@4 @87
glIsTexture@4 @88
glLineWidth@4 @89
glLinkProgram@4 @90
glPixelStorei@8 @91
glPolygonOffset@8 @92
glReadPixels@28 @93
glReleaseShaderCompiler@0 @94
glRenderbufferStorage@16 @95
glSampleCoverage@8 @96
glScissor@16 @97
glShaderBinary@20 @98
glShaderSource@16 @99
glStencilFunc@12 @100
glStencilFuncSeparate@16 @101
glStencilMask@4 @102
glStencilMaskSeparate@8 @103
glStencilOp@12 @104
glStencilOpSeparate@16 @105
glTexImage2D@36 @106
glTexParameterf@12 @107
glTexParameterfv@12 @108
glTexParameteri@12 @109
glTexParameteriv@12 @110
glTexSubImage2D@36 @111
glUniform1f@8 @112
glUniform1fv@12 @113
glUniform1i@8 @114
glUniform1iv@12 @115
glUniform2f@12 @116
glUniform2fv@12 @117
glUniform2i@12 @118
glUniform2iv@12 @119
glUniform3f@16 @120
glUniform3fv@12 @121
glUniform3i@16 @122
glUniform3iv@12 @123
glUniform4f@20 @124
glUniform4fv@12 @125
glUniform4i@20 @126
glUniform4iv@12 @127
glUniformMatrix2fv@16 @128
glUniformMatrix3fv@16 @129
glUniformMatrix4fv@16 @130
glUseProgram@4 @131
glValidateProgram@4 @132
glVertexAttrib1f@8 @133
glVertexAttrib1fv@8 @134
glVertexAttrib2f@12 @135
glVertexAttrib2fv@8 @136
glVertexAttrib3f@16 @137
glVertexAttrib3fv@8 @138
glVertexAttrib4f@20 @139
glVertexAttrib4fv@8 @140
glVertexAttribPointer@24 @141
glViewport@16 @142
; Extensions
glTexImage3DOES@40 @143
glBlitFramebufferANGLE@40 @149
glRenderbufferStorageMultisampleANGLE@20 @150
glDeleteFencesNV@8 @151
glFinishFenceNV@4 @152
glGenFencesNV@8 @153
glGetFenceivNV@12 @154
glIsFenceNV@4 @155
glSetFenceNV@8 @156
glTestFenceNV@4 @157
glGetTranslatedShaderSourceANGLE@16 @159
glTexStorage2DEXT@20 @160
glGetGraphicsResetStatusEXT@0 @161
glReadnPixelsEXT@32 @162
glGetnUniformfvEXT@16 @163
glGetnUniformivEXT@16 @164
glGenQueriesEXT@8 @165
glDeleteQueriesEXT@8 @166
glIsQueryEXT@4 @167
glBeginQueryEXT@8 @168
glEndQueryEXT@4 @169
glGetQueryivEXT@12 @170
glGetQueryObjectuivEXT@12 @171
glVertexAttribDivisorANGLE@8 @172
glDrawArraysInstancedANGLE@16 @173
glDrawElementsInstancedANGLE@20 @174
glProgramBinaryOES@16 @175
glGetProgramBinaryOES@20 @176
glDrawBuffersEXT@8 @179
glMapBufferOES@8 @285
glUnmapBufferOES@4 @286
glGetBufferPointervOES@12 @287
glMapBufferRangeEXT@16 @288
glFlushMappedBufferRangeEXT@12 @289
; GLES 3.0 Functions
glReadBuffer@4 @180
glDrawRangeElements@24 @181
glTexImage3D@40 @182
glTexSubImage3D@44 @183
glCopyTexSubImage3D@36 @184
glCompressedTexImage3D@36 @185
glCompressedTexSubImage3D@44 @186
glGenQueries@8 @187
glDeleteQueries@8 @188
glIsQuery@4 @189
glBeginQuery@8 @190
glEndQuery@4 @191
glGetQueryiv@12 @192
glGetQueryObjectuiv@12 @193
glUnmapBuffer@4 @194
glGetBufferPointerv@12 @195
glDrawBuffers@8 @196
glUniformMatrix2x3fv@16 @197
glUniformMatrix3x2fv@16 @198
glUniformMatrix2x4fv@16 @199
glUniformMatrix4x2fv@16 @200
glUniformMatrix3x4fv@16 @201
glUniformMatrix4x3fv@16 @202
glBlitFramebuffer@40 @203
glRenderbufferStorageMultisample@20 @204
glFramebufferTextureLayer@20 @205
glMapBufferRange@16 @206
glFlushMappedBufferRange@12 @207
glBindVertexArray@4 @208
glDeleteVertexArrays@8 @209
glGenVertexArrays@8 @210
glIsVertexArray@4 @211
glGetIntegeri_v@12 @212
glBeginTransformFeedback@4 @213
glEndTransformFeedback@0 @214
glBindBufferRange@20 @215
glBindBufferBase@12 @216
glTransformFeedbackVaryings@16 @217
glGetTransformFeedbackVarying@28 @218
glVertexAttribIPointer@20 @219
glGetVertexAttribIiv@12 @220
glGetVertexAttribIuiv@12 @221
glVertexAttribI4i@20 @222
glVertexAttribI4ui@20 @223
glVertexAttribI4iv@8 @224
glVertexAttribI4uiv@8 @225
glGetUniformuiv@12 @226
glGetFragDataLocation@8 @227
glUniform1ui@8 @228
glUniform2ui@12 @229
glUniform3ui@16 @230
glUniform4ui@20 @231
glUniform1uiv@12 @232
glUniform2uiv@12 @233
glUniform3uiv@12 @234
glUniform4uiv@12 @235
glClearBufferiv@12 @236
glClearBufferuiv@12 @237
glClearBufferfv@12 @238
glClearBufferfi@16 @239
glGetStringi@8 @240
glCopyBufferSubData@20 @241
glGetUniformIndices@16 @242
glGetActiveUniformsiv@20 @243
glGetUniformBlockIndex@8 @244
glGetActiveUniformBlockiv@16 @245
glGetActiveUniformBlockName@20 @246
glUniformBlockBinding@12 @247
glDrawArraysInstanced@16 @248
glDrawElementsInstanced@20 @249
glFenceSync@8 @250
glIsSync@4 @251
glDeleteSync@4 @252
glClientWaitSync@16 @253
glWaitSync@16 @254
glGetInteger64v@8 @255
glGetSynciv@20 @256
glGetInteger64i_v@12 @257
glGetBufferParameteri64v@12 @258
glGenSamplers@8 @259
glDeleteSamplers@8 @260
glIsSampler@4 @261
glBindSampler@8 @262
glSamplerParameteri@12 @263
glSamplerParameteriv@12 @264
glSamplerParameterf@12 @265
glSamplerParameterfv@12 @266
glGetSamplerParameteriv@12 @267
glGetSamplerParameterfv@12 @268
glVertexAttribDivisor@8 @269
glBindTransformFeedback@8 @270
glDeleteTransformFeedbacks@8 @271
glGenTransformFeedbacks@8 @272
glIsTransformFeedback@4 @273
glPauseTransformFeedback@0 @274
glResumeTransformFeedback@0 @275
glGetProgramBinary@20 @276
glProgramBinary@16 @277
glProgramParameteri@12 @278
glInvalidateFramebuffer@12 @279
glInvalidateSubFramebuffer@28 @280
glTexStorage2D@20 @281
glTexStorage3D@24 @282
glGetInternalformativ@20 @283
; Setting up TRACE macro callbacks
SetTraceFunctionPointers @284
; ANGLE Platform Implementation
ANGLEPlatformCurrent @290
ANGLEPlatformInitialize @291
ANGLEPlatformShutdown @292
; EGL dependencies
glCreateContext @144 NONAME
glDestroyContext @145 NONAME
glMakeCurrent @146 NONAME
glGetCurrentContext @147 NONAME
glGetProcAddress@4 @148 NONAME
glBindTexImage@4 @158 NONAME
glCreateRenderer @177 NONAME
glDestroyRenderer @178 NONAME

View File

@ -0,0 +1,201 @@
/**
* sdkddkver.h: Version definitions for SDK and DDK. Originally
* from ReactOS PSDK/DDK, this file is in the public domain:
*
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_SDKDDKVER
#define _INC_SDKDDKVER
/* _WIN32_WINNT */
#define _WIN32_WINNT_NT4 0x0400
#define _WIN32_WINNT_WIN2K 0x0500
#define _WIN32_WINNT_WINXP 0x0501
#define _WIN32_WINNT_WS03 0x0502
#define _WIN32_WINNT_WIN6 0x0600
#define _WIN32_WINNT_VISTA 0x0600
#define _WIN32_WINNT_WS08 0x0600
#define _WIN32_WINNT_LONGHORN 0x0600
#define _WIN32_WINNT_WIN7 0x0601
#define _WIN32_WINNT_WIN8 0x0602
#define _WIN32_WINNT_WINBLUE 0x0603
/* _WIN32_IE */
#define _WIN32_IE_IE20 0x0200
#define _WIN32_IE_IE30 0x0300
#define _WIN32_IE_IE302 0x0302
#define _WIN32_IE_IE40 0x0400
#define _WIN32_IE_IE401 0x0401
#define _WIN32_IE_IE50 0x0500
#define _WIN32_IE_IE501 0x0501
#define _WIN32_IE_IE55 0x0550
#define _WIN32_IE_IE60 0x0600
#define _WIN32_IE_IE60SP1 0x0601
#define _WIN32_IE_IE60SP2 0x0603
#define _WIN32_IE_IE70 0x0700
#define _WIN32_IE_IE80 0x0800
#define _WIN32_IE_IE90 0x0900
#define _WIN32_IE_IE100 0x0a00
/* Mappings Between IE Version and Windows Version */
#define _WIN32_IE_NT4 _WIN32_IE_IE20
#define _WIN32_IE_NT4SP1 _WIN32_IE_IE20
#define _WIN32_IE_NT4SP2 _WIN32_IE_IE20
#define _WIN32_IE_NT4SP3 _WIN32_IE_IE302
#define _WIN32_IE_NT4SP4 _WIN32_IE_IE401
#define _WIN32_IE_NT4SP5 _WIN32_IE_IE401
#define _WIN32_IE_NT4SP6 _WIN32_IE_IE50
#define _WIN32_IE_WIN98 _WIN32_IE_IE401
#define _WIN32_IE_WIN98SE _WIN32_IE_IE50
#define _WIN32_IE_WINME _WIN32_IE_IE55
#define _WIN32_IE_WIN2K _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP1 _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP2 _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP3 _WIN32_IE_IE501
#define _WIN32_IE_WIN2KSP4 _WIN32_IE_IE501
#define _WIN32_IE_XP _WIN32_IE_IE60
#define _WIN32_IE_XPSP1 _WIN32_IE_IE60SP1
#define _WIN32_IE_XPSP2 _WIN32_IE_IE60SP2
#define _WIN32_IE_WS03 0x0602
#define _WIN32_IE_WS03SP1 _WIN32_IE_IE60SP2
#define _WIN32_IE_WIN6 _WIN32_IE_IE70
#define _WIN32_IE_LONGHORN _WIN32_IE_IE70
#define _WIN32_IE_WIN7 _WIN32_IE_IE80
#define _WIN32_IE_WIN8 _WIN32_IE_IE100
#define _WIN32_IE_WINBLUE _WIN32_IE_IE100
/* NTDDI_VERSION */
#ifndef NTDDI_WIN2K
#define NTDDI_WIN2K 0x05000000
#endif
#ifndef NTDDI_WIN2KSP1
#define NTDDI_WIN2KSP1 0x05000100
#endif
#ifndef NTDDI_WIN2KSP2
#define NTDDI_WIN2KSP2 0x05000200
#endif
#ifndef NTDDI_WIN2KSP3
#define NTDDI_WIN2KSP3 0x05000300
#endif
#ifndef NTDDI_WIN2KSP4
#define NTDDI_WIN2KSP4 0x05000400
#endif
#ifndef NTDDI_WINXP
#define NTDDI_WINXP 0x05010000
#endif
#ifndef NTDDI_WINXPSP1
#define NTDDI_WINXPSP1 0x05010100
#endif
#ifndef NTDDI_WINXPSP2
#define NTDDI_WINXPSP2 0x05010200
#endif
#ifndef NTDDI_WINXPSP3
#define NTDDI_WINXPSP3 0x05010300
#endif
#ifndef NTDDI_WINXPSP4
#define NTDDI_WINXPSP4 0x05010400
#endif
#define NTDDI_WS03 0x05020000
#define NTDDI_WS03SP1 0x05020100
#define NTDDI_WS03SP2 0x05020200
#define NTDDI_WS03SP3 0x05020300
#define NTDDI_WS03SP4 0x05020400
#define NTDDI_WIN6 0x06000000
#define NTDDI_WIN6SP1 0x06000100
#define NTDDI_WIN6SP2 0x06000200
#define NTDDI_WIN6SP3 0x06000300
#define NTDDI_WIN6SP4 0x06000400
#define NTDDI_VISTA NTDDI_WIN6
#define NTDDI_VISTASP1 NTDDI_WIN6SP1
#define NTDDI_VISTASP2 NTDDI_WIN6SP2
#define NTDDI_VISTASP3 NTDDI_WIN6SP3
#define NTDDI_VISTASP4 NTDDI_WIN6SP4
#define NTDDI_LONGHORN NTDDI_VISTA
#define NTDDI_WS08 NTDDI_WIN6SP1
#define NTDDI_WS08SP2 NTDDI_WIN6SP2
#define NTDDI_WS08SP3 NTDDI_WIN6SP3
#define NTDDI_WS08SP4 NTDDI_WIN6SP4
#define NTDDI_WIN7 0x06010000
#define NTDDI_WIN8 0x06020000
#define NTDDI_WINBLUE 0x06030000
/* Version Fields in NTDDI_VERSION */
#define OSVERSION_MASK 0xFFFF0000U
#define SPVERSION_MASK 0x0000FF00
#define SUBVERSION_MASK 0x000000FF
/* Macros to Extract Version Fields From NTDDI_VERSION */
#define OSVER(Version) ((Version) & OSVERSION_MASK)
#define SPVER(Version) (((Version) & SPVERSION_MASK) >> 8)
#define SUBVER(Version) (((Version) & SUBVERSION_MASK))
/* Macros to get the NTDDI for a given WIN32 */
#define NTDDI_VERSION_FROM_WIN32_WINNT2(Version) Version##0000
#define NTDDI_VERSION_FROM_WIN32_WINNT(Version) NTDDI_VERSION_FROM_WIN32_WINNT2(Version)
/* Select Default WIN32_WINNT Value */
#if !defined(_WIN32_WINNT) && !defined(_CHICAGO_)
#define _WIN32_WINNT _WIN32_WINNT_WS03
#endif
/* Choose NTDDI Version */
#ifndef NTDDI_VERSION
#ifdef _WIN32_WINNT
#define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
#else
#define NTDDI_VERSION NTDDI_WS03
#endif
#endif
/* Choose WINVER Value */
#ifndef WINVER
#ifdef _WIN32_WINNT
#define WINVER _WIN32_WINNT
#else
#define WINVER 0x0502
#endif
#endif
/* Choose IE Version */
#ifndef _WIN32_IE
#ifdef _WIN32_WINNT
#if (_WIN32_WINNT <= _WIN32_WINNT_NT4)
#define _WIN32_IE _WIN32_IE_IE50
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN2K)
#define _WIN32_IE _WIN32_IE_IE501
#elif (_WIN32_WINNT <= _WIN32_WINNT_WINXP)
#define _WIN32_IE _WIN32_IE_IE60
#elif (_WIN32_WINNT <= _WIN32_WINNT_WS03)
#define _WIN32_IE _WIN32_IE_WS03
#elif (_WIN32_WINNT <= _WIN32_WINNT_VISTA)
#define _WIN32_IE _WIN32_IE_LONGHORN
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN7)
#define _WIN32_IE _WIN32_IE_WIN7
#elif (_WIN32_WINNT <= _WIN32_WINNT_WIN8)
#define _WIN32_IE _WIN32_IE_WIN8
#else
#define _WIN32_IE 0x0a00
#endif
#else
#define _WIN32_IE 0x0700
#endif
#endif
/* Make Sure NTDDI_VERSION and _WIN32_WINNT Match */
#if ((OSVER(NTDDI_VERSION) == NTDDI_WIN2K) && (_WIN32_WINNT != _WIN32_WINNT_WIN2K)) || \
((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (_WIN32_WINNT != _WIN32_WINNT_WINXP)) || \
((OSVER(NTDDI_VERSION) == NTDDI_WS03) && (_WIN32_WINNT != _WIN32_WINNT_WS03)) || \
((OSVER(NTDDI_VERSION) == NTDDI_WINXP) && (_WIN32_WINNT != _WIN32_WINNT_WINXP))
#error NTDDI_VERSION and _WIN32_WINNT mismatch!
#endif
#endif /* _INC_SDKDDKVER */

View File

@ -0,0 +1,79 @@
/**
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#ifndef _INC_VERSIONHELPERS
#define _INC_VERSIONHELPERS
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && !defined(__WIDL__)
#ifdef __cplusplus
#define VERSIONHELPERAPI inline bool
#else
#define VERSIONHELPERAPI FORCEINLINE BOOL
#endif
VERSIONHELPERAPI IsWindowsVersionOrGreater(WORD major, WORD minor, WORD servpack)
{
OSVERSIONINFOEXW vi = {sizeof(vi),major,minor,0,0,{0},servpack};
return VerifyVersionInfoW(&vi, VER_MAJORVERSION|VER_MINORVERSION|VER_SERVICEPACKMAJOR,
VerSetConditionMask(VerSetConditionMask(VerSetConditionMask(0,
VER_MAJORVERSION,VER_GREATER_EQUAL),
VER_MINORVERSION,VER_GREATER_EQUAL),
VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL));
}
VERSIONHELPERAPI IsWindowsXPOrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 0);
}
VERSIONHELPERAPI IsWindowsXPSP1OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 1);
}
VERSIONHELPERAPI IsWindowsXPSP2OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 2);
}
VERSIONHELPERAPI IsWindowsXPSP3OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 3);
}
VERSIONHELPERAPI IsWindowsVistaOrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 0);
}
VERSIONHELPERAPI IsWindowsVistaSP1OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 1);
}
VERSIONHELPERAPI IsWindowsVistaSP2OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 2);
}
VERSIONHELPERAPI IsWindows7OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN7), LOBYTE(_WIN32_WINNT_WIN7), 0);
}
VERSIONHELPERAPI IsWindows7SP1OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN7), LOBYTE(_WIN32_WINNT_WIN7), 1);
}
VERSIONHELPERAPI IsWindows8OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN8), LOBYTE(_WIN32_WINNT_WIN8), 0);
}
VERSIONHELPERAPI IsWindows8Point1OrGreater(void) {
return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINBLUE), LOBYTE(_WIN32_WINNT_WINBLUE), 0);
}
VERSIONHELPERAPI IsWindowsServer(void) {
OSVERSIONINFOEXW vi = {sizeof(vi),0,0,0,0,{0},0,0,0,VER_NT_WORKSTATION};
return !VerifyVersionInfoW(&vi, VER_PRODUCT_TYPE, VerSetConditionMask(0, VER_PRODUCT_TYPE, VER_EQUAL));
}
#endif
#endif

View File

@ -226,4 +226,20 @@ OTHER_FILES += \
ghostscript/mingw-w64/libspectre.patch \
ghostscript/mingw-w64/mingw-build.patch \
lcms2/mingw-w64/PKGBUILD \
lcms2/mingw-w64/0002-need-jconfig-before-jmoreconfig.mingw
lcms2/mingw-w64/0002-need-jconfig-before-jmoreconfig.mingw \
angleproject/mingw-w64/0000-build-fix.patch \
angleproject/mingw-w64/PKGBUILD \
angleproject/mingw-w64/angleproject-export-shader-symbols.patch \
angleproject/mingw-w64/angleproject-include-import-library-and-use-def-file.patch \
angleproject/mingw-w64/d3d10_1.h \
angleproject/mingw-w64/d3d11.h \
angleproject/mingw-w64/angleproject/mingw-w64/d3d11sdklayers.h \
angleproject/mingw-w64/dcomp.h \
angleproject/mingw-w64/dcompanimation.h \
angleproject/mingw-w64/dcomptypes.h \
angleproject/mingw-w64/dxgi1_2.h \
angleproject/mingw-w64/libEGL_mingw32.def \
angleproject/mingw-w64/libGLESv2_mingw32.def \
angleproject/mingw-w64/sdkddkver.h \
angleproject/mingw-w64/versionhelpers.h