xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/d3d/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2020 The ANGLE Project Authors. All rights reserved.
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker#
5*8975f5c5SAndroid Build Coastguard Worker# This file houses the build configuration for the ANGLE D3D back-ends.
6*8975f5c5SAndroid Build Coastguard Worker
7*8975f5c5SAndroid Build Coastguard Workerimport("../../../../gni/angle.gni")
8*8975f5c5SAndroid Build Coastguard Workerimport("d3d_backend.gni")
9*8975f5c5SAndroid Build Coastguard Worker
10*8975f5c5SAndroid Build Coastguard Workerassert(angle_enable_d3d11 || angle_enable_d3d9)
11*8975f5c5SAndroid Build Coastguard Worker
12*8975f5c5SAndroid Build Coastguard Workerconfig("angle_d3d_shared_config") {
13*8975f5c5SAndroid Build Coastguard Worker  defines = [ "ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ " + "\"d3dcompiler_47.dll\", \"d3dcompiler_46.dll\", \"d3dcompiler_43.dll\" }" ]
14*8975f5c5SAndroid Build Coastguard Worker}
15*8975f5c5SAndroid Build Coastguard Worker
16*8975f5c5SAndroid Build Coastguard Workerangle_source_set("angle_d3d_shared") {
17*8975f5c5SAndroid Build Coastguard Worker  sources = d3d_shared_sources
18*8975f5c5SAndroid Build Coastguard Worker  public_deps = [
19*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:angle_d3d_format_tables",
20*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:angle_gpu_info_util",
21*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:angle_image_util",
22*8975f5c5SAndroid Build Coastguard Worker    "$angle_root:libANGLE_headers",
23*8975f5c5SAndroid Build Coastguard Worker  ]
24*8975f5c5SAndroid Build Coastguard Worker  public_configs = [ ":angle_d3d_shared_config" ]
25*8975f5c5SAndroid Build Coastguard Worker}
26*8975f5c5SAndroid Build Coastguard Worker
27*8975f5c5SAndroid Build Coastguard Workerif (angle_enable_d3d9) {
28*8975f5c5SAndroid Build Coastguard Worker  config("angle_d3d9_backend_config") {
29*8975f5c5SAndroid Build Coastguard Worker    defines = [ "ANGLE_ENABLE_D3D9" ]
30*8975f5c5SAndroid Build Coastguard Worker    ldflags = [ "/DELAYLOAD:d3d9.dll" ]
31*8975f5c5SAndroid Build Coastguard Worker  }
32*8975f5c5SAndroid Build Coastguard Worker
33*8975f5c5SAndroid Build Coastguard Worker  angle_source_set("angle_d3d9_backend") {
34*8975f5c5SAndroid Build Coastguard Worker    sources = d3d9_backend_sources
35*8975f5c5SAndroid Build Coastguard Worker    libs = [
36*8975f5c5SAndroid Build Coastguard Worker      "d3d9.lib",
37*8975f5c5SAndroid Build Coastguard Worker      "delayimp.lib",
38*8975f5c5SAndroid Build Coastguard Worker    ]
39*8975f5c5SAndroid Build Coastguard Worker    public_deps = [ ":angle_d3d_shared" ]
40*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ ":angle_d3d9_backend_config" ]
41*8975f5c5SAndroid Build Coastguard Worker  }
42*8975f5c5SAndroid Build Coastguard Worker}
43*8975f5c5SAndroid Build Coastguard Worker
44*8975f5c5SAndroid Build Coastguard Workerif (angle_enable_d3d11) {
45*8975f5c5SAndroid Build Coastguard Worker  config("angle_d3d11_backend_config") {
46*8975f5c5SAndroid Build Coastguard Worker    defines = [ "ANGLE_ENABLE_D3D11" ]
47*8975f5c5SAndroid Build Coastguard Worker    if (angle_enable_d3d11_compositor_native_window) {
48*8975f5c5SAndroid Build Coastguard Worker      defines += [ "ANGLE_ENABLE_D3D11_COMPOSITOR_NATIVE_WINDOW" ]
49*8975f5c5SAndroid Build Coastguard Worker    }
50*8975f5c5SAndroid Build Coastguard Worker  }
51*8975f5c5SAndroid Build Coastguard Worker
52*8975f5c5SAndroid Build Coastguard Worker  angle_source_set("angle_d3d11_backend") {
53*8975f5c5SAndroid Build Coastguard Worker    sources = d3d11_backend_sources
54*8975f5c5SAndroid Build Coastguard Worker
55*8975f5c5SAndroid Build Coastguard Worker    libs = [ "dxguid.lib" ]
56*8975f5c5SAndroid Build Coastguard Worker
57*8975f5c5SAndroid Build Coastguard Worker    public_deps = [ ":angle_d3d_shared" ]
58*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ ":angle_d3d11_backend_config" ]
59*8975f5c5SAndroid Build Coastguard Worker  }
60*8975f5c5SAndroid Build Coastguard Worker
61*8975f5c5SAndroid Build Coastguard Worker  config("angle_enable_winuwp_config") {
62*8975f5c5SAndroid Build Coastguard Worker    defines = [ "ANGLE_ENABLE_WINDOWS_UWP=1" ]
63*8975f5c5SAndroid Build Coastguard Worker    if (angle_is_winappsdk) {
64*8975f5c5SAndroid Build Coastguard Worker      libs = [ "WindowsApp.lib" ]
65*8975f5c5SAndroid Build Coastguard Worker      defines += [ "ANGLE_ENABLE_WINDOWS_APP_SDK=1" ]
66*8975f5c5SAndroid Build Coastguard Worker      include_dirs = [ "$winappsdk_dir/include" ]
67*8975f5c5SAndroid Build Coastguard Worker      lib_dirs = [ "$winappsdk_dir/lib/win10-${target_cpu}" ]
68*8975f5c5SAndroid Build Coastguard Worker    }
69*8975f5c5SAndroid Build Coastguard Worker  }
70*8975f5c5SAndroid Build Coastguard Worker
71*8975f5c5SAndroid Build Coastguard Worker  angle_source_set("angle_enable_winuwp") {
72*8975f5c5SAndroid Build Coastguard Worker    public_configs = [ ":angle_enable_winuwp_config" ]
73*8975f5c5SAndroid Build Coastguard Worker  }
74*8975f5c5SAndroid Build Coastguard Worker}
75