| # Copyright 2017 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("//third_party/flatbuffers/flatbuffer.gni") |
| |
| declare_args() { |
| scenic_ignore_vsync = false |
| |
| # Draws the current frame number in the top-left corner. |
| scenic_display_frame_number = false |
| } |
| |
| config("common_include_dirs") { |
| include_dirs = [ |
| "//garnet", |
| "//third_party/glm", |
| ] |
| } |
| |
| config("swapchain") { |
| defines = [ |
| "SCENIC_IGNORE_VSYNC=$scenic_ignore_vsync", |
| "SCENIC_DISPLAY_FRAME_NUMBER=$scenic_display_frame_number", |
| ] |
| } |
| |
| source_set("common_gfx_config_source_set") { |
| visibility = [ |
| ":gfx_always_optimized", |
| ":gfx", |
| ] |
| } |
| |
| # These sources (all part of :gfx) are especially performance-sensitive, so we |
| # apply full optimization in debug as well as --release. |
| source_set("gfx_always_optimized") { |
| visibility = [ ":gfx" ] |
| sources = [ |
| "util/image_formats.cc", |
| "util/image_formats.h", |
| ] |
| cflags = [ |
| # Always optimize regardless of debug or --release. |
| "-O3", |
| ] |
| public_configs = [ ":common_include_dirs" ] |
| public_deps = [ "//src/ui/lib/escher" ] |
| |
| deps = [ |
| "//sdk/lib/images/cpp", |
| "//src/ui/lib/yuv", |
| ] |
| } |
| |
| source_set("gfx") { |
| sources = [ |
| "api/internal_snapshot_impl.cc", |
| "api/internal_snapshot_impl.h", |
| "engine/engine.cc", |
| "engine/engine.h", |
| "engine/engine_renderer.cc", |
| "engine/engine_renderer.h", |
| "engine/engine_renderer_visitor.cc", |
| "engine/engine_renderer_visitor.h", |
| "engine/gfx_command_applier.cc", |
| "engine/gfx_command_applier.h", |
| "engine/hardware_layer_assignment.cc", |
| "engine/hardware_layer_assignment.h", |
| "engine/hit.h", |
| "engine/hit_accumulator.cc", |
| "engine/hit_accumulator.h", |
| "engine/hit_tester.cc", |
| "engine/hit_tester.h", |
| "engine/image_pipe_updater.cc", |
| "engine/image_pipe_updater.h", |
| "engine/resource_map.cc", |
| "engine/resource_map.h", |
| "engine/scene_graph.cc", |
| "engine/scene_graph.h", |
| "engine/session.cc", |
| "engine/session.h", |
| "engine/session_handler.cc", |
| "engine/session_handler.h", |
| "engine/session_manager.cc", |
| "engine/session_manager.h", |
| "engine/view_tree.cc", |
| "engine/view_tree.h", |
| "engine/view_tree_updater.cc", |
| "engine/view_tree_updater.h", |
| "gfx_system.cc", |
| "gfx_system.h", |
| "resources/buffer.cc", |
| "resources/buffer.h", |
| "resources/camera.cc", |
| "resources/camera.h", |
| "resources/compositor/compositor.cc", |
| "resources/compositor/compositor.h", |
| "resources/compositor/display_compositor.cc", |
| "resources/compositor/display_compositor.h", |
| "resources/compositor/layer.cc", |
| "resources/compositor/layer.h", |
| "resources/compositor/layer_stack.cc", |
| "resources/compositor/layer_stack.h", |
| "resources/dump_visitor.cc", |
| "resources/dump_visitor.h", |
| "resources/gpu_image.cc", |
| "resources/gpu_image.h", |
| "resources/host_image.cc", |
| "resources/host_image.h", |
| "resources/image.cc", |
| "resources/image.h", |
| "resources/image_base.cc", |
| "resources/image_base.h", |
| "resources/image_pipe.cc", |
| "resources/image_pipe.h", |
| "resources/image_pipe2.cc", |
| "resources/image_pipe2.h", |
| "resources/image_pipe2_handler.cc", |
| "resources/image_pipe2_handler.h", |
| "resources/image_pipe_base.cc", |
| "resources/image_pipe_base.h", |
| "resources/image_pipe_handler.cc", |
| "resources/image_pipe_handler.h", |
| "resources/lights/ambient_light.cc", |
| "resources/lights/ambient_light.h", |
| "resources/lights/directional_light.cc", |
| "resources/lights/directional_light.h", |
| "resources/lights/light.cc", |
| "resources/lights/light.h", |
| "resources/lights/point_light.cc", |
| "resources/lights/point_light.h", |
| "resources/material.cc", |
| "resources/material.h", |
| "resources/memory.cc", |
| "resources/memory.h", |
| "resources/nodes/entity_node.cc", |
| "resources/nodes/entity_node.h", |
| "resources/nodes/node.cc", |
| "resources/nodes/node.h", |
| "resources/nodes/opacity_node.cc", |
| "resources/nodes/opacity_node.h", |
| "resources/nodes/scene.cc", |
| "resources/nodes/scene.h", |
| "resources/nodes/shape_node.cc", |
| "resources/nodes/shape_node.h", |
| "resources/nodes/traversal.h", |
| "resources/nodes/variable_binding.cc", |
| "resources/nodes/variable_binding.h", |
| "resources/nodes/view_node.cc", |
| "resources/nodes/view_node.h", |
| "resources/protected_memory_visitor.cc", |
| "resources/protected_memory_visitor.h", |
| "resources/renderers/renderer.cc", |
| "resources/renderers/renderer.h", |
| "resources/resource.cc", |
| "resources/resource.h", |
| "resources/resource_context.h", |
| "resources/resource_type_info.h", |
| "resources/resource_visitor.cc", |
| "resources/resource_visitor.h", |
| "resources/shapes/circle_shape.cc", |
| "resources/shapes/circle_shape.h", |
| "resources/shapes/mesh_shape.cc", |
| "resources/shapes/mesh_shape.h", |
| "resources/shapes/planar_shape.cc", |
| "resources/shapes/planar_shape.h", |
| "resources/shapes/rectangle_shape.cc", |
| "resources/shapes/rectangle_shape.h", |
| "resources/shapes/rounded_rectangle_shape.cc", |
| "resources/shapes/rounded_rectangle_shape.h", |
| "resources/shapes/shape.cc", |
| "resources/shapes/shape.h", |
| "resources/stereo_camera.cc", |
| "resources/stereo_camera.h", |
| "resources/variable.cc", |
| "resources/variable.h", |
| "resources/view.cc", |
| "resources/view.h", |
| "resources/view_holder.cc", |
| "resources/view_holder.h", |
| "screenshotter.cc", |
| "screenshotter.h", |
| "snapshot/serializer.h", |
| "snapshot/snapshotter.cc", |
| "snapshot/snapshotter.h", |
| "snapshot/version.h", |
| "swapchain/buffer_pool.cc", |
| "swapchain/buffer_pool.h", |
| "swapchain/display_swapchain.cc", |
| "swapchain/display_swapchain.h", |
| "swapchain/swapchain.h", |
| "swapchain/swapchain_factory.cc", |
| "swapchain/swapchain_factory.h", |
| "sysmem.cc", |
| "sysmem.h", |
| ] |
| |
| public_configs = [ ":common_include_dirs" ] |
| |
| configs += [ ":swapchain" ] |
| |
| public_deps = [ |
| ":gfx_always_optimized", |
| ":snapshot_fbs", |
| ":util", |
| "//garnet/public/lib/fostr/fidl/fuchsia.ui.gfx", |
| |
| # TODO(44143): Gfx should not depend on Input. |
| "//garnet/public/lib/fostr/fidl/fuchsia.ui.input", |
| "//sdk/fidl/fuchsia.math", |
| "//sdk/fidl/fuchsia.ui.focus", |
| "//sdk/fidl/fuchsia.ui.gfx", |
| "//sdk/fidl/fuchsia.ui.views", |
| "//sdk/lib/fidl/cpp", |
| "//sdk/lib/sys/cpp", |
| "//src/lib/fsl", |
| "//src/lib/fxl", |
| "//src/lib/inspect_deprecated", |
| "//src/lib/vulkan", |
| "//src/ui/scenic/lib/display", |
| "//src/ui/scenic/lib/gfx:validate_eventpair", |
| "//src/ui/scenic/lib/scenic", |
| "//src/ui/scenic/lib/scenic/util", |
| "//src/ui/scenic/lib/scheduling:frame_scheduler", |
| "//zircon/public/lib/fit", |
| ] |
| |
| deps = [ |
| ":ids", |
| ":object_linker", |
| ":view_focuser_registry", |
| "//sdk/lib/ui/scenic/cpp", |
| "//src/ui/lib/escher/util:check_vulkan_support", |
| "//src/ui/scenic/lib/display", |
| |
| # TODO(24590) Remove timings dependency when display_swapchain is pulled out. |
| "//src/ui/scenic/lib/scheduling:timings", |
| "//zircon/public/lib/fbl", |
| "//zircon/public/lib/fzl", |
| "//zircon/public/lib/trace", |
| "//zircon/system/fidl/fuchsia-sysmem", |
| ] |
| } |
| |
| source_set("object_linker") { |
| sources = [ |
| "engine/object_linker.cc", |
| "engine/object_linker.h", |
| ] |
| |
| public_deps = [ |
| "//src/lib/fsl", |
| "//src/lib/fxl", |
| "//src/ui/scenic/lib/scenic/util", |
| "//zircon/public/lib/fit", |
| ] |
| } |
| |
| source_set("view_focuser_registry") { |
| sources = [ "engine/view_focuser_registry.h" ] |
| |
| deps = [ |
| "//sdk/fidl/fuchsia.ui.views", |
| "//src/ui/scenic/lib/gfx:ids", |
| ] |
| } |
| |
| source_set("ids") { |
| sources = [ |
| # TODO(SCN-1398): IDs don't belong here, but this will work until we factor |
| # out another system that needs ids outside of gfx. |
| "id.cc", |
| "id.h", |
| ] |
| public_deps = [ "//src/ui/scenic/lib/scheduling:id" ] |
| } |
| |
| source_set("util") { |
| sources = [ |
| "util/time.h", |
| "util/unwrap.h", |
| "util/wrap.h", |
| ] |
| deps = [ |
| # TODO(SCN-1398): Needed by wrap/unwrap. Move to separate source_set? |
| "//src/lib/fxl", |
| "//src/ui/lib/escher", |
| ] |
| } |
| |
| source_set("validate_eventpair") { |
| sources = [ |
| "util/validate_eventpair.cc", |
| "util/validate_eventpair.h", |
| ] |
| deps = [ |
| "//sdk/fidl/fuchsia.ui.views", |
| "//zircon/public/lib/zx", |
| "//zircon/system/public", |
| ] |
| } |
| |
| flatbuffer("snapshot_fbs") { |
| sources = [ "snapshot/snapshot.fbs" ] |
| } |