summaryrefslogtreecommitdiffstats
path: root/src/angle/src
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2013-09-18 11:51:20 +0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 08:53:35 +0200
commit1a334f8135d4be7b73b39ac736af0e722c864e83 (patch)
treecc0b7703b815e9fca858e8eecd7eb556e186998c /src/angle/src
parentd84ed9a92ae0ce96b843c9dd5c263c6a0925405b (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.pri2
-rw-r--r--src/angle/src/compiler/translator_common.pro7
-rw-r--r--src/angle/src/compiler/translator_hlsl.pro3
-rw-r--r--src/angle/src/libEGL/libEGL.pro4
-rw-r--r--src/angle/src/libGLESv2/libGLESv2.pro27
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