diff options
author | Andrew Knight <andrew.knight@digia.com> | 2013-09-18 11:51:20 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 08:53:35 +0200 |
commit | 1a334f8135d4be7b73b39ac736af0e722c864e83 (patch) | |
tree | cc0b7703b815e9fca858e8eecd7eb556e186998c /src/angle/src | |
parent | d84ed9a92ae0ce96b843c9dd5c263c6a0925405b (diff) |
ANGLE: Update to version 2446
Update ANGLE and reapply patches.
Patch changes:
"Dynamically resolve functions of dwmapi.dll"
Removed; ANGLE no longer uses DWM API
"Make it possible to link ANGLE statically for single-thread use"
Avoid name collision by using ANGLE-style getCurrent()
"Fix build when SSE2 is not available."
Added guard for __cpuid(), which is not available on ARM
"Make DX9/DX11 mutually exclusive"
Adjustments due to underlying code changes
"ANGLE: Avoid memory copies on buffers when data is null"
Removed; fixed upstream
"Add missing intrin.h include for __cpuid"
Removed; fixed upstream
Change-Id: I4f3d850fc555d3194ddc05e0b51c4966d33f7eaf
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/angle/src')
-rw-r--r-- | src/angle/src/common/common.pri | 2 | ||||
-rw-r--r-- | src/angle/src/compiler/translator_common.pro | 7 | ||||
-rw-r--r-- | src/angle/src/compiler/translator_hlsl.pro | 3 | ||||
-rw-r--r-- | src/angle/src/libEGL/libEGL.pro | 4 | ||||
-rw-r--r-- | src/angle/src/libGLESv2/libGLESv2.pro | 27 |
5 files changed, 27 insertions, 16 deletions
diff --git a/src/angle/src/common/common.pri b/src/angle/src/common/common.pri index d16202b6d6..a94b9a6fc3 100644 --- a/src/angle/src/common/common.pri +++ b/src/angle/src/common/common.pri @@ -45,10 +45,12 @@ static: DEFINES *= QT_OPENGL_ES_2_ANGLE_STATIC HEADERS += \ $$ANGLE_DIR/src/common/angleutils.h \ $$ANGLE_DIR/src/common/debug.h \ + $$ANGLE_DIR/src/common/event_tracer.h \ $$ANGLE_DIR/src/common/RefCountObject.h \ $$ANGLE_DIR/src/common/version.h SOURCES += \ $$ANGLE_DIR/src/common/debug.cpp \ + $$ANGLE_DIR/src/common/event_tracer.cpp \ $$ANGLE_DIR/src/common/RefCountObject.cpp diff --git a/src/angle/src/compiler/translator_common.pro b/src/angle/src/compiler/translator_common.pro index cafbb1595d..b2812158e1 100644 --- a/src/angle/src/compiler/translator_common.pro +++ b/src/angle/src/compiler/translator_common.pro @@ -4,6 +4,9 @@ TARGET = $$qtLibraryTarget(translator_common) include(../config.pri) +# Mingw 4.7 chokes on implicit move semantics, so disable C++11 here +win32-g++*: CONFIG -= c++11 + INCLUDEPATH += \ $$ANGLE_DIR/src \ $$ANGLE_DIR/include @@ -20,6 +23,7 @@ HEADERS += \ $$ANGLE_DIR/src/compiler/ConstantUnion.h \ $$ANGLE_DIR/src/compiler/debug.h \ $$ANGLE_DIR/src/compiler/DetectRecursion.h \ + $$ANGLE_DIR/src/compiler/DetectCallDepth.h \ $$ANGLE_DIR/src/compiler/Diagnostics.h \ $$ANGLE_DIR/src/compiler/DirectiveHandler.h \ $$ANGLE_DIR/src/compiler/ForLoopUnroll.h \ @@ -27,6 +31,7 @@ HEADERS += \ $$ANGLE_DIR/src/compiler/Initialize.h \ $$ANGLE_DIR/src/compiler/InitializeDll.h \ $$ANGLE_DIR/src/compiler/InitializeGlobals.h \ + $$ANGLE_DIR/src/compiler/InitializeGLPosition.h \ $$ANGLE_DIR/src/compiler/InitializeParseContext.h \ $$ANGLE_DIR/src/compiler/intermediate.h \ $$ANGLE_DIR/src/compiler/localintermediate.h \ @@ -59,6 +64,7 @@ SOURCES += \ $$ANGLE_DIR/src/compiler/BuiltInFunctionEmulator.cpp \ $$ANGLE_DIR/src/compiler/Compiler.cpp \ $$ANGLE_DIR/src/compiler/debug.cpp \ + $$ANGLE_DIR/src/compiler/DetectCallDepth.cpp \ $$ANGLE_DIR/src/compiler/DetectRecursion.cpp \ $$ANGLE_DIR/src/compiler/Diagnostics.cpp \ $$ANGLE_DIR/src/compiler/DirectiveHandler.cpp \ @@ -66,6 +72,7 @@ SOURCES += \ $$ANGLE_DIR/src/compiler/InfoSink.cpp \ $$ANGLE_DIR/src/compiler/Initialize.cpp \ $$ANGLE_DIR/src/compiler/InitializeDll.cpp \ + $$ANGLE_DIR/src/compiler/InitializeGLPosition.cpp \ $$ANGLE_DIR/src/compiler/InitializeParseContext.cpp \ $$ANGLE_DIR/src/compiler/Intermediate.cpp \ $$ANGLE_DIR/src/compiler/intermOut.cpp \ diff --git a/src/angle/src/compiler/translator_hlsl.pro b/src/angle/src/compiler/translator_hlsl.pro index 6b17f14d2e..1c31cad297 100644 --- a/src/angle/src/compiler/translator_hlsl.pro +++ b/src/angle/src/compiler/translator_hlsl.pro @@ -4,6 +4,9 @@ TARGET = $$qtLibraryTarget(translator_hlsl) include(../config.pri) +# Mingw 4.7 chokes on implicit move semantics, so disable C++11 here +win32-g++*: CONFIG -= c++11 + INCLUDEPATH += $$ANGLE_DIR/src \ $$ANGLE_DIR/include diff --git a/src/angle/src/libEGL/libEGL.pro b/src/angle/src/libEGL/libEGL.pro index 1a338ef0d2..3781bd7868 100644 --- a/src/angle/src/libEGL/libEGL.pro +++ b/src/angle/src/libEGL/libEGL.pro @@ -3,10 +3,6 @@ TARGET = $$qtLibraryTarget(libEGL) include(../common/common.pri) -# Note: ANGLE is patched to dynamically resolve DwmIsCompositionEnabled DwmSetPresentParameters -# in Surface.cpp, which would otherwise require -ldwmapi, which does not exist on Windows XP -# (QTBUG-27741). - angle_d3d11 { LIBS += -ld3d11 } else { diff --git a/src/angle/src/libGLESv2/libGLESv2.pro b/src/angle/src/libGLESv2/libGLESv2.pro index ba1f226143..ff2f888b1d 100644 --- a/src/angle/src/libGLESv2/libGLESv2.pro +++ b/src/angle/src/libGLESv2/libGLESv2.pro @@ -12,7 +12,7 @@ angle_d3d11 { } else { LIBS += -ld3d9 } -LIBS += -ldxguid -ld3dcompiler +LIBS += -ldxguid STATICLIBS = translator_common translator_hlsl preprocessor for(libname, STATICLIBS) { @@ -49,6 +49,7 @@ HEADERS += \ $$ANGLE_DIR/src/libGLESv2/renderer/Image.h \ $$ANGLE_DIR/src/libGLESv2/renderer/IndexBuffer.h \ $$ANGLE_DIR/src/libGLESv2/renderer/IndexDataManager.h \ + $$ANGLE_DIR/src/libGLESv2/renderer/IndexCacheRange.h \ $$ANGLE_DIR/src/libGLESv2/renderer/Renderer.h \ $$ANGLE_DIR/src/libGLESv2/renderer/RenderTarget.h \ $$ANGLE_DIR/src/libGLESv2/renderer/ShaderExecutable.h \ @@ -82,6 +83,7 @@ SOURCES += \ $$ANGLE_DIR/src/libGLESv2/renderer/Image.cpp \ $$ANGLE_DIR/src/libGLESv2/renderer/IndexBuffer.cpp \ $$ANGLE_DIR/src/libGLESv2/renderer/IndexDataManager.cpp \ + $$ANGLE_DIR/src/libGLESv2/renderer/IndexRangeCache.cpp \ $$ANGLE_DIR/src/libGLESv2/renderer/Renderer.cpp \ $$ANGLE_DIR/src/libGLESv2/renderer/TextureStorage.cpp \ $$ANGLE_DIR/src/libGLESv2/renderer/VertexBuffer.cpp \ @@ -165,22 +167,23 @@ float_converter.commands = python $$ANGLE_DIR/src/libGLESv2/Float16ToFloat32.py QMAKE_EXTRA_TARGETS += float_converter # Generate the shader header files. -PS_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/shaders/Blit.ps -VS_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/shaders/Blit.vs +PS_BLIT_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/shaders/Blit.ps +VS_BLIT_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/shaders/Blit.vs PASSTHROUGH_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/shaders/Passthrough11.hlsl CLEAR_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/shaders/Clear11.hlsl -PIXEL_SHADERS = passthroughps luminanceps componentmaskps +PIXEL_SHADERS_BLIT = passthroughps luminanceps componentmaskps PIXEL_SHADERS_PASSTHROUGH = PassthroughRGBA PassthroughRGB \ PassthroughLum PassthroughLumAlpha -VERTEX_SHADERS = standardvs flipyvs +PIXEL_SHADERS_CLEAR = ClearSingle ClearMultiple +VERTEX_SHADERS_BLIT = standardvs flipyvs VERTEX_SHADERS_PASSTHROUGH = Passthrough -CLEAR_SHADERS = Clear +VERTEX_SHADERS_CLEAR = Clear SHADER_DIR = $$OUT_PWD/renderer/shaders/compiled -for (ps, PIXEL_SHADERS) { +for (ps, PIXEL_SHADERS_BLIT) { fxc_ps_$${ps}.commands = $$FXC /nologo /E $$ps /T ps_2_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} fxc_ps_$${ps}.output = $$SHADER_DIR/$${ps}.h - fxc_ps_$${ps}.input = PS_INPUT + fxc_ps_$${ps}.input = PS_BLIT_INPUT fxc_ps_$${ps}.dependency_type = TYPE_C fxc_ps_$${ps}.variable_out = HEADERS fxc_ps_$${ps}.CONFIG += target_predeps @@ -195,7 +198,7 @@ for (ps, PIXEL_SHADERS_PASSTHROUGH) { fxc_ps_$${ps}.CONFIG += target_predeps QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps} } -for (ps, CLEAR_SHADERS) { +for (ps, PIXEL_SHADERS_CLEAR) { fxc_ps_$${ps}.commands = $$FXC /nologo /E PS_$$ps /T ps_4_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} fxc_ps_$${ps}.output = $$SHADER_DIR/$${ps}11ps.h fxc_ps_$${ps}.input = CLEAR_INPUT @@ -204,10 +207,10 @@ for (ps, CLEAR_SHADERS) { fxc_ps_$${ps}.CONFIG += target_predeps QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps} } -for (vs, VERTEX_SHADERS) { +for (vs, VERTEX_SHADERS_BLIT) { fxc_vs_$${vs}.commands = $$FXC /nologo /E $$vs /T vs_2_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} fxc_vs_$${vs}.output = $$SHADER_DIR/$${vs}.h - fxc_vs_$${vs}.input = VS_INPUT + fxc_vs_$${vs}.input = VS_BLIT_INPUT fxc_vs_$${vs}.dependency_type = TYPE_C fxc_vs_$${vs}.variable_out = HEADERS fxc_vs_$${vs}.CONFIG += target_predeps @@ -222,7 +225,7 @@ for (vs, VERTEX_SHADERS_PASSTHROUGH) { fxc_vs_$${vs}.CONFIG += target_predeps QMAKE_EXTRA_COMPILERS += fxc_vs_$${vs} } -for (vs, CLEAR_SHADERS) { +for (vs, VERTEX_SHADERS_CLEAR) { fxc_vs_$${vs}.commands = $$FXC /nologo /E VS_$$vs /T vs_4_0 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} fxc_vs_$${vs}.output = $$SHADER_DIR/$${vs}11vs.h fxc_vs_$${vs}.input = CLEAR_INPUT |