blob: 9863fc9bbb9011288e421d2e40062a5b475cca6d [file] [log] [blame]
# 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/package.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")
import("//src/graphics/lib/magma/gnbuild/magma.gni")
import("//src/lib/vulkan/layers.gni")
import("//src/ui/lib/escher/build_args.gni")
import("//src/ui/lib/escher/shaders/shaders.gni")
# Runtime is the set of package dependencies typically desired for the
# construction of a product that includes scenic, and is included in
# many such products.
group("runtime") {
deps = [
":scenic",
"//src/devices/sysmem/bin/sysmem_connector",
"//src/graphics/bin/vulkan_loader",
"//src/sys/activity",
"//src/ui/bin/ime:ime_service",
"//src/ui/bin/root_presenter",
"//src/ui/bin/root_presenter:configs",
]
}
group("scenic") {
public_deps = [ ":scenic_pkg" ]
}
group("tests") {
testonly = true
public_deps = [
":fuzzers",
":scenic_tests",
"lib/gfx/tests",
"lib/gfx/tests:mock_pose_buffer_provider",
"lib/gfx/tests/rotated_square_test",
"lib/scenic/util/tests:tests",
# These are included in //src/ui/bin:tests, but I don't see that included anywhere.
# If these tests fail, then other Scenic tests are likely to fail, so we want to guarantee that
# they are always run whenever Scenic tests are.
"//src/ui/bin/hardware_display_controller_provider:tests",
]
}
group("fuzzers") {
testonly = true
public_deps = [
"lib/input/tests/fuzzers",
"lib/scheduling/tests/fuzzers",
]
}
test_package("scenic_tests") {
deps = [
"lib/display/tests",
"lib/flatland/buffers/tests",
"lib/flatland/engine/tests",
"lib/flatland/engine/tests/pixeltests",
"lib/flatland/renderer/tests",
"lib/flatland/tests",
"lib/gfx/tests",
"lib/gfx/util/tests",
"lib/input/tests",
"lib/scenic/tests",
"lib/scheduling/tests",
]
tests = [
{
name = "display_unittests"
},
{
name = "flatland_unittests"
},
{
log_settings = {
max_severity = "ERROR"
}
name = "flatland_buffers_unittests"
},
{
log_settings = {
max_severity = "ERROR"
}
# Ensures that only devices that have access
# to display controller image capture features
# can run this test suite.
name = "flatland_engine_pixeltests"
environments = [
astro_env,
sherlock_env,
]
},
{
log_settings = {
max_severity = "ERROR"
}
name = "flatland_engine_unittests"
},
{
name = "flatland_renderer_unittests"
environments = basic_envs + magma_libvulkan_hardware_envs
},
{
name = "gfx_apptests"
},
{
name = "gfx_pixeltests"
environments = [ aemu_env ] + magma_libvulkan_hardware_envs
},
{
name = "gfx_swapchain_tests"
environments = [ aemu_env ] + magma_libvulkan_hardware_envs
},
{
name = "gfx_unittests"
environments = basic_envs + magma_libvulkan_hardware_envs
},
{
name = "gfx_util_unittests"
},
{
name = "gfx_viewstate_apptests"
environments = [ aemu_env ] + magma_libvulkan_hardware_envs
},
{
name = "input_unittests"
},
{
name = "scenic_unittests"
},
{
name = "scheduling_unittests"
},
]
public_deps = vulkan_validation_layers.public_deps
loadable_modules = vulkan_validation_layers.loadable_modules
resources = vulkan_validation_layers.resources
if (escher_use_runtime_glsl) {
resources += escher_shaders_resources
} else {
resources += escher_shaders_spirv_resources
}
}
declare_args() {
# Include the vulkan validation layers in scenic.
scenic_enable_vulkan_validation = is_debug
}
# For migration purposes only. To be moved to src/ui/scenic/bin:scenic
package("scenic_pkg") {
package_name = "scenic"
deps = [ "bin" ]
binaries = [
{
name = "scenic"
},
]
meta = [
{
path = rebase_path("bin/meta/scenic.cmx")
dest = "scenic.cmx"
},
]
resources = []
if (escher_use_runtime_glsl) {
resources += escher_shaders_resources
} else {
resources += escher_shaders_spirv_resources
}
# If configured, include the vulkan validation layers.
if (scenic_enable_vulkan_validation) {
loadable_modules = vulkan_validation_layers.loadable_modules
public_deps = vulkan_validation_layers.public_deps
resources += vulkan_validation_layers.resources
}
}