diff options
author | Andrew Knight <andrew.knight@digia.com> | 2014-08-05 12:59:44 +0300 |
---|---|---|
committer | Andrew Knight <andrew.knight@digia.com> | 2014-08-05 16:43:22 +0200 |
commit | a6a12d8c0fc918972c15268f749ecc7c90b95d6c (patch) | |
tree | cb6d986d30ef97e932ab51768854d5d9b46729d3 /src/angle/src/libGLESv2 | |
parent | 14f9c09542bd6cc19430473da9ce4c68f239ec7d (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.pro | 376 |
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 |