| # Copyright 2019 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/cipd.gni") |
| import("//build/config.gni") |
| import("//build/driver_package.gni") |
| import("//src/graphics/lib/magma/gnbuild/magma.gni") |
| |
| # Only including packages built inside this file. |
| have_libvulkan_img = |
| build_libvulkan_img_rgx != [] || have_prebuilt_libvulkan_img |
| |
| group("magma-vulkan") { |
| if (!magma_enable_developer_build) { |
| public_deps = [ |
| ":magma-img-rgx-mt8167", |
| ":magma-img-rgx-mt8167-firmware", |
| ] |
| if (have_libvulkan_img) { |
| public_deps += [ ":magma-img-rgx-mt8167-config" ] |
| } |
| } |
| } |
| |
| if (magma_enable_developer_build) { |
| group("magma-dev") { |
| testonly = true |
| public_deps = [ |
| ":magma-img-rgx-mt8167", |
| ":magma-img-rgx-mt8167-firmware", |
| ] |
| if (have_libvulkan_img) { |
| public_deps += [ ":magma-img-rgx-mt8167-config" ] |
| } |
| deps = [ "//src/graphics/lib/magma/tests/unit_tests:testing_firmware_file" ] |
| } |
| } |
| |
| group("magma-vulkan-no-hardware") { |
| testonly = true |
| |
| # Without internal access (and the firmware) the driver will fail to load. |
| if (internal_access) { |
| public_deps = [ |
| ":magma-img-rgx-mt8167-firmware", |
| ":magma-img-rgx-no-hardware", |
| ] |
| } |
| } |
| |
| driver_package("magma-img-rgx-mt8167-firmware") { |
| # internal access is needed to get the firmware. |
| if (internal_access) { |
| # The firmware is treated as a library, so the copy needs to go into the |
| # shared library toolchain directory instead of the main toolchain. |
| deps = [ ":firmware($shlib_toolchain)" ] |
| libraries = [ |
| { |
| name = "firmware/rgx.fw.22.40.54.30" |
| }, |
| ] |
| } |
| } |
| |
| driver_package("magma-img-rgx-mt8167") { |
| deps = [ "//src/graphics/drivers/msd-img-rgx/mtk:msd_img_rgx_mt8167" ] |
| |
| if (magma_enable_developer_build) { |
| testonly = true |
| } |
| |
| if (build_libvulkan_img_rgx != []) { |
| deps += build_libvulkan_img_rgx |
| libraries = [ |
| { |
| name = "libvulkan_img_rgx_mt8167.so" |
| }, |
| ] |
| } else if (have_prebuilt_libvulkan_img) { |
| libraries = [ |
| { |
| name = "libvulkan_img_rgx_mt8167.so" |
| source = rebase_path(prebuilt_libvulkan_img_path) |
| }, |
| ] |
| } |
| drivers = [ |
| { |
| name = "libmsd_img_rgx_mt8167.so" |
| }, |
| ] |
| } |
| |
| driver_package("magma-img-rgx-no-hardware") { |
| deps = [ |
| "//src/graphics/drivers/msd-img-rgx/no_hardware:msd_img_rgx_no_hardware", |
| ] |
| drivers = [ |
| { |
| name = "libmsd_img_rgx_no_hardware.so" |
| }, |
| ] |
| } |
| |
| if (have_libvulkan_img) { |
| icd_config_data("magma-img-rgx-mt8167-config") { |
| icds = [ |
| { |
| lib = "libvulkan_img_rgx_mt8167.so" |
| manifest = "$target_gen_dir/vulkan/icd.d/libvulkan_img_rgx_mt8167.json" |
| }, |
| ] |
| } |
| } |
| |
| copy("firmware") { |
| sources = |
| [ "//src/graphics/drivers/msd-img-rgx/mtk/firmware/rgx.fw.22.40.54.30" ] |
| outputs = [ "$root_out_dir/firmware/rgx.fw.22.40.54.30" ] |
| } |