summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2017-05-04 10:15:23 +0200
committerJani Heikkinen <jani.heikkinen@qt.io>2017-05-11 08:35:54 +0000
commit3f1548ae82d4321b6fdbbf127dafbdf385374be0 (patch)
tree192268eed3cb0fea123e93c721d9319f372991fb
parent67f466505e1aed6b7f87e766141d081146b4159c (diff)
Restore behavior of using libEGL and libGLESv2 as default for angle
As Qt applications using OpenGL are linked against these libs, merging them into QtANGLE by default (780105f9062dec350bbe2a6800c40db3e6382578) was a binary incompatible change. This change restores the default behavior to the one before given change. If the user wants the libraries to be merged, he can pass combined-angle-lib to configure. Task-number: QTBUG-60373 Change-Id: Iedbd3f2ce9284fdde924cfae8d915d6d5fef00db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r--config_help.txt1
-rw-r--r--mkspecs/common/angle.conf13
-rw-r--r--mkspecs/common/msvc-desktop.conf2
-rw-r--r--mkspecs/common/windows-gles.conf7
-rw-r--r--mkspecs/common/winrt_winphone/qmake.conf2
-rw-r--r--mkspecs/features/win32/opengl.prf10
-rw-r--r--mkspecs/win32-g++/qmake.conf2
-rw-r--r--mkspecs/win32-icc/qmake.conf2
-rw-r--r--src/angle/src/QtANGLE/QtANGLE.pro611
-rw-r--r--src/angle/src/common/gles_common.pri605
-rw-r--r--src/angle/src/libEGL/libEGL.pro26
-rw-r--r--src/angle/src/libGLESv2/libGLESv2.pro12
-rw-r--r--src/angle/src/src.pro10
-rw-r--r--src/gui/configure.json12
-rw-r--r--src/plugins/platforms/windows/windows.pri11
15 files changed, 707 insertions, 619 deletions
diff --git a/config_help.txt b/config_help.txt
index 2cf8c8d885..d1b0ac56b0 100644
--- a/config_help.txt
+++ b/config_help.txt
@@ -256,6 +256,7 @@ Gui, printing, widget options:
-opengles3 ........... Enable OpenGL ES 3.x support instead of ES 2.x [auto]
-angle ............... Use bundled ANGLE to support OpenGL ES 2.0 [auto]
(Windows only)
+ -combined-angle-lib .. Merge LibEGL and LibGLESv2 into LibANGLE (Windows only)
-qpa <name> .......... Select default QPA backend (e.g., xcb, cocoa, windows)
-xcb-xlib............. Enable Xcb-Xlib support [auto]
diff --git a/mkspecs/common/angle.conf b/mkspecs/common/angle.conf
new file mode 100644
index 0000000000..fad0e719d2
--- /dev/null
+++ b/mkspecs/common/angle.conf
@@ -0,0 +1,13 @@
+# Renaming these files requires that the LIBRARY entry of their corresponding
+# def files are also updated to reflect the name.
+# The .def files are found in the angle directories:
+#
+# qtbase\src\3rdparty\angle\src\libEGL\libEGL[d?].def
+# qtbase\src\3rdparty\angle\src\libEGL\libGLESv2[d?].def
+#
+# If a combined ANGLE library is used, the def files will automatically be
+# combined into QtANGLE[d?].def by QtAngle.pro.
+
+LIBEGL_NAME = libEGL
+LIBGLESV2_NAME = libGLESv2
+LIBQTANGLE_NAME = QtANGLE
diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf
index d0d8869036..acc8d235a2 100644
--- a/mkspecs/common/msvc-desktop.conf
+++ b/mkspecs/common/msvc-desktop.conf
@@ -106,4 +106,4 @@ VCPROJ_EXTENSION = .vcproj
VCSOLUTION_EXTENSION = .sln
VCPROJ_KEYWORD = Qt4VSv1.0
-include(windows-gles.conf)
+include(angle.conf)
diff --git a/mkspecs/common/windows-gles.conf b/mkspecs/common/windows-gles.conf
deleted file mode 100644
index 78b96c42d4..0000000000
--- a/mkspecs/common/windows-gles.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# Output name of Qt's ANGLE GLES library. (Note that this is different from upstream ANGLE)
-LIBQTANGLE_NAME = QtANGLE
-
-# Set up .lib files used for linking
-QMAKE_LIBS_OPENGL_ES2 = -l$${LIBQTANGLE_NAME} $$QMAKE_LIBS_OPENGL_ES2
-QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBQTANGLE_NAME}d $$QMAKE_LIBS_OPENGL_ES2_DEBUG
-
diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf
index 818264c46b..8e0aba7371 100644
--- a/mkspecs/common/winrt_winphone/qmake.conf
+++ b/mkspecs/common/winrt_winphone/qmake.conf
@@ -94,6 +94,6 @@ WINRT_ASSETS_PATH = $$PWD/assets
WINRT_MANIFEST.capabilities = defaults
WINRT_MANIFEST.capabilities_device = defaults
-include(../windows-gles.conf)
+include(../angle.conf)
load(qt_config)
diff --git a/mkspecs/features/win32/opengl.prf b/mkspecs/features/win32/opengl.prf
index ebc29d0923..c6fba7770f 100644
--- a/mkspecs/features/win32/opengl.prf
+++ b/mkspecs/features/win32/opengl.prf
@@ -1,4 +1,14 @@
+QT_FOR_CONFIG += gui
+
qtConfig(opengles2) {
+ # Depending on the configuration we use libQtANGLE or libEGL and libGLESv2
+ qtConfig(combined-angle-lib) {
+ QMAKE_LIBS_OPENGL_ES2 = -l$${LIBQTANGLE_NAME} $$QMAKE_LIBS_OPENGL_ES2
+ QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBQTANGLE_NAME}d $$QMAKE_LIBS_OPENGL_ES2_DEBUG
+ } else {
+ QMAKE_LIBS_OPENGL_ES2 = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} $$QMAKE_LIBS_OPENGL_ES2
+ QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d $$QMAKE_LIBS_OPENGL_ES2_DEBUG
+ }
# For Desktop, use the ANGLE library location passed on from configure.
INCLUDEPATH += $$QMAKE_INCDIR_OPENGL_ES2
CONFIG(debug, debug|release) {
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index d6b08f5323..625758c751 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -77,7 +77,7 @@ QMAKE_STRIPFLAGS_LIB += --strip-unneeded
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
-include(../common/windows-gles.conf)
+include(../common/angle.conf)
include(../common/gcc-base.conf)
load(qt_config)
diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf
index ab0be95543..ee95f8a866 100644
--- a/mkspecs/win32-icc/qmake.conf
+++ b/mkspecs/win32-icc/qmake.conf
@@ -57,6 +57,6 @@ QMAKE_LIB = xilib /NOLOGO
DSP_EXTENSION = .dsp
-include(../common/windows-gles.conf)
+include(../common/angle.conf)
load(qt_config)
diff --git a/src/angle/src/QtANGLE/QtANGLE.pro b/src/angle/src/QtANGLE/QtANGLE.pro
index ee3111b6ee..0f8e4de536 100644
--- a/src/angle/src/QtANGLE/QtANGLE.pro
+++ b/src/angle/src/QtANGLE/QtANGLE.pro
@@ -1,9 +1,8 @@
-CONFIG += simd no_batch
-include(../common/common.pri)
-TARGET=$$qtLibraryTarget($${LIBQTANGLE_NAME})
-DEF_FILE_TARGET=$${TARGET}
+include(../common/gles_common.pri)
-INCLUDEPATH += $$OUT_PWD/.. $$ANGLE_DIR/src/libANGLE
+TARGET = $$qtLibraryTarget($${LIBQTANGLE_NAME})
+
+DEF_FILE_TARGET = $${TARGET}
!build_pass {
# Merge libGLESv2 and libEGL .def files located under $$ANGLE_DIR into QtANGLE$${SUFFIX}.def
@@ -54,361 +53,7 @@ INCLUDEPATH += $$OUT_PWD/.. $$ANGLE_DIR/src/libANGLE
}
}
-# Remember to adapt tools/configure/configureapp.cpp if the Direct X version changes.
-!winrt: \
- LIBS_PRIVATE += -ld3d9
-winrt: \
- LIBS_PRIVATE += -ld3dcompiler -ldxgi -ld3d11
-
-LIBS_PRIVATE += -ldxguid
-
-STATICLIBS = translator preprocessor
-for(libname, STATICLIBS) {
- # Appends 'd' to the library for debug builds and builds up the fully
- # qualified path to pass to the linker.
- staticlib = $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}$$qtLibraryTarget($$libname).$${QMAKE_EXTENSION_STATICLIB}
- LIBS_PRIVATE += $$staticlib
- PRE_TARGETDEPS += $$staticlib
-}
-
-DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI=
-!winrt: DEFINES += ANGLE_ENABLE_D3D9 ANGLE_SKIP_DXGI_1_2_CHECK
-
-HEADERS += \
- $$ANGLE_DIR/src/common/mathutil.h \
- $$ANGLE_DIR/src/common/blocklayout.h \
- $$ANGLE_DIR/src/common/NativeWindow.h \
- $$ANGLE_DIR/src/common/shadervars.h \
- $$ANGLE_DIR/src/common/utilities.h \
- $$ANGLE_DIR/src/common/MemoryBuffer.h \
- $$ANGLE_DIR/src/common/angleutils.h \
- $$ANGLE_DIR/src/common/debug.h \
- $$ANGLE_DIR/src/common/event_tracer.h \
- $$ANGLE_DIR/src/libANGLE/angletypes.h \
- $$ANGLE_DIR/src/libANGLE/AttributeMap.h \
- $$ANGLE_DIR/src/libANGLE/BinaryStream.h \
- $$ANGLE_DIR/src/libANGLE/Buffer.h \
- $$ANGLE_DIR/src/libANGLE/Caps.h \
- $$ANGLE_DIR/src/libANGLE/Compiler.h \
- $$ANGLE_DIR/src/libANGLE/Config.h \
- $$ANGLE_DIR/src/libANGLE/Constants.h \
- $$ANGLE_DIR/src/libANGLE/Context.h \
- $$ANGLE_DIR/src/libANGLE/Data.h \
- $$ANGLE_DIR/src/libANGLE/Device.h \
- $$ANGLE_DIR/src/libANGLE/Display.h \
- $$ANGLE_DIR/src/libANGLE/Error.h \
- $$ANGLE_DIR/src/libANGLE/features.h \
- $$ANGLE_DIR/src/libANGLE/Fence.h \
- $$ANGLE_DIR/src/libANGLE/formatutils.h \
- $$ANGLE_DIR/src/libANGLE/Framebuffer.h \
- $$ANGLE_DIR/src/libANGLE/FramebufferAttachment.h \
- $$ANGLE_DIR/src/libANGLE/HandleAllocator.h \
- $$ANGLE_DIR/src/libANGLE/ImageIndex.h \
- $$ANGLE_DIR/src/libANGLE/IndexRangeCache.h \
- $$ANGLE_DIR/src/libANGLE/Program.h \
- $$ANGLE_DIR/src/libANGLE/Query.h \
- $$ANGLE_DIR/src/libANGLE/queryconversions.h \
- $$ANGLE_DIR/src/libANGLE/RefCountObject.h \
- $$ANGLE_DIR/src/libANGLE/Renderbuffer.h \
- $$ANGLE_DIR/src/libANGLE/ResourceManager.h \
- $$ANGLE_DIR/src/libANGLE/Sampler.h \
- $$ANGLE_DIR/src/libANGLE/Shader.h \
- $$ANGLE_DIR/src/libANGLE/State.h \
- $$ANGLE_DIR/src/libANGLE/Surface.h \
- $$ANGLE_DIR/src/libANGLE/Texture.h \
- $$ANGLE_DIR/src/libANGLE/TransformFeedback.h \
- $$ANGLE_DIR/src/libANGLE/Uniform.h \
- $$ANGLE_DIR/src/libANGLE/validationEGL.h \
- $$ANGLE_DIR/src/libANGLE/validationES.h \
- $$ANGLE_DIR/src/libANGLE/validationES2.h \
- $$ANGLE_DIR/src/libANGLE/validationES3.h \
- $$ANGLE_DIR/src/libANGLE/VertexArray.h \
- $$ANGLE_DIR/src/libANGLE/VertexAttribute.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/BufferD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/CompilerD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/copyimage.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/DeviceD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/DisplayD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/DynamicHLSL.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/EGLImageD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/formatutilsD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/FramebufferD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/generatemip.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/HLSLCompiler.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ImageD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/imageformats.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexBuffer.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexDataManager.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage_etc.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ProgramD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderbufferD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/RendererD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderTargetD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderExecutableD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/SurfaceD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/SwapChainD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/TextureD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/TextureStorage.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/TransformFeedbackD3D.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/VaryingPacking.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexBuffer.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexDataManager.h \
- $$ANGLE_DIR/src/libANGLE/renderer/BufferImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/CompilerImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/DeviceImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/DisplayImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/FenceNVImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/FenceSyncImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/FramebufferImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/Image.h \
- $$ANGLE_DIR/src/libANGLE/renderer/ImplFactory.h \
- $$ANGLE_DIR/src/libANGLE/renderer/ProgramImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/QueryImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/RenderbufferImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/Renderer.h \
- $$ANGLE_DIR/src/libANGLE/renderer/ShaderImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/SurfaceImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/TextureImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/TransformFeedbackImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/VertexArrayImpl.h \
- $$ANGLE_DIR/src/libANGLE/renderer/Workarounds.h \
- $$ANGLE_DIR/src/libANGLE/resource.h \
- $$ANGLE_DIR/src/libANGLE/ResourceManager.h \
- $$ANGLE_DIR/src/libANGLE/Sampler.h \
- $$ANGLE_DIR/src/libANGLE/Shader.h \
- $$ANGLE_DIR/src/libANGLE/State.h \
- $$ANGLE_DIR/src/libANGLE/Texture.h \
- $$ANGLE_DIR/src/libANGLE/TransformFeedback.h \
- $$ANGLE_DIR/src/libANGLE/Uniform.h \
- $$ANGLE_DIR/src/libANGLE/validationES2.h \
- $$ANGLE_DIR/src/libANGLE/validationES3.h \
- $$ANGLE_DIR/src/libANGLE/validationES.h \
- $$ANGLE_DIR/src/libANGLE/VertexArray.h \
- $$ANGLE_DIR/src/libANGLE/VertexAttribute.h \
- $$ANGLE_DIR/src/libANGLE/vertexconversion.h \
- $$ANGLE_DIR/src/libGLESv2/entry_points_egl.h \
- $$ANGLE_DIR/src/libGLESv2/entry_points_egl_ext.h \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0.h \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0_ext.h \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0.h \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0_ext.h \
- $$ANGLE_DIR/src/libGLESv2/global_state.h \
- $$ANGLE_DIR/src/libGLESv2/resource.h \
- $$ANGLE_DIR/src/third_party/murmurhash/MurmurHash3.h
-
-SOURCES += \
- $$ANGLE_DIR/src/common/mathutil.cpp \
- $$ANGLE_DIR/src/common/utilities.cpp \
- $$ANGLE_DIR/src/common/MemoryBuffer.cpp \
- $$ANGLE_DIR/src/common/angleutils.cpp \
- $$ANGLE_DIR/src/common/debug.cpp \
- $$ANGLE_DIR/src/common/event_tracer.cpp \
- $$ANGLE_DIR/src/common/Float16ToFloat32.cpp \
- $$ANGLE_DIR/src/third_party/murmurhash/MurmurHash3.cpp \
- $$ANGLE_DIR/src/libANGLE/angletypes.cpp \
- $$ANGLE_DIR/src/libANGLE/AttributeMap.cpp \
- $$ANGLE_DIR/src/libANGLE/Buffer.cpp \
- $$ANGLE_DIR/src/libANGLE/Caps.cpp \
- $$ANGLE_DIR/src/libANGLE/Compiler.cpp \
- $$ANGLE_DIR/src/libANGLE/Config.cpp \
- $$ANGLE_DIR/src/libANGLE/Context.cpp \
- $$ANGLE_DIR/src/libANGLE/Data.cpp \
- $$ANGLE_DIR/src/libANGLE/Device.cpp \
- $$ANGLE_DIR/src/libANGLE/Display.cpp \
- $$ANGLE_DIR/src/libANGLE/Error.cpp \
- $$ANGLE_DIR/src/libANGLE/Fence.cpp \
- $$ANGLE_DIR/src/libANGLE/formatutils.cpp \
- $$ANGLE_DIR/src/libANGLE/Framebuffer.cpp \
- $$ANGLE_DIR/src/libANGLE/FramebufferAttachment.cpp \
- $$ANGLE_DIR/src/libANGLE/HandleAllocator.cpp \
- $$ANGLE_DIR/src/libANGLE/Image.cpp \
- $$ANGLE_DIR/src/libANGLE/ImageIndex.cpp \
- $$ANGLE_DIR/src/libANGLE/IndexRangeCache.cpp \
- $$ANGLE_DIR/src/libANGLE/Platform.cpp \
- $$ANGLE_DIR/src/libANGLE/Program.cpp \
- $$ANGLE_DIR/src/libANGLE/Query.cpp \
- $$ANGLE_DIR/src/libANGLE/queryconversions.cpp \
- $$ANGLE_DIR/src/libANGLE/Renderbuffer.cpp \
- $$ANGLE_DIR/src/libANGLE/ResourceManager.cpp \
- $$ANGLE_DIR/src/libANGLE/Sampler.cpp \
- $$ANGLE_DIR/src/libANGLE/Shader.cpp \
- $$ANGLE_DIR/src/libANGLE/State.cpp \
- $$ANGLE_DIR/src/libANGLE/Surface.cpp \
- $$ANGLE_DIR/src/libANGLE/Texture.cpp \
- $$ANGLE_DIR/src/libANGLE/TransformFeedback.cpp \
- $$ANGLE_DIR/src/libANGLE/Uniform.cpp \
- $$ANGLE_DIR/src/libANGLE/validationEGL.cpp \
- $$ANGLE_DIR/src/libANGLE/validationES.cpp \
- $$ANGLE_DIR/src/libANGLE/validationES2.cpp \
- $$ANGLE_DIR/src/libANGLE/validationES3.cpp \
- $$ANGLE_DIR/src/libANGLE/VertexArray.cpp \
- $$ANGLE_DIR/src/libANGLE/VertexAttribute.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/DeviceImpl.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/DisplayImpl.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/Renderer.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/SurfaceImpl.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/BufferD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/CompilerD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/copyimage.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/DeviceD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/DisplayD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/DynamicHLSL.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/EGLImageD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/formatutilsD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/FramebufferD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/HLSLCompiler.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ImageD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexBuffer.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexDataManager.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage_etc.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ProgramD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/RendererD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderTargetD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/SurfaceD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/TextureD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/TransformFeedbackD3D.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/VaryingPacking.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexBuffer.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexDataManager.cpp \
- $$ANGLE_DIR/src/libGLESv2/entry_points_egl.cpp \
- $$ANGLE_DIR/src/libGLESv2/entry_points_egl_ext.cpp \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0.cpp \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0_ext.cpp \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0.cpp \
- $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0_ext.cpp \
- $$ANGLE_DIR/src/libGLESv2/global_state.cpp \
- $$ANGLE_DIR/src/libGLESv2/libGLESv2.cpp \
- $$ANGLE_DIR/src/libEGL/libEGL.cpp
-
-SSE2_SOURCES += $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimageSSE2.cpp
-
-DEBUG_SOURCE = $$ANGLE_DIR/src/libANGLE/Debug.cpp
-debug_copy.input = DEBUG_SOURCE
-debug_copy.output = $$ANGLE_DIR/src/libANGLE/Debug2.cpp
-debug_copy.commands = $$QMAKE_COPY \"${QMAKE_FILE_IN}\" \"${QMAKE_FILE_OUT}\"
-debug_copy.variable_out = GENERATED_SOURCES
-debug_copy.CONFIG = target_predeps
-QMAKE_EXTRA_COMPILERS += debug_copy
-
-angle_d3d11 {
- HEADERS += \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Blit11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Buffer11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Clear11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Fence11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/formatutils11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Image11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/internal_format_initializer_table.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/load_functions_table.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Query11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Renderer11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/StateManager11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/swizzle_format_info.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Trim11.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/texture_format_table.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h
-
- SOURCES += \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Image11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/internal_format_initializer_table.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/load_functions_table_autogen.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Query11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/swizzle_format_info_autogen.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp
-}
-
-!winrt {
- HEADERS += \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Blit9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Buffer9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Fence9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/formatutils9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Image9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Query9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Renderer9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/StateManager9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/SwapChain9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h \
- $$ANGLE_DIR/src/third_party/systeminfo/SystemInfo.h
-
- SOURCES += \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Blit9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Fence9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Image9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Query9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/StateManager9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp \
- $$ANGLE_DIR/src/third_party/systeminfo/SystemInfo.cpp
-} else {
- HEADERS += \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h
-
- SOURCES += \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp \
- $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp
-}
+SOURCES += $$ANGLE_DIR/src/libEGL/libEGL.cpp
!static {
DEF_FILE = $$PWD/$${DEF_FILE_TARGET}.def
@@ -417,253 +62,9 @@ angle_d3d11 {
DEFINES += DllMain=DllMain_ANGLE # prevent symbol from conflicting with the user's DllMain
}
-#load_functions.target = load_functions
-#load_functions.commands = python $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/gen_load_functions_table.py \
-# > $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/gen_load_functions_table.cpp
-#QMAKE_EXTRA_TARGETS += load_functions
-
-# HLSL shaders
-BLITVS = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.vs
-standardvs.input = BLITVS
-standardvs.type = vs_2_0
-standardvs.output = standardvs.h
-flipyvs.input = BLITVS
-flipyvs.type = vs_2_0
-flipyvs.output = flipyvs.h
-
-BLITPS = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.ps
-passthroughps.input = BLITPS
-passthroughps.type = ps_2_0
-passthroughps.output = passthroughps.h
-luminanceps.input = BLITPS
-luminanceps.type = ps_2_0
-luminanceps.output = luminanceps.h
-componentmaskps.input = BLITPS
-componentmaskps.type = ps_2_0
-componentmaskps.output = componentmaskps.h
-
-PASSTHROUGH2D = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
-VS_Passthrough2D.input = PASSTHROUGH2D
-VS_Passthrough2D.type = vs_4_0_level_9_3
-VS_Passthrough2D.output = passthrough2d11vs.h
-PS_PassthroughRGBA2D.input = PASSTHROUGH2D
-PS_PassthroughRGBA2D.type = ps_4_0_level_9_3
-PS_PassthroughRGBA2D.output = passthroughrgba2d11ps.h
-PS_PassthroughRGB2D.input = PASSTHROUGH2D
-PS_PassthroughRGB2D.type = ps_4_0_level_9_3
-PS_PassthroughRGB2D.output = passthroughrgb2d11ps.h
-PS_PassthroughRG2D.input = PASSTHROUGH2D
-PS_PassthroughRG2D.type = ps_4_0_level_9_3
-PS_PassthroughRG2D.output = passthroughrg2d11ps.h
-PS_PassthroughR2D.input = PASSTHROUGH2D
-PS_PassthroughR2D.type = ps_4_0_level_9_3
-PS_PassthroughR2D.output = passthroughr2d11ps.h
-PS_PassthroughLum2D.input = PASSTHROUGH2D
-PS_PassthroughLum2D.type = ps_4_0_level_9_3
-PS_PassthroughLum2D.output = passthroughlum2d11ps.h
-PS_PassthroughLumAlpha2D.input = PASSTHROUGH2D
-PS_PassthroughLumAlpha2D.type = ps_4_0_level_9_3
-PS_PassthroughLumAlpha2D.output = passthroughlumalpha2d11ps.h
-PS_PassthroughDepth2D.input = PASSTHROUGH2D
-PS_PassthroughDepth2D.type = ps_4_0
-PS_PassthroughDepth2D.output = passthroughdepth2d11ps.h
-PS_PassthroughRGBA2DUI.input = PASSTHROUGH2D
-PS_PassthroughRGBA2DUI.type = ps_4_0
-PS_PassthroughRGBA2DUI.output = passthroughrgba2dui11ps.h
-PS_PassthroughRGBA2DI.input = PASSTHROUGH2D
-PS_PassthroughRGBA2DI.type = ps_4_0
-PS_PassthroughRGBA2DI.output = passthroughrgba2di11ps.h
-PS_PassthroughRGB2DUI.input = PASSTHROUGH2D
-PS_PassthroughRGB2DUI.type = ps_4_0
-PS_PassthroughRGB2DUI.output = passthroughrgb2dui11ps.h
-PS_PassthroughRGB2DI.input = PASSTHROUGH2D
-PS_PassthroughRGB2DI.type = ps_4_0
-PS_PassthroughRGB2DI.output = passthroughrgb2di11ps.h
-PS_PassthroughRG2DUI.input = PASSTHROUGH2D
-PS_PassthroughRG2DUI.type = ps_4_0
-PS_PassthroughRG2DUI.output = passthroughrg2dui11ps.h
-PS_PassthroughRG2DI.input = PASSTHROUGH2D
-PS_PassthroughRG2DI.type = ps_4_0
-PS_PassthroughRG2DI.output = passthroughrg2di11ps.h
-PS_PassthroughR2DUI.input = PASSTHROUGH2D
-PS_PassthroughR2DUI.type = ps_4_0
-PS_PassthroughR2DUI.output = passthroughr2dui11ps.h
-PS_PassthroughR2DI.input = PASSTHROUGH2D
-PS_PassthroughR2DI.type = ps_4_0
-PS_PassthroughR2DI.output = passthroughr2di11ps.h
-
-CLEAR = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Clear11.hlsl
-VS_ClearFloat.input = CLEAR
-VS_ClearFloat.type = vs_4_0_level_9_3
-VS_ClearFloat.output = clearfloat11vs.h
-PS_ClearFloat_FL9.input = CLEAR
-PS_ClearFloat_FL9.type = ps_4_0_level_9_3
-PS_ClearFloat_FL9.output = clearfloat11_fl9ps.h
-PS_ClearFloat.input = CLEAR
-PS_ClearFloat.type = ps_4_0
-PS_ClearFloat.output = clearfloat11ps.h
-VS_ClearUint.input = CLEAR
-VS_ClearUint.type = vs_4_0
-VS_ClearUint.output = clearuint11vs.h
-PS_ClearUint.input = CLEAR
-PS_ClearUint.type = ps_4_0
-PS_ClearUint.output = clearuint11ps.h
-VS_ClearSint.input = CLEAR
-VS_ClearSint.type = vs_4_0
-VS_ClearSint.output = clearsint11vs.h
-PS_ClearSint.input = CLEAR
-PS_ClearSint.type = ps_4_0
-PS_ClearSint.output = clearsint11ps.h
-
-PASSTHROUGH3D = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl
-VS_Passthrough3D.input = PASSTHROUGH3D
-VS_Passthrough3D.type = vs_4_0
-VS_Passthrough3D.output = passthrough3d11vs.h
-GS_Passthrough3D.input = PASSTHROUGH3D
-GS_Passthrough3D.type = gs_4_0
-GS_Passthrough3D.output = passthrough3d11gs.h
-PS_PassthroughRGBA3D.input = PASSTHROUGH3D
-PS_PassthroughRGBA3D.type = ps_4_0
-PS_PassthroughRGBA3D.output = passthroughrgba3d11ps.h
-PS_PassthroughRGBA3DUI.input = PASSTHROUGH3D
-PS_PassthroughRGBA3DUI.type = ps_4_0
-PS_PassthroughRGBA3DUI.output = passthroughrgba3dui11ps.h
-PS_PassthroughRGBA3DI.input = PASSTHROUGH3D
-PS_PassthroughRGBA3DI.type = ps_4_0
-PS_PassthroughRGBA3DI.output = passthroughrgba3di11ps.h
-PS_PassthroughRGB3D.input = PASSTHROUGH3D
-PS_PassthroughRGB3D.type = ps_4_0
-PS_PassthroughRGB3D.output = passthroughrgb3d11ps.h
-PS_PassthroughRGB3DUI.input = PASSTHROUGH3D
-PS_PassthroughRGB3DUI.type = ps_4_0
-PS_PassthroughRGB3DUI.output = passthroughrgb3dui11ps.h
-PS_PassthroughRGB3DI.input = PASSTHROUGH3D
-PS_PassthroughRGB3DI.type = ps_4_0
-PS_PassthroughRGB3DI.output = passthroughrgb3di11ps.h
-PS_PassthroughRG3D.input = PASSTHROUGH3D
-PS_PassthroughRG3D.type = ps_4_0
-PS_PassthroughRG3D.output = passthroughrg3d11ps.h
-PS_PassthroughRG3DUI.input = PASSTHROUGH3D
-PS_PassthroughRG3DUI.type = ps_4_0
-PS_PassthroughRG3DUI.output = passthroughrg3dui11ps.h
-PS_PassthroughRG3DI.input = PASSTHROUGH3D
-PS_PassthroughRG3DI.type = ps_4_0
-PS_PassthroughRG3DI.output = passthroughrg3di11ps.h
-PS_PassthroughR3D.input = PASSTHROUGH3D
-PS_PassthroughR3D.type = ps_4_0
-PS_PassthroughR3D.output = passthroughr3d11ps.h
-PS_PassthroughR3DUI.input = PASSTHROUGH3D
-PS_PassthroughR3DUI.type = ps_4_0
-PS_PassthroughR3DUI.output = passthroughr3dui11ps.h
-PS_PassthroughR3DI.input = PASSTHROUGH3D
-PS_PassthroughR3DI.type = ps_4_0
-PS_PassthroughR3DI.output = passthroughr3di11ps.h
-PS_PassthroughLum3D.input = PASSTHROUGH3D
-PS_PassthroughLum3D.type = ps_4_0
-PS_PassthroughLum3D.output = passthroughlum3d11ps.h
-PS_PassthroughLumAlpha3D.input = PASSTHROUGH3D
-PS_PassthroughLumAlpha3D.type = ps_4_0
-PS_PassthroughLumAlpha3D.output = passthroughlumalpha3d11ps.h
-
-SWIZZLE = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Swizzle11.hlsl
-PS_SwizzleF2D.input = SWIZZLE
-PS_SwizzleF2D.type = ps_4_0
-PS_SwizzleF2D.output = swizzlef2dps.h
-PS_SwizzleI2D.input = SWIZZLE
-PS_SwizzleI2D.type = ps_4_0
-PS_SwizzleI2D.output = swizzlei2dps.h
-PS_SwizzleUI2D.input = SWIZZLE
-PS_SwizzleUI2D.type = ps_4_0
-PS_SwizzleUI2D.output = swizzleui2dps.h
-PS_SwizzleF3D.input = SWIZZLE
-PS_SwizzleF3D.type = ps_4_0
-PS_SwizzleF3D.output = swizzlef3dps.h
-PS_SwizzleI3D.input = SWIZZLE
-PS_SwizzleI3D.type = ps_4_0
-PS_SwizzleI3D.output = swizzlei3dps.h
-PS_SwizzleUI3D.input = SWIZZLE
-PS_SwizzleUI3D.type = ps_4_0
-PS_SwizzleUI3D.output = swizzleui3dps.h
-PS_SwizzleF2DArray.input = SWIZZLE
-PS_SwizzleF2DArray.type = ps_4_0
-PS_SwizzleF2DArray.output = swizzlef2darrayps.h
-PS_SwizzleI2DArray.input = SWIZZLE
-PS_SwizzleI2DArray.type = ps_4_0
-PS_SwizzleI2DArray.output = swizzlei2darrayps.h
-PS_SwizzleUI2DArray.input = SWIZZLE
-PS_SwizzleUI2DArray.type = ps_4_0
-PS_SwizzleUI2DArray.output = swizzleui2darrayps.h
-
-BUFFERTOTEXTURE = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl
-VS_BufferToTexture.input = BUFFERTOTEXTURE
-VS_BufferToTexture.type = vs_4_0
-VS_BufferToTexture.output = buffertotexture11_vs.h
-GS_BufferToTexture.input = BUFFERTOTEXTURE
-GS_BufferToTexture.type = gs_4_0
-GS_BufferToTexture.output = buffertotexture11_gs.h
-PS_BufferToTexture_4F.input = BUFFERTOTEXTURE
-PS_BufferToTexture_4F.type = ps_4_0
-PS_BufferToTexture_4F.output = buffertotexture11_ps_4f.h
-PS_BufferToTexture_4I.input = BUFFERTOTEXTURE
-PS_BufferToTexture_4I.type = ps_4_0
-PS_BufferToTexture_4I.output = buffertotexture11_ps_4i.h
-PS_BufferToTexture_4UI.input = BUFFERTOTEXTURE
-PS_BufferToTexture_4UI.type = ps_4_0
-PS_BufferToTexture_4UI.output = buffertotexture11_ps_4ui.h
-
-# D3D11
-angle_d3d11: SHADERS = VS_Passthrough2D \
- PS_PassthroughRGB2D PS_PassthroughRGB2DUI PS_PassthroughRGB2DI \
- PS_PassthroughRGBA2D PS_PassthroughRGBA2DUI PS_PassthroughRGBA2DI \
- PS_PassthroughRG2D PS_PassthroughRG2DUI PS_PassthroughRG2DI \
- PS_PassthroughR2D PS_PassthroughR2DUI PS_PassthroughR2DI \
- PS_PassthroughLum2D PS_PassthroughLumAlpha2D PS_PassthroughDepth2D \
- VS_ClearFloat VS_ClearUint VS_ClearSint \
- PS_ClearFloat PS_ClearFloat_FL9 PS_ClearUint PS_ClearSint \
- VS_Passthrough3D GS_Passthrough3D \
- PS_PassthroughRGBA3D PS_PassthroughRGBA3DUI PS_PassthroughRGBA3DI \
- PS_PassthroughRGB3D PS_PassthroughRGB3DUI PS_PassthroughRGB3DI \
- PS_PassthroughRG3D PS_PassthroughRG3DUI PS_PassthroughRG3DI \
- PS_PassthroughR3D PS_PassthroughR3DUI PS_PassthroughR3DI \
- PS_PassthroughLum3D PS_PassthroughLumAlpha3D \
- PS_SwizzleF2D PS_SwizzleI2D PS_SwizzleUI2D \
- PS_SwizzleF3D PS_SwizzleI3D PS_SwizzleUI3D \
- PS_SwizzleF2DArray PS_SwizzleI2DArray PS_SwizzleUI2DArray \
- VS_BufferToTexture GS_BufferToTexture \
- PS_BufferToTexture_4F PS_BufferToTexture_4I PS_BufferToTexture_4UI
-
-# D3D9
-!winrt: SHADERS += standardvs flipyvs passthroughps luminanceps componentmaskps
-
-# Generate headers
-for (SHADER, SHADERS) {
- INPUT = $$eval($${SHADER}.input)
- OUT_DIR = $$OUT_PWD/libANGLE/$$relative_path($$dirname($$INPUT), $$ANGLE_DIR/src/libANGLE)/compiled
- fxc_$${SHADER}.commands = $$FXC /nologo /E $${SHADER} /T $$eval($${SHADER}.type) /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
- fxc_$${SHADER}.output = $$OUT_DIR/$$eval($${SHADER}.output)
- fxc_$${SHADER}.input = $$INPUT
- fxc_$${SHADER}.dependency_type = TYPE_C
- fxc_$${SHADER}.variable_out = HEADERS
- fxc_$${SHADER}.CONFIG += target_predeps
- QMAKE_EXTRA_COMPILERS += fxc_$${SHADER}
-}
-
-khr_headers.files = $$ANGLE_DIR/include/KHR/khrplatform.h
-khr_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/KHR
-gles2_headers.files = \
- $$ANGLE_DIR/include/GLES2/gl2.h \
- $$ANGLE_DIR/include/GLES2/gl2ext.h \
- $$ANGLE_DIR/include/GLES2/gl2platform.h
-gles2_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/GLES2
-gles3_headers.files = \
- $$ANGLE_DIR/include/GLES3/gl3.h \
- $$ANGLE_DIR/include/GLES3/gl3ext.h \
- $$ANGLE_DIR/include/GLES3/gl3platform.h
-gles3_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/GLES3
egl_headers.files = \
$$ANGLE_DIR/include/EGL/egl.h \
$$ANGLE_DIR/include/EGL/eglext.h \
$$ANGLE_DIR/include/EGL/eglplatform.h
egl_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/EGL
-INSTALLS += khr_headers gles2_headers egl_headers
-angle_d3d11: INSTALLS += gles3_headers
+INSTALLS += egl_headers
diff --git a/src/angle/src/common/gles_common.pri b/src/angle/src/common/gles_common.pri
new file mode 100644
index 0000000000..7b2e4c71b0
--- /dev/null
+++ b/src/angle/src/common/gles_common.pri
@@ -0,0 +1,605 @@
+CONFIG += simd no_batch
+include(common.pri)
+
+INCLUDEPATH += $$OUT_PWD/.. $$ANGLE_DIR/src/libANGLE
+
+# Remember to adapt src/gui/configure.* if the Direct X version changes.
+!winrt: \
+ LIBS_PRIVATE += -ld3d9
+winrt: \
+ LIBS_PRIVATE += -ld3dcompiler -ldxgi -ld3d11
+
+LIBS_PRIVATE += -ldxguid
+
+STATICLIBS = translator preprocessor
+for(libname, STATICLIBS) {
+ # Appends 'd' to the library for debug builds and builds up the fully
+ # qualified path to pass to the linker.
+ staticlib = $$QT_BUILD_TREE/lib/$${QMAKE_PREFIX_STATICLIB}$$qtLibraryTarget($$libname).$${QMAKE_EXTENSION_STATICLIB}
+ LIBS_PRIVATE += $$staticlib
+ PRE_TARGETDEPS += $$staticlib
+}
+
+DEFINES += LIBANGLE_IMPLEMENTATION LIBGLESV2_IMPLEMENTATION GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI=
+!winrt: DEFINES += ANGLE_ENABLE_D3D9 ANGLE_SKIP_DXGI_1_2_CHECK
+
+HEADERS += \
+ $$ANGLE_DIR/src/common/mathutil.h \
+ $$ANGLE_DIR/src/common/blocklayout.h \
+ $$ANGLE_DIR/src/common/NativeWindow.h \
+ $$ANGLE_DIR/src/common/shadervars.h \
+ $$ANGLE_DIR/src/common/utilities.h \
+ $$ANGLE_DIR/src/common/MemoryBuffer.h \
+ $$ANGLE_DIR/src/common/angleutils.h \
+ $$ANGLE_DIR/src/common/debug.h \
+ $$ANGLE_DIR/src/common/event_tracer.h \
+ $$ANGLE_DIR/src/libANGLE/angletypes.h \
+ $$ANGLE_DIR/src/libANGLE/AttributeMap.h \
+ $$ANGLE_DIR/src/libANGLE/BinaryStream.h \
+ $$ANGLE_DIR/src/libANGLE/Buffer.h \
+ $$ANGLE_DIR/src/libANGLE/Caps.h \
+ $$ANGLE_DIR/src/libANGLE/Compiler.h \
+ $$ANGLE_DIR/src/libANGLE/Config.h \
+ $$ANGLE_DIR/src/libANGLE/Constants.h \
+ $$ANGLE_DIR/src/libANGLE/Context.h \
+ $$ANGLE_DIR/src/libANGLE/Data.h \
+ $$ANGLE_DIR/src/libANGLE/Device.h \
+ $$ANGLE_DIR/src/libANGLE/Display.h \
+ $$ANGLE_DIR/src/libANGLE/Error.h \
+ $$ANGLE_DIR/src/libANGLE/features.h \
+ $$ANGLE_DIR/src/libANGLE/Fence.h \
+ $$ANGLE_DIR/src/libANGLE/formatutils.h \
+ $$ANGLE_DIR/src/libANGLE/Framebuffer.h \
+ $$ANGLE_DIR/src/libANGLE/FramebufferAttachment.h \
+ $$ANGLE_DIR/src/libANGLE/HandleAllocator.h \
+ $$ANGLE_DIR/src/libANGLE/ImageIndex.h \
+ $$ANGLE_DIR/src/libANGLE/IndexRangeCache.h \
+ $$ANGLE_DIR/src/libANGLE/Program.h \
+ $$ANGLE_DIR/src/libANGLE/Query.h \
+ $$ANGLE_DIR/src/libANGLE/queryconversions.h \
+ $$ANGLE_DIR/src/libANGLE/RefCountObject.h \
+ $$ANGLE_DIR/src/libANGLE/Renderbuffer.h \
+ $$ANGLE_DIR/src/libANGLE/ResourceManager.h \
+ $$ANGLE_DIR/src/libANGLE/Sampler.h \
+ $$ANGLE_DIR/src/libANGLE/Shader.h \
+ $$ANGLE_DIR/src/libANGLE/State.h \
+ $$ANGLE_DIR/src/libANGLE/Surface.h \
+ $$ANGLE_DIR/src/libANGLE/Texture.h \
+ $$ANGLE_DIR/src/libANGLE/TransformFeedback.h \
+ $$ANGLE_DIR/src/libANGLE/Uniform.h \
+ $$ANGLE_DIR/src/libANGLE/validationEGL.h \
+ $$ANGLE_DIR/src/libANGLE/validationES.h \
+ $$ANGLE_DIR/src/libANGLE/validationES2.h \
+ $$ANGLE_DIR/src/libANGLE/validationES3.h \
+ $$ANGLE_DIR/src/libANGLE/VertexArray.h \
+ $$ANGLE_DIR/src/libANGLE/VertexAttribute.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/BufferD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/CompilerD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/copyimage.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/DeviceD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/DisplayD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/DynamicHLSL.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/EGLImageD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/formatutilsD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/FramebufferD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/generatemip.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/HLSLCompiler.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ImageD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/imageformats.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexBuffer.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexDataManager.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage_etc.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ProgramD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderbufferD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/RendererD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderTargetD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderExecutableD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/SurfaceD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/SwapChainD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/TextureD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/TextureStorage.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/TransformFeedbackD3D.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/VaryingPacking.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexBuffer.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexDataManager.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/BufferImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/CompilerImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/DeviceImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/DisplayImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/FenceNVImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/FenceSyncImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/FramebufferImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/Image.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/ImplFactory.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/ProgramImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/QueryImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/RenderbufferImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/Renderer.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/ShaderImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/SurfaceImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/TextureImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/TransformFeedbackImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/VertexArrayImpl.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/Workarounds.h \
+ $$ANGLE_DIR/src/libANGLE/resource.h \
+ $$ANGLE_DIR/src/libANGLE/ResourceManager.h \
+ $$ANGLE_DIR/src/libANGLE/Sampler.h \
+ $$ANGLE_DIR/src/libANGLE/Shader.h \
+ $$ANGLE_DIR/src/libANGLE/State.h \
+ $$ANGLE_DIR/src/libANGLE/Texture.h \
+ $$ANGLE_DIR/src/libANGLE/TransformFeedback.h \
+ $$ANGLE_DIR/src/libANGLE/Uniform.h \
+ $$ANGLE_DIR/src/libANGLE/validationES2.h \
+ $$ANGLE_DIR/src/libANGLE/validationES3.h \
+ $$ANGLE_DIR/src/libANGLE/validationES.h \
+ $$ANGLE_DIR/src/libANGLE/VertexArray.h \
+ $$ANGLE_DIR/src/libANGLE/VertexAttribute.h \
+ $$ANGLE_DIR/src/libANGLE/vertexconversion.h \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_egl.h \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_egl_ext.h \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0.h \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0_ext.h \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0.h \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0_ext.h \
+ $$ANGLE_DIR/src/libGLESv2/global_state.h \
+ $$ANGLE_DIR/src/libGLESv2/resource.h \
+ $$ANGLE_DIR/src/third_party/murmurhash/MurmurHash3.h
+
+SOURCES += \
+ $$ANGLE_DIR/src/common/mathutil.cpp \
+ $$ANGLE_DIR/src/common/utilities.cpp \
+ $$ANGLE_DIR/src/common/MemoryBuffer.cpp \
+ $$ANGLE_DIR/src/common/angleutils.cpp \
+ $$ANGLE_DIR/src/common/debug.cpp \
+ $$ANGLE_DIR/src/common/event_tracer.cpp \
+ $$ANGLE_DIR/src/common/Float16ToFloat32.cpp \
+ $$ANGLE_DIR/src/third_party/murmurhash/MurmurHash3.cpp \
+ $$ANGLE_DIR/src/libANGLE/angletypes.cpp \
+ $$ANGLE_DIR/src/libANGLE/AttributeMap.cpp \
+ $$ANGLE_DIR/src/libANGLE/Buffer.cpp \
+ $$ANGLE_DIR/src/libANGLE/Caps.cpp \
+ $$ANGLE_DIR/src/libANGLE/Compiler.cpp \
+ $$ANGLE_DIR/src/libANGLE/Config.cpp \
+ $$ANGLE_DIR/src/libANGLE/Context.cpp \
+ $$ANGLE_DIR/src/libANGLE/Data.cpp \
+ $$ANGLE_DIR/src/libANGLE/Device.cpp \
+ $$ANGLE_DIR/src/libANGLE/Display.cpp \
+ $$ANGLE_DIR/src/libANGLE/Error.cpp \
+ $$ANGLE_DIR/src/libANGLE/Fence.cpp \
+ $$ANGLE_DIR/src/libANGLE/formatutils.cpp \
+ $$ANGLE_DIR/src/libANGLE/Framebuffer.cpp \
+ $$ANGLE_DIR/src/libANGLE/FramebufferAttachment.cpp \
+ $$ANGLE_DIR/src/libANGLE/HandleAllocator.cpp \
+ $$ANGLE_DIR/src/libANGLE/Image.cpp \
+ $$ANGLE_DIR/src/libANGLE/ImageIndex.cpp \
+ $$ANGLE_DIR/src/libANGLE/IndexRangeCache.cpp \
+ $$ANGLE_DIR/src/libANGLE/Platform.cpp \
+ $$ANGLE_DIR/src/libANGLE/Program.cpp \
+ $$ANGLE_DIR/src/libANGLE/Query.cpp \
+ $$ANGLE_DIR/src/libANGLE/queryconversions.cpp \
+ $$ANGLE_DIR/src/libANGLE/Renderbuffer.cpp \
+ $$ANGLE_DIR/src/libANGLE/ResourceManager.cpp \
+ $$ANGLE_DIR/src/libANGLE/Sampler.cpp \
+ $$ANGLE_DIR/src/libANGLE/Shader.cpp \
+ $$ANGLE_DIR/src/libANGLE/State.cpp \
+ $$ANGLE_DIR/src/libANGLE/Surface.cpp \
+ $$ANGLE_DIR/src/libANGLE/Texture.cpp \
+ $$ANGLE_DIR/src/libANGLE/TransformFeedback.cpp \
+ $$ANGLE_DIR/src/libANGLE/Uniform.cpp \
+ $$ANGLE_DIR/src/libANGLE/validationEGL.cpp \
+ $$ANGLE_DIR/src/libANGLE/validationES.cpp \
+ $$ANGLE_DIR/src/libANGLE/validationES2.cpp \
+ $$ANGLE_DIR/src/libANGLE/validationES3.cpp \
+ $$ANGLE_DIR/src/libANGLE/VertexArray.cpp \
+ $$ANGLE_DIR/src/libANGLE/VertexAttribute.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/DeviceImpl.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/DisplayImpl.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/Renderer.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/SurfaceImpl.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/BufferD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/CompilerD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/copyimage.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/DeviceD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/DisplayD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/DynamicHLSL.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/EGLImageD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/formatutilsD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/FramebufferD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/HLSLCompiler.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ImageD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexBuffer.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/IndexDataManager.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimage_etc.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ProgramD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/RendererD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/RenderTargetD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/ShaderExecutableD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/SurfaceD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/TextureD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/TransformFeedbackD3D.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/VaryingPacking.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexBuffer.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/VertexDataManager.cpp \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_egl.cpp \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_egl_ext.cpp \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0.cpp \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_2_0_ext.cpp \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0.cpp \
+ $$ANGLE_DIR/src/libGLESv2/entry_points_gles_3_0_ext.cpp \
+ $$ANGLE_DIR/src/libGLESv2/global_state.cpp \
+ $$ANGLE_DIR/src/libGLESv2/libGLESv2.cpp
+
+SSE2_SOURCES += $$ANGLE_DIR/src/libANGLE/renderer/d3d/loadimageSSE2.cpp
+
+DEBUG_SOURCE = $$ANGLE_DIR/src/libANGLE/Debug.cpp
+debug_copy.input = DEBUG_SOURCE
+debug_copy.output = $$ANGLE_DIR/src/libANGLE/Debug2.cpp
+debug_copy.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
+debug_copy.variable_out = GENERATED_SOURCES
+debug_copy.CONFIG = target_predeps
+QMAKE_EXTRA_COMPILERS += debug_copy
+
+angle_d3d11 {
+ HEADERS += \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Blit11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Buffer11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Clear11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Fence11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/formatutils11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Image11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/internal_format_initializer_table.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/load_functions_table.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Query11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Renderer11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/StateManager11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/swizzle_format_info.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Trim11.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/texture_format_table.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.h
+
+ SOURCES += \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Clear11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/dxgi_support_table.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Framebuffer11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/formatutils11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Image11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/IndexBuffer11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/InputLayoutCache.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/internal_format_initializer_table.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/load_functions_table_autogen.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Query11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/RenderStateCache.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/ShaderExecutable11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/swizzle_format_info_autogen.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/texture_format_table_autogen.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/VertexBuffer11.cpp
+}
+
+!winrt {
+ HEADERS += \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Blit9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Buffer9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Fence9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/formatutils9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Image9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Query9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Renderer9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/StateManager9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/SwapChain9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.h \
+ $$ANGLE_DIR/src/third_party/systeminfo/SystemInfo.h
+
+ SOURCES += \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Blit9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Buffer9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/DebugAnnotator9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Fence9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Framebuffer9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/formatutils9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Image9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/IndexBuffer9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Query9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/Renderer9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/renderer9_utils.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/RenderTarget9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/ShaderExecutable9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/StateManager9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/SwapChain9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/TextureStorage9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/VertexBuffer9.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/VertexDeclarationCache.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow.cpp \
+ $$ANGLE_DIR/src/third_party/systeminfo/SystemInfo.cpp
+} else {
+ HEADERS += \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h
+
+ SOURCES += \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.cpp \
+ $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp
+}
+
+#load_functions.target = load_functions
+#load_functions.commands = python $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/gen_load_functions_table.py \
+# > $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/gen_load_functions_table.cpp
+#QMAKE_EXTRA_TARGETS += load_functions
+
+# HLSL shaders
+BLITVS = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.vs
+standardvs.input = BLITVS
+standardvs.type = vs_2_0
+standardvs.output = standardvs.h
+flipyvs.input = BLITVS
+flipyvs.type = vs_2_0
+flipyvs.output = flipyvs.h
+
+BLITPS = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d9/shaders/Blit.ps
+passthroughps.input = BLITPS
+passthroughps.type = ps_2_0
+passthroughps.output = passthroughps.h
+luminanceps.input = BLITPS
+luminanceps.type = ps_2_0
+luminanceps.output = luminanceps.h
+componentmaskps.input = BLITPS
+componentmaskps.type = ps_2_0
+componentmaskps.output = componentmaskps.h
+
+PASSTHROUGH2D = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough2D11.hlsl
+VS_Passthrough2D.input = PASSTHROUGH2D
+VS_Passthrough2D.type = vs_4_0_level_9_3
+VS_Passthrough2D.output = passthrough2d11vs.h
+PS_PassthroughRGBA2D.input = PASSTHROUGH2D
+PS_PassthroughRGBA2D.type = ps_4_0_level_9_3
+PS_PassthroughRGBA2D.output = passthroughrgba2d11ps.h
+PS_PassthroughRGB2D.input = PASSTHROUGH2D
+PS_PassthroughRGB2D.type = ps_4_0_level_9_3
+PS_PassthroughRGB2D.output = passthroughrgb2d11ps.h
+PS_PassthroughRG2D.input = PASSTHROUGH2D
+PS_PassthroughRG2D.type = ps_4_0_level_9_3
+PS_PassthroughRG2D.output = passthroughrg2d11ps.h
+PS_PassthroughR2D.input = PASSTHROUGH2D
+PS_PassthroughR2D.type = ps_4_0_level_9_3
+PS_PassthroughR2D.output = passthroughr2d11ps.h
+PS_PassthroughLum2D.input = PASSTHROUGH2D
+PS_PassthroughLum2D.type = ps_4_0_level_9_3
+PS_PassthroughLum2D.output = passthroughlum2d11ps.h
+PS_PassthroughLumAlpha2D.input = PASSTHROUGH2D
+PS_PassthroughLumAlpha2D.type = ps_4_0_level_9_3
+PS_PassthroughLumAlpha2D.output = passthroughlumalpha2d11ps.h
+PS_PassthroughDepth2D.input = PASSTHROUGH2D
+PS_PassthroughDepth2D.type = ps_4_0
+PS_PassthroughDepth2D.output = passthroughdepth2d11ps.h
+PS_PassthroughRGBA2DUI.input = PASSTHROUGH2D
+PS_PassthroughRGBA2DUI.type = ps_4_0
+PS_PassthroughRGBA2DUI.output = passthroughrgba2dui11ps.h
+PS_PassthroughRGBA2DI.input = PASSTHROUGH2D
+PS_PassthroughRGBA2DI.type = ps_4_0
+PS_PassthroughRGBA2DI.output = passthroughrgba2di11ps.h
+PS_PassthroughRGB2DUI.input = PASSTHROUGH2D
+PS_PassthroughRGB2DUI.type = ps_4_0
+PS_PassthroughRGB2DUI.output = passthroughrgb2dui11ps.h
+PS_PassthroughRGB2DI.input = PASSTHROUGH2D
+PS_PassthroughRGB2DI.type = ps_4_0
+PS_PassthroughRGB2DI.output = passthroughrgb2di11ps.h
+PS_PassthroughRG2DUI.input = PASSTHROUGH2D
+PS_PassthroughRG2DUI.type = ps_4_0
+PS_PassthroughRG2DUI.output = passthroughrg2dui11ps.h
+PS_PassthroughRG2DI.input = PASSTHROUGH2D
+PS_PassthroughRG2DI.type = ps_4_0
+PS_PassthroughRG2DI.output = passthroughrg2di11ps.h
+PS_PassthroughR2DUI.input = PASSTHROUGH2D
+PS_PassthroughR2DUI.type = ps_4_0
+PS_PassthroughR2DUI.output = passthroughr2dui11ps.h
+PS_PassthroughR2DI.input = PASSTHROUGH2D
+PS_PassthroughR2DI.type = ps_4_0
+PS_PassthroughR2DI.output = passthroughr2di11ps.h
+
+CLEAR = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Clear11.hlsl
+VS_ClearFloat.input = CLEAR
+VS_ClearFloat.type = vs_4_0_level_9_3
+VS_ClearFloat.output = clearfloat11vs.h
+PS_ClearFloat_FL9.input = CLEAR
+PS_ClearFloat_FL9.type = ps_4_0_level_9_3
+PS_ClearFloat_FL9.output = clearfloat11_fl9ps.h
+PS_ClearFloat.input = CLEAR
+PS_ClearFloat.type = ps_4_0
+PS_ClearFloat.output = clearfloat11ps.h
+VS_ClearUint.input = CLEAR
+VS_ClearUint.type = vs_4_0
+VS_ClearUint.output = clearuint11vs.h
+PS_ClearUint.input = CLEAR
+PS_ClearUint.type = ps_4_0
+PS_ClearUint.output = clearuint11ps.h
+VS_ClearSint.input = CLEAR
+VS_ClearSint.type = vs_4_0
+VS_ClearSint.output = clearsint11vs.h
+PS_ClearSint.input = CLEAR
+PS_ClearSint.type = ps_4_0
+PS_ClearSint.output = clearsint11ps.h
+
+PASSTHROUGH3D = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Passthrough3D11.hlsl
+VS_Passthrough3D.input = PASSTHROUGH3D
+VS_Passthrough3D.type = vs_4_0
+VS_Passthrough3D.output = passthrough3d11vs.h
+GS_Passthrough3D.input = PASSTHROUGH3D
+GS_Passthrough3D.type = gs_4_0
+GS_Passthrough3D.output = passthrough3d11gs.h
+PS_PassthroughRGBA3D.input = PASSTHROUGH3D
+PS_PassthroughRGBA3D.type = ps_4_0
+PS_PassthroughRGBA3D.output = passthroughrgba3d11ps.h
+PS_PassthroughRGBA3DUI.input = PASSTHROUGH3D
+PS_PassthroughRGBA3DUI.type = ps_4_0
+PS_PassthroughRGBA3DUI.output = passthroughrgba3dui11ps.h
+PS_PassthroughRGBA3DI.input = PASSTHROUGH3D
+PS_PassthroughRGBA3DI.type = ps_4_0
+PS_PassthroughRGBA3DI.output = passthroughrgba3di11ps.h
+PS_PassthroughRGB3D.input = PASSTHROUGH3D
+PS_PassthroughRGB3D.type = ps_4_0
+PS_PassthroughRGB3D.output = passthroughrgb3d11ps.h
+PS_PassthroughRGB3DUI.input = PASSTHROUGH3D
+PS_PassthroughRGB3DUI.type = ps_4_0
+PS_PassthroughRGB3DUI.output = passthroughrgb3dui11ps.h
+PS_PassthroughRGB3DI.input = PASSTHROUGH3D
+PS_PassthroughRGB3DI.type = ps_4_0
+PS_PassthroughRGB3DI.output = passthroughrgb3di11ps.h
+PS_PassthroughRG3D.input = PASSTHROUGH3D
+PS_PassthroughRG3D.type = ps_4_0
+PS_PassthroughRG3D.output = passthroughrg3d11ps.h
+PS_PassthroughRG3DUI.input = PASSTHROUGH3D
+PS_PassthroughRG3DUI.type = ps_4_0
+PS_PassthroughRG3DUI.output = passthroughrg3dui11ps.h
+PS_PassthroughRG3DI.input = PASSTHROUGH3D
+PS_PassthroughRG3DI.type = ps_4_0
+PS_PassthroughRG3DI.output = passthroughrg3di11ps.h
+PS_PassthroughR3D.input = PASSTHROUGH3D
+PS_PassthroughR3D.type = ps_4_0
+PS_PassthroughR3D.output = passthroughr3d11ps.h
+PS_PassthroughR3DUI.input = PASSTHROUGH3D
+PS_PassthroughR3DUI.type = ps_4_0
+PS_PassthroughR3DUI.output = passthroughr3dui11ps.h
+PS_PassthroughR3DI.input = PASSTHROUGH3D
+PS_PassthroughR3DI.type = ps_4_0
+PS_PassthroughR3DI.output = passthroughr3di11ps.h
+PS_PassthroughLum3D.input = PASSTHROUGH3D
+PS_PassthroughLum3D.type = ps_4_0
+PS_PassthroughLum3D.output = passthroughlum3d11ps.h
+PS_PassthroughLumAlpha3D.input = PASSTHROUGH3D
+PS_PassthroughLumAlpha3D.type = ps_4_0
+PS_PassthroughLumAlpha3D.output = passthroughlumalpha3d11ps.h
+
+SWIZZLE = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/Swizzle11.hlsl
+PS_SwizzleF2D.input = SWIZZLE
+PS_SwizzleF2D.type = ps_4_0
+PS_SwizzleF2D.output = swizzlef2dps.h
+PS_SwizzleI2D.input = SWIZZLE
+PS_SwizzleI2D.type = ps_4_0
+PS_SwizzleI2D.output = swizzlei2dps.h
+PS_SwizzleUI2D.input = SWIZZLE
+PS_SwizzleUI2D.type = ps_4_0
+PS_SwizzleUI2D.output = swizzleui2dps.h
+PS_SwizzleF3D.input = SWIZZLE
+PS_SwizzleF3D.type = ps_4_0
+PS_SwizzleF3D.output = swizzlef3dps.h
+PS_SwizzleI3D.input = SWIZZLE
+PS_SwizzleI3D.type = ps_4_0
+PS_SwizzleI3D.output = swizzlei3dps.h
+PS_SwizzleUI3D.input = SWIZZLE
+PS_SwizzleUI3D.type = ps_4_0
+PS_SwizzleUI3D.output = swizzleui3dps.h
+PS_SwizzleF2DArray.input = SWIZZLE
+PS_SwizzleF2DArray.type = ps_4_0
+PS_SwizzleF2DArray.output = swizzlef2darrayps.h
+PS_SwizzleI2DArray.input = SWIZZLE
+PS_SwizzleI2DArray.type = ps_4_0
+PS_SwizzleI2DArray.output = swizzlei2darrayps.h
+PS_SwizzleUI2DArray.input = SWIZZLE
+PS_SwizzleUI2DArray.type = ps_4_0
+PS_SwizzleUI2DArray.output = swizzleui2darrayps.h
+
+BUFFERTOTEXTURE = $$ANGLE_DIR/src/libANGLE/renderer/d3d/d3d11/shaders/BufferToTexture11.hlsl
+VS_BufferToTexture.input = BUFFERTOTEXTURE
+VS_BufferToTexture.type = vs_4_0
+VS_BufferToTexture.output = buffertotexture11_vs.h
+GS_BufferToTexture.input = BUFFERTOTEXTURE
+GS_BufferToTexture.type = gs_4_0
+GS_BufferToTexture.output = buffertotexture11_gs.h
+PS_BufferToTexture_4F.input = BUFFERTOTEXTURE
+PS_BufferToTexture_4F.type = ps_4_0
+PS_BufferToTexture_4F.output = buffertotexture11_ps_4f.h
+PS_BufferToTexture_4I.input = BUFFERTOTEXTURE
+PS_BufferToTexture_4I.type = ps_4_0
+PS_BufferToTexture_4I.output = buffertotexture11_ps_4i.h
+PS_BufferToTexture_4UI.input = BUFFERTOTEXTURE
+PS_BufferToTexture_4UI.type = ps_4_0
+PS_BufferToTexture_4UI.output = buffertotexture11_ps_4ui.h
+
+# D3D11
+angle_d3d11: SHADERS = VS_Passthrough2D \
+ PS_PassthroughRGB2D PS_PassthroughRGB2DUI PS_PassthroughRGB2DI \
+ PS_PassthroughRGBA2D PS_PassthroughRGBA2DUI PS_PassthroughRGBA2DI \
+ PS_PassthroughRG2D PS_PassthroughRG2DUI PS_PassthroughRG2DI \
+ PS_PassthroughR2D PS_PassthroughR2DUI PS_PassthroughR2DI \
+ PS_PassthroughLum2D PS_PassthroughLumAlpha2D PS_PassthroughDepth2D \
+ VS_ClearFloat VS_ClearUint VS_ClearSint \
+ PS_ClearFloat PS_ClearFloat_FL9 PS_ClearUint PS_ClearSint \
+ VS_Passthrough3D GS_Passthrough3D \
+ PS_PassthroughRGBA3D PS_PassthroughRGBA3DUI PS_PassthroughRGBA3DI \
+ PS_PassthroughRGB3D PS_PassthroughRGB3DUI PS_PassthroughRGB3DI \
+ PS_PassthroughRG3D PS_PassthroughRG3DUI PS_PassthroughRG3DI \
+ PS_PassthroughR3D PS_PassthroughR3DUI PS_PassthroughR3DI \
+ PS_PassthroughLum3D PS_PassthroughLumAlpha3D \
+ PS_SwizzleF2D PS_SwizzleI2D PS_SwizzleUI2D \
+ PS_SwizzleF3D PS_SwizzleI3D PS_SwizzleUI3D \
+ PS_SwizzleF2DArray PS_SwizzleI2DArray PS_SwizzleUI2DArray \
+ VS_BufferToTexture GS_BufferToTexture \
+ PS_BufferToTexture_4F PS_BufferToTexture_4I PS_BufferToTexture_4UI
+
+# D3D9
+!winrt: SHADERS += standardvs flipyvs passthroughps luminanceps componentmaskps
+
+# Generate headers
+for (SHADER, SHADERS) {
+ INPUT = $$eval($${SHADER}.input)
+ OUT_DIR = $$OUT_PWD/libANGLE/$$relative_path($$dirname($$INPUT), $$ANGLE_DIR/src/libANGLE)/compiled
+ fxc_$${SHADER}.commands = $$FXC /nologo /E $${SHADER} /T $$eval($${SHADER}.type) /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+ fxc_$${SHADER}.output = $$OUT_DIR/$$eval($${SHADER}.output)
+ fxc_$${SHADER}.input = $$INPUT
+ fxc_$${SHADER}.dependency_type = TYPE_C
+ fxc_$${SHADER}.variable_out = HEADERS
+ fxc_$${SHADER}.CONFIG += target_predeps
+ QMAKE_EXTRA_COMPILERS += fxc_$${SHADER}
+}
+
+khr_headers.files = $$ANGLE_DIR/include/KHR/khrplatform.h
+khr_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/KHR
+gles2_headers.files = \
+ $$ANGLE_DIR/include/GLES2/gl2.h \
+ $$ANGLE_DIR/include/GLES2/gl2ext.h \
+ $$ANGLE_DIR/include/GLES2/gl2platform.h
+gles2_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/GLES2
+gles3_headers.files = \
+ $$ANGLE_DIR/include/GLES3/gl3.h \
+ $$ANGLE_DIR/include/GLES3/gl3ext.h \
+ $$ANGLE_DIR/include/GLES3/gl3platform.h
+gles3_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/GLES3
+INSTALLS += khr_headers gles2_headers
+angle_d3d11: INSTALLS += gles3_headers
diff --git a/src/angle/src/libEGL/libEGL.pro b/src/angle/src/libEGL/libEGL.pro
new file mode 100644
index 0000000000..9e9c639002
--- /dev/null
+++ b/src/angle/src/libEGL/libEGL.pro
@@ -0,0 +1,26 @@
+include(../common/common.pri)
+DEF_FILE_TARGET = $${TARGET}
+TARGET = $$qtLibraryTarget($${LIBEGL_NAME})
+winrt: LIBS_PRIVATE += -ld3d11
+
+LIBS_PRIVATE += -ldxguid -L$$QT_BUILD_TREE/lib -l$$qtLibraryTarget($${LIBGLESV2_NAME})
+
+DEFINES += GL_APICALL= GL_GLEXT_PROTOTYPES= EGLAPI= LIBEGL_IMPLEMENTATION
+
+HEADERS += \
+ $$ANGLE_DIR/src/libEGL/resource.h
+
+SOURCES += \
+ $$ANGLE_DIR/src/libEGL/libEGL.cpp
+
+!static {
+ DEF_FILE = $$ANGLE_DIR/src/libEGL/$${DEF_FILE_TARGET}.def
+ mingw:equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libEGL/$${DEF_FILE_TARGET}_mingw32.def
+}
+
+egl_headers.files = \
+ $$ANGLE_DIR/include/EGL/egl.h \
+ $$ANGLE_DIR/include/EGL/eglext.h \
+ $$ANGLE_DIR/include/EGL/eglplatform.h
+egl_headers.path = $$[QT_INSTALL_HEADERS]/QtANGLE/EGL
+INSTALLS += egl_headers
diff --git a/src/angle/src/libGLESv2/libGLESv2.pro b/src/angle/src/libGLESv2/libGLESv2.pro
new file mode 100644
index 0000000000..b84314dd71
--- /dev/null
+++ b/src/angle/src/libGLESv2/libGLESv2.pro
@@ -0,0 +1,12 @@
+include(../common/gles_common.pri)
+
+DEF_FILE_TARGET = $${TARGET}
+
+TARGET = $$qtLibraryTarget($${LIBGLESV2_NAME})
+
+!static {
+ DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${DEF_FILE_TARGET}.def
+ mingw: equals(QT_ARCH, i386): DEF_FILE = $$ANGLE_DIR/src/libGLESv2/$${DEF_FILE_TARGET}_mingw32.def
+} else {
+ DEFINES += DllMain=DllMain_ANGLE # prevent symbol from conflicting with the user's DllMain
+}
diff --git a/src/angle/src/src.pro b/src/angle/src/src.pro
index 77c3ee7198..b1f9572edc 100644
--- a/src/angle/src/src.pro
+++ b/src/angle/src/src.pro
@@ -1,3 +1,11 @@
TEMPLATE = subdirs
-SUBDIRS += compiler QtANGLE
+SUBDIRS += compiler
+
+QT_FOR_CONFIG += gui
+
+# needed as angle is built before gui
+include($$OUT_PWD/../../gui/qtgui-config.pri)
+
+qtConfig(combined-angle-lib): SUBDIRS += QtANGLE
+else: SUBDIRS += libGLESv2 libEGL
CONFIG += ordered
diff --git a/src/gui/configure.json b/src/gui/configure.json
index f8cee387b8..73e59a7ad9 100644
--- a/src/gui/configure.json
+++ b/src/gui/configure.json
@@ -9,6 +9,7 @@
"options": {
"accessibility": "boolean",
"angle": "boolean",
+ "combined-angle-lib": "boolean",
"direct2d": "boolean",
"directfb": "boolean",
"directwrite": "boolean",
@@ -426,6 +427,12 @@
{ "type": "define", "name": "QT_OPENGL_ES_2_ANGLE" }
]
},
+ "combined-angle-lib": {
+ "label": "Combined ANGLE Library",
+ "autoDetect": false,
+ "condition": "features.angle",
+ "output": [ "publicFeature" ]
+ },
"directfb": {
"label": "DirectFB",
"section": "Platform plugins",
@@ -1077,6 +1084,11 @@ QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your pla
"args": "angle",
"condition": "config.win32"
},
+ {
+ "type": "feature",
+ "args": "combined-angle-lib",
+ "condition": "features.angle"
+ },
"opengl-desktop",
{
"type": "feature",
diff --git a/src/plugins/platforms/windows/windows.pri b/src/plugins/platforms/windows/windows.pri
index 7d3ecc8aa2..73677311f5 100644
--- a/src/plugins/platforms/windows/windows.pri
+++ b/src/plugins/platforms/windows/windows.pri
@@ -1,6 +1,8 @@
# Note: OpenGL32 must precede Gdi32 as it overwrites some functions.
LIBS += -lole32 -luser32 -lwinspool -limm32 -lwinmm -loleaut32
+QT_FOR_CONFIG += gui
+
qtConfig(opengl):!qtConfig(opengles2):!qtConfig(dynamicgl): LIBS *= -lopengl32
mingw: LIBS *= -luuid
@@ -99,5 +101,10 @@ RESOURCES += $$PWD/openglblacklists.qrc
qtConfig(accessibility): include($$PWD/accessible/accessible.pri)
-DEFINES *= LIBEGL_NAME=$${LIBQTANGLE_NAME}
-DEFINES *= LIBGLESV2_NAME=$${LIBQTANGLE_NAME}
+qtConfig(combined-angle-lib) {
+ DEFINES *= LIBEGL_NAME=$${LIBQTANGLE_NAME}
+ DEFINES *= LIBGLESV2_NAME=$${LIBQTANGLE_NAME}
+} else {
+ DEFINES *= LIBEGL_NAME=$${LIBEGL_NAME}
+ DEFINES *= LIBGLESV2_NAME=$${LIBGLESV2_NAME}
+}