From 3f1548ae82d4321b6fdbbf127dafbdf385374be0 Mon Sep 17 00:00:00 2001 From: Oliver Wolff Date: Thu, 4 May 2017 10:15:23 +0200 Subject: Restore behavior of using libEGL and libGLESv2 as default for angle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Friedemann Kleint Reviewed-by: Jan Arve Sæther Reviewed-by: Joerg Bornemann --- config_help.txt | 1 + mkspecs/common/angle.conf | 13 + mkspecs/common/msvc-desktop.conf | 2 +- mkspecs/common/windows-gles.conf | 7 - mkspecs/common/winrt_winphone/qmake.conf | 2 +- mkspecs/features/win32/opengl.prf | 10 + mkspecs/win32-g++/qmake.conf | 2 +- mkspecs/win32-icc/qmake.conf | 2 +- src/angle/src/QtANGLE/QtANGLE.pro | 611 +----------------------------- src/angle/src/common/gles_common.pri | 605 +++++++++++++++++++++++++++++ src/angle/src/libEGL/libEGL.pro | 26 ++ src/angle/src/libGLESv2/libGLESv2.pro | 12 + src/angle/src/src.pro | 10 +- src/gui/configure.json | 12 + src/plugins/platforms/windows/windows.pri | 11 +- 15 files changed, 707 insertions(+), 619 deletions(-) create mode 100644 mkspecs/common/angle.conf delete mode 100644 mkspecs/common/windows-gles.conf create mode 100644 src/angle/src/common/gles_common.pri create mode 100644 src/angle/src/libEGL/libEGL.pro create mode 100644 src/angle/src/libGLESv2/libGLESv2.pro 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 .......... 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} +} -- cgit v1.2.3