| # Copyright 2020 The ANGLE Project Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # This file houses the build configuration for the ANGLE D3D back-ends. |
| |
| import("../../../../gni/angle.gni") |
| |
| assert(angle_enable_d3d11 || angle_enable_d3d9) |
| |
| _d3d_shared_sources = [ |
| "BufferD3D.cpp", |
| "BufferD3D.h", |
| "CompilerD3D.cpp", |
| "CompilerD3D.h", |
| "ContextD3D.h", |
| "DeviceD3D.cpp", |
| "DeviceD3D.h", |
| "DisplayD3D.cpp", |
| "DisplayD3D.h", |
| "DynamicHLSL.cpp", |
| "DynamicHLSL.h", |
| "DynamicImage2DHLSL.cpp", |
| "DynamicImage2DHLSL.h", |
| "EGLImageD3D.cpp", |
| "EGLImageD3D.h", |
| "FramebufferD3D.cpp", |
| "FramebufferD3D.h", |
| "HLSLCompiler.cpp", |
| "HLSLCompiler.h", |
| "ImageD3D.cpp", |
| "ImageD3D.h", |
| "IndexBuffer.cpp", |
| "IndexBuffer.h", |
| "IndexDataManager.cpp", |
| "IndexDataManager.h", |
| "NativeWindowD3D.cpp", |
| "NativeWindowD3D.h", |
| "ProgramD3D.cpp", |
| "ProgramD3D.h", |
| "RenderTargetD3D.cpp", |
| "RenderTargetD3D.h", |
| "RenderbufferD3D.cpp", |
| "RenderbufferD3D.h", |
| "RendererD3D.cpp", |
| "RendererD3D.h", |
| "SamplerD3D.h", |
| "ShaderD3D.cpp", |
| "ShaderD3D.h", |
| "ShaderExecutableD3D.cpp", |
| "ShaderExecutableD3D.h", |
| "SurfaceD3D.cpp", |
| "SurfaceD3D.h", |
| "SwapChainD3D.cpp", |
| "SwapChainD3D.h", |
| "TextureD3D.cpp", |
| "TextureD3D.h", |
| "TextureStorage.h", |
| "VertexBuffer.cpp", |
| "VertexBuffer.h", |
| "VertexDataManager.cpp", |
| "VertexDataManager.h", |
| "driver_utils_d3d.cpp", |
| "driver_utils_d3d.h", |
| "formatutilsD3D.h", |
| ] |
| |
| if (!angle_is_winuwp) { |
| _d3d_shared_sources += [ |
| "../../../third_party/systeminfo/SystemInfo.cpp", |
| "../../../third_party/systeminfo/SystemInfo.h", |
| ] |
| } |
| |
| if (angle_enable_d3d9) { |
| _d3d9_backend_sources = [ |
| "d3d9/Blit9.cpp", |
| "d3d9/Blit9.h", |
| "d3d9/Buffer9.cpp", |
| "d3d9/Buffer9.h", |
| "d3d9/Context9.cpp", |
| "d3d9/Context9.h", |
| "d3d9/DebugAnnotator9.cpp", |
| "d3d9/DebugAnnotator9.h", |
| "d3d9/Fence9.cpp", |
| "d3d9/Fence9.h", |
| "d3d9/Framebuffer9.cpp", |
| "d3d9/Framebuffer9.h", |
| "d3d9/Image9.cpp", |
| "d3d9/Image9.h", |
| "d3d9/IndexBuffer9.cpp", |
| "d3d9/IndexBuffer9.h", |
| "d3d9/NativeWindow9.cpp", |
| "d3d9/NativeWindow9.h", |
| "d3d9/Query9.cpp", |
| "d3d9/Query9.h", |
| "d3d9/RenderTarget9.cpp", |
| "d3d9/RenderTarget9.h", |
| "d3d9/Renderer9.cpp", |
| "d3d9/Renderer9.h", |
| "d3d9/ShaderCache.h", |
| "d3d9/ShaderExecutable9.cpp", |
| "d3d9/ShaderExecutable9.h", |
| "d3d9/StateManager9.cpp", |
| "d3d9/StateManager9.h", |
| "d3d9/SwapChain9.cpp", |
| "d3d9/SwapChain9.h", |
| "d3d9/TextureStorage9.cpp", |
| "d3d9/TextureStorage9.h", |
| "d3d9/VertexArray9.h", |
| "d3d9/VertexBuffer9.cpp", |
| "d3d9/VertexBuffer9.h", |
| "d3d9/VertexDeclarationCache.cpp", |
| "d3d9/VertexDeclarationCache.h", |
| "d3d9/formatutils9.cpp", |
| "d3d9/formatutils9.h", |
| "d3d9/renderer9_utils.cpp", |
| "d3d9/renderer9_utils.h", |
| "d3d9/shaders/compiled/componentmaskpremultps.h", |
| "d3d9/shaders/compiled/componentmaskps.h", |
| "d3d9/shaders/compiled/componentmaskunmultps.h", |
| "d3d9/shaders/compiled/luminancepremultps.h", |
| "d3d9/shaders/compiled/luminanceps.h", |
| "d3d9/shaders/compiled/luminanceunmultps.h", |
| "d3d9/shaders/compiled/passthroughps.h", |
| "d3d9/shaders/compiled/standardvs.h", |
| "d3d9/vertexconversion.h", |
| ] |
| } |
| |
| if (angle_enable_d3d11) { |
| _d3d11_backend_sources = [ |
| "d3d11/Blit11.cpp", |
| "d3d11/Blit11.h", |
| "d3d11/Blit11Helper_autogen.inc", |
| "d3d11/Buffer11.cpp", |
| "d3d11/Buffer11.h", |
| "d3d11/Clear11.cpp", |
| "d3d11/Clear11.h", |
| "d3d11/Context11.cpp", |
| "d3d11/Context11.h", |
| "d3d11/DebugAnnotator11.cpp", |
| "d3d11/DebugAnnotator11.h", |
| "d3d11/ExternalImageSiblingImpl11.cpp", |
| "d3d11/ExternalImageSiblingImpl11.h", |
| "d3d11/Fence11.cpp", |
| "d3d11/Fence11.h", |
| "d3d11/Framebuffer11.cpp", |
| "d3d11/Framebuffer11.h", |
| "d3d11/Image11.cpp", |
| "d3d11/Image11.h", |
| "d3d11/IndexBuffer11.cpp", |
| "d3d11/IndexBuffer11.h", |
| "d3d11/InputLayoutCache.cpp", |
| "d3d11/InputLayoutCache.h", |
| "d3d11/MappedSubresourceVerifier11.cpp", |
| "d3d11/MappedSubresourceVerifier11.h", |
| "d3d11/NativeWindow11.h", |
| "d3d11/PixelTransfer11.cpp", |
| "d3d11/PixelTransfer11.h", |
| "d3d11/Program11.cpp", |
| "d3d11/Program11.h", |
| "d3d11/ProgramPipeline11.cpp", |
| "d3d11/ProgramPipeline11.h", |
| "d3d11/Query11.cpp", |
| "d3d11/Query11.h", |
| "d3d11/RenderStateCache.cpp", |
| "d3d11/RenderStateCache.h", |
| "d3d11/RenderTarget11.cpp", |
| "d3d11/RenderTarget11.h", |
| "d3d11/Renderer11.cpp", |
| "d3d11/Renderer11.h", |
| "d3d11/ResourceManager11.cpp", |
| "d3d11/ResourceManager11.h", |
| "d3d11/ShaderExecutable11.cpp", |
| "d3d11/ShaderExecutable11.h", |
| "d3d11/StateManager11.cpp", |
| "d3d11/StateManager11.h", |
| "d3d11/StreamProducerD3DTexture.cpp", |
| "d3d11/StreamProducerD3DTexture.h", |
| "d3d11/SwapChain11.cpp", |
| "d3d11/SwapChain11.h", |
| "d3d11/TextureStorage11.cpp", |
| "d3d11/TextureStorage11.h", |
| "d3d11/TransformFeedback11.cpp", |
| "d3d11/TransformFeedback11.h", |
| "d3d11/Trim11.cpp", |
| "d3d11/Trim11.h", |
| "d3d11/VertexArray11.cpp", |
| "d3d11/VertexArray11.h", |
| "d3d11/VertexBuffer11.cpp", |
| "d3d11/VertexBuffer11.h", |
| "d3d11/formatutils11.cpp", |
| "d3d11/formatutils11.h", |
| "d3d11/renderer11_utils.cpp", |
| "d3d11/renderer11_utils.h", |
| "d3d11/shaders/compiled/buffertotexture11_gs.h", |
| "d3d11/shaders/compiled/buffertotexture11_ps_4f.h", |
| "d3d11/shaders/compiled/buffertotexture11_ps_4i.h", |
| "d3d11/shaders/compiled/buffertotexture11_ps_4ui.h", |
| "d3d11/shaders/compiled/buffertotexture11_vs.h", |
| "d3d11/shaders/compiled/clear11_fl9vs.h", |
| "d3d11/shaders/compiled/clear11multiviewgs.h", |
| "d3d11/shaders/compiled/clear11multiviewvs.h", |
| "d3d11/shaders/compiled/clear11vs.h", |
| "d3d11/shaders/compiled/cleardepth11ps.h", |
| "d3d11/shaders/compiled/clearfloat11_fl9ps.h", |
| "d3d11/shaders/compiled/clearfloat11ps1.h", |
| "d3d11/shaders/compiled/clearfloat11ps2.h", |
| "d3d11/shaders/compiled/clearfloat11ps3.h", |
| "d3d11/shaders/compiled/clearfloat11ps4.h", |
| "d3d11/shaders/compiled/clearfloat11ps5.h", |
| "d3d11/shaders/compiled/clearfloat11ps6.h", |
| "d3d11/shaders/compiled/clearfloat11ps7.h", |
| "d3d11/shaders/compiled/clearfloat11ps8.h", |
| "d3d11/shaders/compiled/clearsint11ps1.h", |
| "d3d11/shaders/compiled/clearsint11ps2.h", |
| "d3d11/shaders/compiled/clearsint11ps3.h", |
| "d3d11/shaders/compiled/clearsint11ps4.h", |
| "d3d11/shaders/compiled/clearsint11ps5.h", |
| "d3d11/shaders/compiled/clearsint11ps6.h", |
| "d3d11/shaders/compiled/clearsint11ps7.h", |
| "d3d11/shaders/compiled/clearsint11ps8.h", |
| "d3d11/shaders/compiled/clearuint11ps1.h", |
| "d3d11/shaders/compiled/clearuint11ps2.h", |
| "d3d11/shaders/compiled/clearuint11ps3.h", |
| "d3d11/shaders/compiled/clearuint11ps4.h", |
| "d3d11/shaders/compiled/clearuint11ps5.h", |
| "d3d11/shaders/compiled/clearuint11ps6.h", |
| "d3d11/shaders/compiled/clearuint11ps7.h", |
| "d3d11/shaders/compiled/clearuint11ps8.h", |
| "d3d11/shaders/compiled/passthrough2d11vs.h", |
| "d3d11/shaders/compiled/passthrough3d11gs.h", |
| "d3d11/shaders/compiled/passthrough3d11vs.h", |
| "d3d11/shaders/compiled/passthroughdepth2d11ps.h", |
| "d3d11/shaders/compiled/passthroughrgba2dms11ps.h", |
| "d3d11/shaders/compiled/resolvecolor2dps.h", |
| "d3d11/shaders/compiled/resolvedepth11_ps.h", |
| "d3d11/shaders/compiled/resolvedepthstencil11_ps.h", |
| "d3d11/shaders/compiled/resolvedepthstencil11_vs.h", |
| "d3d11/shaders/compiled/resolvestencil11_ps.h", |
| "d3d11/shaders/compiled/swizzlef2darrayps.h", |
| "d3d11/shaders/compiled/swizzlef2dps.h", |
| "d3d11/shaders/compiled/swizzlef3dps.h", |
| "d3d11/shaders/compiled/swizzlei2darrayps.h", |
| "d3d11/shaders/compiled/swizzlei2dps.h", |
| "d3d11/shaders/compiled/swizzlei3dps.h", |
| "d3d11/shaders/compiled/swizzleui2darrayps.h", |
| "d3d11/shaders/compiled/swizzleui2dps.h", |
| "d3d11/shaders/compiled/swizzleui3dps.h", |
| "d3d11/texture_format_table.cpp", |
| "d3d11/texture_format_table.h", |
| "d3d11/texture_format_table_autogen.cpp", |
| "d3d11/texture_format_table_utils.h", |
| ] |
| |
| if (angle_is_winuwp) { |
| _d3d11_backend_sources += [ |
| "d3d11/winrt/CoreWindowNativeWindow.cpp", |
| "d3d11/winrt/CoreWindowNativeWindow.h", |
| "d3d11/winrt/InspectableNativeWindow.cpp", |
| "d3d11/winrt/InspectableNativeWindow.h", |
| "d3d11/winrt/NativeWindow11WinRT.cpp", |
| "d3d11/winrt/NativeWindow11WinRT.h", |
| "d3d11/winrt/SwapChainPanelNativeWindow.cpp", |
| "d3d11/winrt/SwapChainPanelNativeWindow.h", |
| ] |
| } else { |
| _d3d11_backend_sources += [ |
| "d3d11/win32/NativeWindow11Win32.cpp", |
| "d3d11/win32/NativeWindow11Win32.h", |
| ] |
| } |
| if (angle_enable_d3d11_compositor_native_window) { |
| _d3d11_backend_sources += [ |
| "d3d11/converged/CompositorNativeWindow11.cpp", |
| "d3d11/converged/CompositorNativeWindow11.h", |
| ] |
| } |
| |
| import("d3d11/d3d11_blit_shaders_autogen.gni") |
| _d3d11_backend_sources += libangle_d3d11_blit_shaders |
| } |
| |
| config("angle_d3d_shared_config") { |
| defines = [ "ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ " + "\"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }" ] |
| } |
| |
| angle_source_set("angle_d3d_shared") { |
| sources = _d3d_shared_sources |
| public_deps = [ |
| "$angle_root:angle_d3d_format_tables", |
| "$angle_root:angle_gpu_info_util", |
| "$angle_root:angle_image_util", |
| "$angle_root:libANGLE_headers", |
| ] |
| public_configs = [ ":angle_d3d_shared_config" ] |
| } |
| |
| if (angle_enable_d3d9) { |
| config("angle_d3d9_backend_config") { |
| defines = [ "ANGLE_ENABLE_D3D9" ] |
| ldflags = [ "/DELAYLOAD:d3d9.dll" ] |
| } |
| |
| angle_source_set("angle_d3d9_backend") { |
| sources = _d3d9_backend_sources |
| libs = [ |
| "d3d9.lib", |
| "delayimp.lib", |
| ] |
| public_deps = [ ":angle_d3d_shared" ] |
| public_configs = [ ":angle_d3d9_backend_config" ] |
| } |
| } |
| |
| if (angle_enable_d3d11) { |
| config("angle_d3d11_backend_config") { |
| defines = [ "ANGLE_ENABLE_D3D11" ] |
| if (angle_enable_d3d11_compositor_native_window) { |
| defines += [ "ANGLE_ENABLE_D3D11_COMPOSITOR_NATIVE_WINDOW" ] |
| } |
| } |
| |
| angle_source_set("angle_d3d11_backend") { |
| sources = _d3d11_backend_sources |
| |
| libs = [ "dxguid.lib" ] |
| |
| public_deps = [ ":angle_d3d_shared" ] |
| public_configs = [ ":angle_d3d11_backend_config" ] |
| } |
| |
| config("angle_enable_winuwp_config") { |
| defines = [ "ANGLE_ENABLE_WINDOWS_UWP 1" ] |
| } |
| |
| angle_source_set("angle_enable_winuwp") { |
| public_configs = [ ":angle_enable_winuwp_config" ] |
| } |
| } |