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