summaryrefslogtreecommitdiffstats
path: root/src/angle/src/libGLESv2
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2014-08-05 12:59:44 +0300
committerAndrew Knight <andrew.knight@digia.com>2014-08-05 16:43:22 +0200
commita6a12d8c0fc918972c15268f749ecc7c90b95d6c (patch)
treecb6d986d30ef97e932ab51768854d5d9b46729d3 /src/angle/src/libGLESv2
parent14f9c09542bd6cc19430473da9ce4c68f239ec7d (diff)
ANGLE: upgrade to 2.1~07d49ef5350a
This version of ANGLE provides partial ES3 support, numerous bug fixes, and several potentially useful vendor extensions. All patches have been rebased. The following changes are noted: 0000-General-fixes-for-ANGLE-2.1.patch contains compile fixes for the new ANGLE 0004-Make-it-possible-to-link-ANGLE-statically-for-single.patch has incorporated patch 0015. 0007-Make-DX9-DX11-mutually-exclusive.patch has been removed as it was fixed upstream. 0007-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch has been moved up to fill the patch number gap. 0010-ANGLE-Enable-D3D11-for-feature-level-9-cards.patch now contains patch 0014 and 0017. 0013-ANGLE-Allow-for-universal-program-binaries.patch has been removed as it is no longer relevant. 0014-ANGLE-D3D11-Fix-internal-index-buffer-for-level-9-ha.patch has been merged with patch 0010. 0015-ANGLE-Don-t-export-DLLMain-functions-for-static-buil.patch has been merged with patch 0004. 0016-ANGLE-WinRT-Call-Trim-when-application-suspends.patch has been removed and will be replaced by a follow-up patch using a different technique. 0017-ANGLE-D3D11-Don-t-use-mipmaps-in-level-9-textures.patch has been merged with patch 0010. 0018-ANGLE-WinRT-Create-swap-chain-using-physical-resolut.patch has been removed and will be replaced by a follow-up patch extending the EGL_ANGLE_window_fixed_size extension. 0019-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch is now patch 0007. [ChangeLog][Third-party libraries] ANGLE has been upgraded to version 2.1, bringing partial support for OpenGL ES3 over Direct3D 11, numerous bug fixes, and several new vendor extensions. Change-Id: I6d95ce1480462d67228d83c1e5c74a1706b5b21c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/angle/src/libGLESv2')
-rw-r--r--src/angle/src/libGLESv2/libGLESv2.pro376
1 files changed, 228 insertions, 148 deletions
diff --git a/src/angle/src/libGLESv2/libGLESv2.pro b/src/angle/src/libGLESv2/libGLESv2.pro
index 70c58dc5a4..8109c34942 100644
--- a/src/angle/src/libGLESv2/libGLESv2.pro
+++ b/src/angle/src/libGLESv2/libGLESv2.pro
@@ -8,6 +8,8 @@ angle_d3d11: \
LIBS_PRIVATE += -ldxgi -ld3d11
!winrt: \
LIBS_PRIVATE += -ld3d9
+winrt: \
+ LIBS_PRIVATE += -ld3dcompiler
LIBS_PRIVATE += -ldxguid
@@ -21,138 +23,201 @@ for(libname, STATICLIBS) {
}
HEADERS += \
- $$ANGLE_DIR/src/third_party/murmurhash/MurmurHash3.h \
+ $$ANGLE_DIR/src/common/blocklayout.h \
+ $$ANGLE_DIR/src/common/shadervars.h \
+ $$ANGLE_DIR/src/common/utilities.h \
+ $$ANGLE_DIR/src/libGLESv2/angletypes.h \
$$ANGLE_DIR/src/libGLESv2/BinaryStream.h \
$$ANGLE_DIR/src/libGLESv2/Buffer.h \
+ $$ANGLE_DIR/src/libGLESv2/Caps.h \
$$ANGLE_DIR/src/libGLESv2/Context.h \
+ $$ANGLE_DIR/src/libGLESv2/DynamicHLSL.h \
$$ANGLE_DIR/src/libGLESv2/Fence.h \
+ $$ANGLE_DIR/src/libGLESv2/formatutils.h \
$$ANGLE_DIR/src/libGLESv2/Framebuffer.h \
+ $$ANGLE_DIR/src/libGLESv2/FramebufferAttachment.h \
$$ANGLE_DIR/src/libGLESv2/HandleAllocator.h \
$$ANGLE_DIR/src/libGLESv2/main.h \
- $$ANGLE_DIR/src/libGLESv2/mathutil.h \
+ $$ANGLE_DIR/src/libGLESv2/precompiled.h \
$$ANGLE_DIR/src/libGLESv2/Program.h \
$$ANGLE_DIR/src/libGLESv2/ProgramBinary.h \
$$ANGLE_DIR/src/libGLESv2/Query.h \
+ $$ANGLE_DIR/src/libGLESv2/queryconversions.h \
$$ANGLE_DIR/src/libGLESv2/Renderbuffer.h \
- $$ANGLE_DIR/src/libGLESv2/resource.h \
- $$ANGLE_DIR/src/libGLESv2/ResourceManager.h \
- $$ANGLE_DIR/src/libGLESv2/Shader.h \
- $$ANGLE_DIR/src/libGLESv2/Texture.h \
- $$ANGLE_DIR/src/libGLESv2/Uniform.h \
- $$ANGLE_DIR/src/libGLESv2/utilities.h \
- $$ANGLE_DIR/src/libGLESv2/vertexconversion.h \
- $$ANGLE_DIR/src/libGLESv2/precompiled.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/BufferStorage.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/BufferImpl.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/copyimage.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/copyvertex.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/BufferD3D.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/HLSLCompiler.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/ImageD3D.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/IndexBuffer.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/IndexDataManager.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/MemoryBuffer.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/TextureD3D.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/TextureStorage.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/VertexArrayImpl.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/VertexBuffer.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/vertexconversion.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/VertexDataManager.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/FenceImpl.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/generatemip.h \
$$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/imageformats.h \
$$ANGLE_DIR/src/libGLESv2/renderer/IndexCacheRange.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/loadimage.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/QueryImpl.h \
$$ANGLE_DIR/src/libGLESv2/renderer/Renderer.h \
$$ANGLE_DIR/src/libGLESv2/renderer/RenderTarget.h \
$$ANGLE_DIR/src/libGLESv2/renderer/ShaderExecutable.h \
$$ANGLE_DIR/src/libGLESv2/renderer/SwapChain.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/TextureStorage.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/VertexBuffer.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/VertexDataManager.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/VertexDeclarationCache.h
+ $$ANGLE_DIR/src/libGLESv2/renderer/TextureImpl.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/VertexDeclarationCache.h \
+ $$ANGLE_DIR/src/libGLESv2/resource.h \
+ $$ANGLE_DIR/src/libGLESv2/ResourceManager.h \
+ $$ANGLE_DIR/src/libGLESv2/Sampler.h \
+ $$ANGLE_DIR/src/libGLESv2/Shader.h \
+ $$ANGLE_DIR/src/libGLESv2/State.h \
+ $$ANGLE_DIR/src/libGLESv2/Texture.h \
+ $$ANGLE_DIR/src/libGLESv2/TransformFeedback.h \
+ $$ANGLE_DIR/src/libGLESv2/Uniform.h \
+ $$ANGLE_DIR/src/libGLESv2/validationES.h \
+ $$ANGLE_DIR/src/libGLESv2/validationES2.h \
+ $$ANGLE_DIR/src/libGLESv2/validationES3.h \
+ $$ANGLE_DIR/src/libGLESv2/VertexArray.h \
+ $$ANGLE_DIR/src/libGLESv2/VertexAttribute.h \
+ $$ANGLE_DIR/src/libGLESv2/vertexconversion.h \
+ $$ANGLE_DIR/src/third_party/murmurhash/MurmurHash3.h \
SOURCES += \
+ $$ANGLE_DIR/src/common/blocklayout.cpp \
+ $$ANGLE_DIR/src/common/mathutil.cpp \
+ $$ANGLE_DIR/src/common/utilities.cpp \
$$ANGLE_DIR/src/third_party/murmurhash/MurmurHash3.cpp \
+ $$ANGLE_DIR/src/libGLESv2/angletypes.cpp \
$$ANGLE_DIR/src/libGLESv2/Buffer.cpp \
+ $$ANGLE_DIR/src/libGLESv2/Caps.cpp \
$$ANGLE_DIR/src/libGLESv2/Context.cpp \
+ $$ANGLE_DIR/src/libGLESv2/DynamicHLSL.cpp \
$$ANGLE_DIR/src/libGLESv2/Fence.cpp \
$$ANGLE_DIR/src/libGLESv2/Float16ToFloat32.cpp \
$$ANGLE_DIR/src/libGLESv2/Framebuffer.cpp \
+ $$ANGLE_DIR/src/libGLESv2/FramebufferAttachment.cpp \
+ $$ANGLE_DIR/src/libGLESv2/formatutils.cpp \
$$ANGLE_DIR/src/libGLESv2/HandleAllocator.cpp \
$$ANGLE_DIR/src/libGLESv2/libGLESv2.cpp \
$$ANGLE_DIR/src/libGLESv2/main.cpp \
$$ANGLE_DIR/src/libGLESv2/Program.cpp \
$$ANGLE_DIR/src/libGLESv2/ProgramBinary.cpp \
$$ANGLE_DIR/src/libGLESv2/Query.cpp \
+ $$ANGLE_DIR/src/libGLESv2/queryconversions.cpp \
$$ANGLE_DIR/src/libGLESv2/Renderbuffer.cpp \
$$ANGLE_DIR/src/libGLESv2/ResourceManager.cpp \
+ $$ANGLE_DIR/src/libGLESv2/Sampler.cpp \
$$ANGLE_DIR/src/libGLESv2/Shader.cpp \
+ $$ANGLE_DIR/src/libGLESv2/State.cpp \
$$ANGLE_DIR/src/libGLESv2/Texture.cpp \
+ $$ANGLE_DIR/src/libGLESv2/TransformFeedback.cpp \
$$ANGLE_DIR/src/libGLESv2/Uniform.cpp \
- $$ANGLE_DIR/src/libGLESv2/utilities.cpp \
+ $$ANGLE_DIR/src/libGLESv2/validationES.cpp \
+ $$ANGLE_DIR/src/libGLESv2/validationES2.cpp \
+ $$ANGLE_DIR/src/libGLESv2/validationES3.cpp \
+ $$ANGLE_DIR/src/libGLESv2/VertexArray.cpp \
+ $$ANGLE_DIR/src/libGLESv2/VertexAttribute.cpp \
$$ANGLE_DIR/src/libGLESv2/precompiled.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/BufferStorage.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/copyimage.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/loadimage.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/loadimageSSE2.cpp \
$$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 \
- $$ANGLE_DIR/src/libGLESv2/renderer/VertexDataManager.cpp
-
-SSE2_SOURCES += $$ANGLE_DIR/src/libGLESv2/renderer/ImageSSE2.cpp
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/BufferD3D.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/HLSLCompiler.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/ImageD3D.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/IndexBuffer.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/IndexDataManager.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/MemoryBuffer.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/TextureD3D.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/TextureStorage.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/VertexBuffer.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/VertexDataManager.cpp
angle_d3d11 {
HEADERS += \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/BufferStorage11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Fence11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Image11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/IndexBuffer11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/InputLayoutCache.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Query11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Renderer11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/renderer11_utils.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/RenderTarget11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/RenderStateCache.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/ShaderExecutable11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/SwapChain11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/TextureStorage11.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/VertexBuffer11.h
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Blit11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Buffer11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Clear11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Fence11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/formatutils11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Image11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Query11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Renderer11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.h
SOURCES += \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/BufferStorage11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Fence11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Image11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/IndexBuffer11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/InputLayoutCache.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Query11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/Renderer11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/renderer11_utils.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/RenderTarget11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/RenderStateCache.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/ShaderExecutable11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/SwapChain11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/TextureStorage11.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/VertexBuffer11.cpp
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Blit11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Clear11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Fence11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/formatutils11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Image11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/IndexBuffer11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/InputLayoutCache.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/PixelTransfer11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/Renderer11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/renderer11_utils.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/RenderTarget11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/RenderStateCache.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/ShaderExecutable11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/SwapChain11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/TextureStorage11.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/VertexBuffer11.cpp
}
!winrt {
HEADERS += \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Blit.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/BufferStorage9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Fence9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Image9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/IndexBuffer9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Query9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Renderer9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/renderer9_utils.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/RenderTarget9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/ShaderExecutable9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/SwapChain9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/TextureStorage9.h \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/VertexBuffer9.h
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Blit9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Buffer9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Fence9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/formatutils9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Image9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Query9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Renderer9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.h \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.h \
+ $$ANGLE_DIR/src/third_party/systeminfo/SystemInfo.h
SOURCES += \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Blit.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/BufferStorage9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Fence9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Image9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/IndexBuffer9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Query9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/Renderer9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/renderer9_utils.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/RenderTarget9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/ShaderExecutable9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/SwapChain9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/TextureStorage9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/VertexBuffer9.cpp \
- $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/VertexDeclarationCache.cpp
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Blit9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Fence9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/formatutils9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Image9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/IndexBuffer9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/Renderer9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/renderer9_utils.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/RenderTarget9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/ShaderExecutable9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/SwapChain9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/TextureStorage9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/VertexBuffer9.cpp \
+ $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/VertexDeclarationCache.cpp \
+ $$ANGLE_DIR/src/third_party/systeminfo/SystemInfo.cpp
}
!static {
@@ -166,73 +231,82 @@ float_converter.commands = python $$ANGLE_DIR/src/libGLESv2/Float16ToFloat32.py
QMAKE_EXTRA_TARGETS += float_converter
# Generate the shader header files.
-PS_BLIT_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/shaders/Blit.ps
-VS_BLIT_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/d3d9/shaders/Blit.vs
-PASSTHROUGH_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/shaders/Passthrough11.hlsl
-CLEAR_INPUT = $$ANGLE_DIR/src/libGLESv2/renderer/d3d11/shaders/Clear11.hlsl
-PIXEL_SHADERS_BLIT = passthroughps luminanceps componentmaskps
-PIXEL_SHADERS_PASSTHROUGH = PassthroughRGBA PassthroughRGB \
- PassthroughLum PassthroughLumAlpha
-PIXEL_SHADERS_CLEAR = ClearSingle ClearMultiple
-VERTEX_SHADERS_BLIT = standardvs flipyvs
-VERTEX_SHADERS_PASSTHROUGH = Passthrough
-VERTEX_SHADERS_CLEAR = Clear
-SHADER_DIR_9 = $$OUT_PWD/renderer/d3d9/shaders/compiled
-SHADER_DIR_11 = $$OUT_PWD/renderer/d3d11/shaders/compiled
-
-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_9/$${ps}.h
- 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
- !winrt: QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps}
-}
-for (ps, PIXEL_SHADERS_PASSTHROUGH) {
- fxc_ps_$${ps}.commands = $$FXC /nologo /E PS_$$ps /T ps_4_0_level_9_1 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
- fxc_ps_$${ps}.output = $$SHADER_DIR_11/$${ps}11ps.h
- fxc_ps_$${ps}.input = PASSTHROUGH_INPUT
- fxc_ps_$${ps}.dependency_type = TYPE_C
- fxc_ps_$${ps}.variable_out = HEADERS
- fxc_ps_$${ps}.CONFIG += target_predeps
- angle_d3d11: QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps}
-}
-for (ps, PIXEL_SHADERS_CLEAR) {
- fxc_ps_$${ps}.commands = $$FXC /nologo /E PS_$$ps /T ps_4_0_level_9_1 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
- fxc_ps_$${ps}.output = $$SHADER_DIR_11/$${ps}11ps.h
- fxc_ps_$${ps}.input = CLEAR_INPUT
- fxc_ps_$${ps}.dependency_type = TYPE_C
- fxc_ps_$${ps}.variable_out = HEADERS
- fxc_ps_$${ps}.CONFIG += target_predeps
- angle_d3d11: QMAKE_EXTRA_COMPILERS += fxc_ps_$${ps}
-}
-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_9/$${vs}.h
- 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
- !winrt: QMAKE_EXTRA_COMPILERS += fxc_vs_$${vs}
-}
-for (vs, VERTEX_SHADERS_PASSTHROUGH) {
- fxc_vs_$${vs}.commands = $$FXC /nologo /E VS_$$vs /T vs_4_0_level_9_1 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
- fxc_vs_$${vs}.output = $$SHADER_DIR_11/$${vs}11vs.h
- fxc_vs_$${vs}.input = PASSTHROUGH_INPUT
- fxc_vs_$${vs}.dependency_type = TYPE_C
- fxc_vs_$${vs}.variable_out = HEADERS
- fxc_vs_$${vs}.CONFIG += target_predeps
- angle_d3d11: QMAKE_EXTRA_COMPILERS += fxc_vs_$${vs}
-}
-for (vs, VERTEX_SHADERS_CLEAR) {
- fxc_vs_$${vs}.commands = $$FXC /nologo /E VS_$$vs /T vs_4_0_level_9_1 /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
- fxc_vs_$${vs}.output = $$SHADER_DIR_11/$${vs}11vs.h
- fxc_vs_$${vs}.input = CLEAR_INPUT
- fxc_vs_$${vs}.dependency_type = TYPE_C
- fxc_vs_$${vs}.variable_out = HEADERS
- fxc_vs_$${vs}.CONFIG += target_predeps
- angle_d3d11: QMAKE_EXTRA_COMPILERS += fxc_vs_$${vs}
+SHADER9_INPUT_DIR = $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d9/shaders
+SHADER11_INPUT_DIR = $$ANGLE_DIR/src/libGLESv2/renderer/d3d/d3d11/shaders
+
+BLITPS_INPUT = $$SHADER9_INPUT_DIR/Blit.ps
+BLITPS.shaders = PS_passthrough PS_luminance PS_componentmask
+BLITPS.profile = 2_0
+
+BLITVS_INPUT = $$SHADER9_INPUT_DIR/Blit.vs
+BLITVS.shaders = VS_standard VS_flipy
+BLITVS.profile = 2_0
+
+BUFFERTOTEXTURE_INPUT = $$SHADER11_INPUT_DIR/BufferToTexture11.hlsl
+BUFFERTOTEXTURE.shaders = \
+ PS_BufferToTexture_4F PS_BufferToTexture_4I PS_BufferToTexture_4UI \
+ VS_BufferToTexture GS_BufferToTexture
+BUFFERTOTEXTURE.profile = 4_0
+
+CLEAR_INPUT = $$SHADER11_INPUT_DIR/Clear11.hlsl
+CLEAR.shaders = \
+ PS_ClearUint PS_ClearSint \
+ VS_ClearUint VS_ClearSint
+CLEAR.shaders_compat = PS_ClearFloat VS_ClearFloat
+CLEAR.profile = 4_0
+
+PASSTHROUGH2D_INPUT = $$SHADER11_INPUT_DIR/Passthrough2D11.hlsl
+PASSTHROUGH2D.shaders = \
+ PS_PassthroughRGBA2DUI PS_PassthroughRGBA2DI \
+ PS_PassthroughRGB2DUI PS_PassthroughRGB2DI \
+ PS_PassthroughRG2DUI PS_PassthroughRG2DI \
+ PS_PassthroughR2DUI PS_PassthroughR2DI \
+ PS_PassthroughDepth2D
+PASSTHROUGH2D.shaders_compat = \
+ PS_PassthroughRGBA2D PS_PassthroughRGB2D \
+ PS_PassthroughRG2D PS_PassthroughR2D \
+ PS_PassthroughLum2D PS_PassthroughLumAlpha2D \
+ VS_Passthrough2D
+PASSTHROUGH2D.profile = 4_0
+
+PASSTHROUGH3D_INPUT = $$SHADER11_INPUT_DIR/Passthrough3D11.hlsl
+PASSTHROUGH3D.shaders = \
+ 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 \
+ VS_Passthrough3D GS_Passthrough3D
+PASSTHROUGH3D.profile = 4_0
+
+SWIZZLE_INPUT = $$SHADER11_INPUT_DIR/Swizzle11.hlsl
+SWIZZLE.shaders = \
+ PS_SwizzleI2D PS_SwizzleUI2D \
+ PS_SwizzleF3D PS_SwizzleI3D PS_SwizzleUI3D \
+ PS_SwizzleF2DArray PS_SwizzleI2DArray PS_SwizzleUI2DArray
+SWIZZLE.shaders_compat = PS_SwizzleF2D
+SWIZZLE.profile = 4_0
+
+angle_d3d11: FXC_JOBS = BUFFERTOTEXTURE CLEAR PASSTHROUGH2D PASSTHROUGH3D SWIZZLE
+!winrt: FXC_JOBS += BLITPS BLITVS
+
+for (JOB, FXC_JOBS) {
+ INPUT = $${JOB}_INPUT
+ OUT_DIR = $$OUT_PWD/$$relative_path($$dirname($$INPUT), $$ANGLE_DIR/src/libGLESv2)/compiled
+ SHADERS_COMPAT = $$eval($${JOB}.shaders_compat)
+ SHADERS = $$eval($${JOB}.shaders) $$SHADERS_COMPAT
+ for(SHADER, SHADERS) {
+ TYPE = $$lower($$section(SHADER, _, 0, 0))
+ PROFILE = $${TYPE}_$$eval($${JOB}.profile)
+ contains(SHADERS_COMPAT, $$SHADER): PROFILE = $${PROFILE}_level_9_1
+ fxc_$${SHADER}_$${PROFILE}.commands = $$FXC /nologo /E $${SHADER} /T $${PROFILE} /Fh ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}
+ fxc_$${SHADER}_$${PROFILE}.output = $$OUT_DIR/$$section(SHADER, _, 1)$${TYPE}.h
+ fxc_$${SHADER}_$${PROFILE}.input = $$INPUT
+ fxc_$${SHADER}_$${PROFILE}.dependency_type = TYPE_C
+ fxc_$${SHADER}_$${PROFILE}.variable_out = HEADERS
+ fxc_$${SHADER}_$${PROFILE}.CONFIG += target_predeps
+ QMAKE_EXTRA_COMPILERS += fxc_$${SHADER}_$${PROFILE}
+ }
}
khr_headers.files = $$ANGLE_DIR/include/KHR/khrplatform.h
@@ -242,4 +316,10 @@ gles2_headers.files = \
$$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