blob: 26ae1d852fe059bfa516154da0edbf5c2f37eb01 [file] [log] [blame]
# 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" ]
}
}