# Copyright 2016 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("//third_party/vulkan_loader_and_validation_layers/layers/layers.gni")

declare_args() {
  # Using Vulkan on host (i.e. Linux) is an involved affair that involves
  # downloading the Vulkan SDK, setting environment variables, and so forth...
  # all things that are difficult to achieve in a CQ environment.  Therefore,
  # by default we use a stub implementation of Vulkan which fails to create a
  # VkInstance.  This allows everything to build, and also allows running Escher
  # unit tests which don't require Vulkan.
  escher_use_null_vulkan_config_on_host = true
}

package("escher_tests") {
  testonly = true

  deps = [
    "test:escher_unittests",
  ]

  tests = [
    {
      name = "escher_unittests"
    },
  ]

  meta = [
    {
      path = rebase_path("meta/escher_tests.cmx")
      dest = "escher_tests.cmx"
    },
  ]

  public_deps = vulkan_validation_layers.public_deps
  loadable_modules = vulkan_validation_layers.loadable_modules
  resources = vulkan_validation_layers.resources
  resources += [
    {
      path = rebase_path("shaders/model_renderer/main.frag")
      dest = "shaders/model_renderer/main.frag"
    },
    {
      path = rebase_path("shaders/model_renderer/main.vert")
      dest = "shaders/model_renderer/main.vert"
    },
    {
      path = rebase_path("shaders/model_renderer/default_position.vert")
      dest = "shaders/model_renderer/default_position.vert"
    },
    {
      path = rebase_path("shaders/model_renderer/shadow_map_generation.frag")
      dest = "shaders/model_renderer/shadow_map_generation.frag"
    },
    {
      path = rebase_path("shaders/model_renderer/shadow_map_lighting.frag")
      dest = "shaders/model_renderer/shadow_map_lighting.frag"
    },
    {
      path = rebase_path("shaders/model_renderer/wobble_position.vert")
      dest = "shaders/model_renderer/wobble_position.vert"
    },
    {
      path = rebase_path("shaders/paper/common/use.glsl")
      dest = "shaders/paper/common/use.glsl"
    },
    {
      path = rebase_path("shaders/paper/frag/main_ambient_light.frag")
      dest = "shaders/paper/frag/main_ambient_light.frag"
    },
    {
      path = rebase_path("shaders/paper/frag/main_point_light.frag")
      dest = "shaders/paper/frag/main_point_light.frag"
    },
    {
      path = rebase_path("shaders/paper/vert/compute_model_space_position.vert")
      dest = "shaders/paper/vert/compute_model_space_position.vert"
    },
    {
      path = rebase_path("shaders/paper/vert/compute_world_space_position.vert")
      dest = "shaders/paper/vert/compute_world_space_position.vert"
    },
    {
      path = rebase_path("shaders/paper/vert/main_shadow_volume_extrude.vert")
      dest = "shaders/paper/vert/main_shadow_volume_extrude.vert"
    },
    {
      path = rebase_path("shaders/paper/vert/vertex_attributes.vert")
      dest = "shaders/paper/vert/vertex_attributes.vert"
    },
  ]
}

# Used by 'source_set("vulkan")' for host builds (e.g. Escher-on-Linux) for
# build environments where Vulkan is not available.
config("null_vulkan_config") {
  defines = [
    "VULKAN_HPP_NO_EXCEPTIONS",
    "VULKAN_HPP_NO_SMART_HANDLE",
  ]

  # Only include the Vulkan headers: since this is used for host builds, we
  # don't want to depend on e.g. //garnet/public/lib/vulkan, which brings in
  # Zircon dependencies which cannot be compiled.
  include_dirs = [ "//third_party/vulkan_loader_and_validation_layers/include" ]
}

# Used by 'source_set("vulkan")' target builds (i.e. Escher-on-Fuchsia), and
# also for host builds (e.g. Escher-on-Linux) where Vulkan is made available via
# the 'download-vulkan-sdk' script, which downloads the LunarG Vulkan SDK from
# Google storage.
config("vulkan_config") {
  defines = [
    "VULKAN_HPP_NO_EXCEPTIONS",
    "VULKAN_HPP_NO_SMART_HANDLE",
  ]

  # Specify the include/lib dirs and linked libraries for use with the
  # downloaded LunarG Vulkan SDK.
  if (is_linux) {
    vulkan_sdk = "//garnet/public/lib/escher/third_party/vulkansdk/x86_64"
    include_dirs = [ "$vulkan_sdk/include" ]
    lib_dirs = [ "$vulkan_sdk/lib" ]
    libs = [ "vulkan" ]
  }
}

# Cross-platform Vulkan setup; supports both host and target builds.
source_set("vulkan") {
  if (is_fuchsia) {
    public_configs = [ ":vulkan_config" ]
    public_deps = [
      "//garnet/public/lib/vulkan",
    ]
  } else if (!escher_use_null_vulkan_config_on_host) {
    # Host build using downloaded LunarG SDK.
    public_configs = [ ":vulkan_config" ]
  } else {
    # Host build using stub Vulkan implementation.
    public_configs = [ ":null_vulkan_config" ]

    sources = [
      "//garnet/public/lib/escher/third_party/null_vulkan/escher_null_vulkan.cc",
    ]
  }
}

config("glm_config") {
  include_dirs = [ "//third_party/glm" ]

  defines = [
    "GLM_ENABLE_EXPERIMENTAL",

    # Use Vulkan NDC (normalized depth coordinates): [0..1] instead of [-1..1]
    "GLM_FORCE_DEPTH_ZERO_TO_ONE",

    # Disable SIMD code paths that seem unstable on Fuchsia.
    "GLM_FORCE_PURE",
  ]
}

config("thread_safety_warning") {
  cflags = [
    "-Wthread-safety",
    "-fcolor-diagnostics",
  ]
}

source_set("escher") {
  defines = [
    # Currently necessary on Fuchsia, but not Linux.
    "ESCHER_DISABLE_BACKGROUND_COMPILATION",
  ]

  deps = [
    "//third_party/shaderc/libshaderc",
    "//third_party/shaderc/third_party/glslang",
    "//third_party/shaderc/third_party/glslang:SPIRV",
    "//third_party/shaderc/third_party/glslang:glslang-default-resource-limits",
    "//third_party/shaderc/third_party/spirv-tools:spirv-tools-opt",
    "//third_party/spirv-cross",
  ]

  public_deps = [
    ":vulkan",
    "//garnet/public/lib/escher/base:escher_base",
    "//garnet/public/lib/fxl",
  ]

  sources = [
    "defaults/default_shader_program_factory.cc",
    "defaults/default_shader_program_factory.h",
    "escher.cc",
    "escher.h",
    "escher_process_init.cc",
    "escher_process_init.h",
    "forward_declarations.h",
    "fs/hack_filesystem.cc",
    "fs/hack_filesystem.h",
    "geometry/bounding_box.cc",
    "geometry/bounding_box.h",
    "geometry/clip_planes.cc",
    "geometry/clip_planes.h",
    "geometry/indexed_triangle_mesh.h",
    "geometry/indexed_triangle_mesh_clip.h",
    "geometry/indexed_triangle_mesh_upload.h",
    "geometry/intersection.cc",
    "geometry/intersection.h",
    "geometry/plane_ops.h",
    "geometry/quad.cc",
    "geometry/quad.h",
    "geometry/tessellation.cc",
    "geometry/tessellation.h",
    "geometry/transform.cc",
    "geometry/transform.h",
    "geometry/type_utils.h",
    "geometry/types.h",
    "hmd/pose_buffer_latching_shader.cc",
    "hmd/pose_buffer_latching_shader.h",
    "impl/command_buffer.cc",
    "impl/command_buffer.h",
    "impl/command_buffer_pool.cc",
    "impl/command_buffer_pool.h",
    "impl/command_buffer_sequencer.cc",
    "impl/command_buffer_sequencer.h",
    "impl/compute_shader.cc",
    "impl/compute_shader.h",
    "impl/debug_print.cc",
    "impl/descriptor_set_pool.cc",
    "impl/descriptor_set_pool.h",
    "impl/frame_manager.cc",
    "impl/frame_manager.h",
    "impl/gaussian_3x3f16.cc",
    "impl/gaussian_3x3f16.h",
    "impl/glsl_compiler.cc",
    "impl/glsl_compiler.h",
    "impl/gpu_mem_slab.cc",
    "impl/gpu_mem_slab.h",
    "impl/gpu_mem_suballocation.cc",
    "impl/gpu_mem_suballocation.h",
    "impl/gpu_uploader.cc",
    "impl/gpu_uploader.h",
    "impl/image_cache.cc",
    "impl/image_cache.h",
    "impl/mesh_manager.cc",
    "impl/mesh_manager.h",
    "impl/mesh_shader_binding.cc",
    "impl/mesh_shader_binding.h",
    "impl/model_data.cc",
    "impl/model_data.h",
    "impl/model_depth_pass.cc",
    "impl/model_depth_pass.h",
    "impl/model_display_list.cc",
    "impl/model_display_list.h",
    "impl/model_display_list_builder.cc",
    "impl/model_display_list_builder.h",
    "impl/model_display_list_flags.h",
    "impl/model_lighting_pass.cc",
    "impl/model_lighting_pass.h",
    "impl/model_moment_shadow_map_lighting_pass.cc",
    "impl/model_moment_shadow_map_lighting_pass.h",
    "impl/model_moment_shadow_map_pass.cc",
    "impl/model_moment_shadow_map_pass.h",
    "impl/model_pipeline.cc",
    "impl/model_pipeline.h",
    "impl/model_pipeline_cache.cc",
    "impl/model_pipeline_cache.h",
    "impl/model_pipeline_spec.h",
    "impl/model_render_pass.cc",
    "impl/model_render_pass.h",
    "impl/model_renderer.cc",
    "impl/model_renderer.h",
    "impl/model_shadow_map_lighting_pass.cc",
    "impl/model_shadow_map_lighting_pass.h",
    "impl/model_shadow_map_pass.cc",
    "impl/model_shadow_map_pass.h",
    "impl/ssdo_accelerator.cc",
    "impl/ssdo_accelerator.h",
    "impl/ssdo_sampler.cc",
    "impl/ssdo_sampler.h",
    "impl/uniform_buffer_pool.cc",
    "impl/uniform_buffer_pool.h",
    "impl/vk/pipeline.cc",
    "impl/vk/pipeline.h",
    "impl/vk/pipeline_cache.cc",
    "impl/vk/pipeline_cache.h",
    "impl/vk/pipeline_factory.h",
    "impl/vk/pipeline_layout.cc",
    "impl/vk/pipeline_layout.h",
    "impl/vk/pipeline_spec.cc",
    "impl/vk/pipeline_spec.h",
    "impl/vulkan_utils.cc",
    "impl/vulkan_utils.h",
    "impl/wobble_modifier_absorber.cc",
    "impl/wobble_modifier_absorber.h",
    "impl/z_sort.cc",
    "impl/z_sort.h",
    "material/color_utils.cc",
    "material/color_utils.h",
    "material/material.cc",
    "material/material.h",
    "math/lerp.h",
    "math/rotations.cc",
    "math/rotations.h",
    "paper/paper_draw_call.h",
    "paper/paper_draw_call_factory.cc",
    "paper/paper_draw_call_factory.h",
    "paper/paper_drawable.h",
    "paper/paper_drawable_flags.h",
    "paper/paper_legacy_drawable.cc",
    "paper/paper_legacy_drawable.h",
    "paper/paper_light.h",
    "paper/paper_material.h",
    "paper/paper_readme.h",
    "paper/paper_render_funcs.cc",
    "paper/paper_render_funcs.h",
    "paper/paper_render_queue.cc",
    "paper/paper_render_queue.h",
    "paper/paper_render_queue_context.cc",
    "paper/paper_render_queue_context.h",
    "paper/paper_render_queue_flags.h",
    "paper/paper_renderer2.cc",
    "paper/paper_renderer2.h",
    "paper/paper_renderer_config.h",
    "paper/paper_scene.h",
    "paper/paper_shader_structs.h",
    "paper/paper_shape_cache.cc",
    "paper/paper_shape_cache.h",
    "paper/paper_transform_stack.cc",
    "paper/paper_transform_stack.h",
    "profiling/timestamp_profiler.cc",
    "profiling/timestamp_profiler.h",
    "renderer/batch_gpu_uploader.cc",
    "renderer/batch_gpu_uploader.h",
    "renderer/buffer_cache.cc",
    "renderer/buffer_cache.h",
    "renderer/frame.cc",
    "renderer/frame.h",
    "renderer/moment_shadow_map.cc",
    "renderer/moment_shadow_map.h",
    "renderer/moment_shadow_map_renderer.cc",
    "renderer/moment_shadow_map_renderer.h",
    "renderer/paper_renderer.cc",
    "renderer/paper_renderer.h",
    "renderer/render_queue.cc",
    "renderer/render_queue.h",
    "renderer/render_queue_context.h",
    "renderer/render_queue_item.h",
    "renderer/renderer.cc",
    "renderer/renderer.h",
    "renderer/semaphore.cc",
    "renderer/semaphore.h",
    "renderer/shadow_map.cc",
    "renderer/shadow_map.h",
    "renderer/shadow_map_renderer.cc",
    "renderer/shadow_map_renderer.h",
    "renderer/shadow_map_type_info.h",
    "renderer/uniform_allocation.h",
    "renderer/uniform_binding.h",
    "renderer/uniform_block_allocator.cc",
    "renderer/uniform_block_allocator.h",
    "resources/resource.cc",
    "resources/resource.h",
    "resources/resource_manager.cc",
    "resources/resource_manager.h",
    "resources/resource_recycler.cc",
    "resources/resource_recycler.h",
    "resources/resource_type_info.h",
    "resources/waitable_resource.cc",
    "resources/waitable_resource.h",
    "scene/ambient_light.cc",
    "scene/ambient_light.h",
    "scene/binding.h",
    "scene/camera.cc",
    "scene/camera.h",
    "scene/directional_light.cc",
    "scene/directional_light.h",
    "scene/displacement.cc",
    "scene/displacement.h",
    "scene/model.cc",
    "scene/model.h",
    "scene/object.cc",
    "scene/object.h",
    "scene/shape.cc",
    "scene/shape.h",
    "scene/shape_modifier.h",
    "scene/stage.cc",
    "scene/stage.h",
    "scene/viewing_volume.cc",
    "scene/viewing_volume.h",
    "shape/mesh.cc",
    "shape/mesh.h",
    "shape/mesh_builder.cc",
    "shape/mesh_builder.h",
    "shape/mesh_builder_factory.h",
    "shape/mesh_spec.cc",
    "shape/mesh_spec.h",
    "shape/modifier_wobble.cc",
    "shape/modifier_wobble.h",
    "shape/rounded_rect.cc",
    "shape/rounded_rect.h",
    "shape/rounded_rect_factory.cc",
    "shape/rounded_rect_factory.h",
    "status.h",
    "third_party/granite/vk/command_buffer.cc",
    "third_party/granite/vk/command_buffer.h",
    "third_party/granite/vk/command_buffer_pipeline_state.cc",
    "third_party/granite/vk/command_buffer_pipeline_state.h",
    "third_party/granite/vk/descriptor_set_layout.cc",
    "third_party/granite/vk/descriptor_set_layout.h",
    "third_party/granite/vk/pipeline_layout.cc",
    "third_party/granite/vk/pipeline_layout.h",
    "third_party/granite/vk/render_pass.cc",
    "third_party/granite/vk/render_pass.h",
    "third_party/granite/vk/render_pass_info.cc",
    "third_party/granite/vk/render_pass_info.h",
    "third_party/granite/vk/shader_utils.cc",
    "third_party/granite/vk/shader_utils.h",
    "util/align.h",
    "util/alloca.h",
    "util/bit_ops.h",
    "util/bitmap.h",
    "util/block_allocator.cc",
    "util/block_allocator.h",
    "util/debug_print.h",
    "util/depth_to_color.cc",
    "util/depth_to_color.h",
    "util/enum_cast.h",
    "util/enum_count.h",
    "util/enum_flags.h",
    "util/enum_utils.h",
    "util/epsilon_compare.h",
    "util/hash.h",
    "util/hash_cache.h",
    "util/hash_fnv_1a.h",
    "util/hash_map.h",
    "util/hashable.h",
    "util/hasher.h",
    "util/image_utils.cc",
    "util/image_utils.h",
    "util/intrusive_list.h",
    "util/object_pool.h",
    "util/pair_hasher.h",
    "util/stack_allocator.h",
    "util/stopwatch.h",
    "util/string_utils.h",
    "util/trace_macros.h",
    "util/tracer.cc",
    "util/tracer.h",
    "vk/buffer.cc",
    "vk/buffer.h",
    "vk/buffer_factory.cc",
    "vk/buffer_factory.h",
    "vk/command_buffer.h",
    "vk/framebuffer.cc",
    "vk/framebuffer.h",
    "vk/gpu_allocator.cc",
    "vk/gpu_allocator.h",
    "vk/gpu_mem.cc",
    "vk/gpu_mem.h",
    "vk/image.cc",
    "vk/image.h",
    "vk/image_view.cc",
    "vk/image_view.h",
    "vk/impl/descriptor_set_allocator.cc",
    "vk/impl/descriptor_set_allocator.h",
    "vk/impl/framebuffer.cc",
    "vk/impl/framebuffer.h",
    "vk/impl/framebuffer_allocator.cc",
    "vk/impl/framebuffer_allocator.h",
    "vk/impl/pipeline_layout_cache.cc",
    "vk/impl/pipeline_layout_cache.h",
    "vk/impl/render_pass_cache.cc",
    "vk/impl/render_pass_cache.h",
    "vk/naive_gpu_allocator.cc",
    "vk/naive_gpu_allocator.h",
    "vk/render_pass.cc",
    "vk/render_pass.h",
    "vk/render_pass_info.h",
    "vk/shader_module.cc",
    "vk/shader_module.h",
    "vk/shader_module_template.cc",
    "vk/shader_module_template.h",
    "vk/shader_program.cc",
    "vk/shader_program.h",
    "vk/shader_program_factory.cc",
    "vk/shader_program_factory.h",
    "vk/shader_variant_args.cc",
    "vk/shader_variant_args.h",
    "vk/simple_image_factory.cc",
    "vk/simple_image_factory.h",
    "vk/texture.cc",
    "vk/texture.h",
    "vk/vulkan_context.h",
    "vk/vulkan_device_queues.cc",
    "vk/vulkan_device_queues.h",
    "vk/vulkan_instance.cc",
    "vk/vulkan_instance.h",
    "vk/vulkan_limits.h",
    "vk/vulkan_swapchain.cc",
    "vk/vulkan_swapchain.h",
    "vk/vulkan_swapchain_helper.cc",
    "vk/vulkan_swapchain_helper.h",
  ]

  if (is_fuchsia) {
    sources += [
      "flib/fence.h",
      "flib/fence_listener.cc",
      "flib/fence_listener.h",
      "flib/fence_set_listener.cc",
      "flib/fence_set_listener.h",
      "flib/release_fence_signaller.cc",
      "flib/release_fence_signaller.h",
      "fs/fuchsia_data_source.cc",
      "fs/fuchsia_data_source.h",
      "util/fuchsia_utils.cc",
      "util/fuchsia_utils.h",
    ]
    public_deps += [
      "//garnet/public/fidl/fuchsia.images",
      "//zircon/public/lib/async-loop-cpp",
      "//zircon/public/lib/fit",
      "//zircon/public/lib/fs",
    ]
    deps += [ "//zircon/public/lib/trace" ]
  }

  if (is_linux) {
    sources += [
      "fs/linux_data_source.cc",
      "fs/linux_data_source.h",
      "util/impl/trace_macros_impl.cc",
      "util/impl/trace_macros_impl.h",
    ]
  }

  include_dirs = [
    "//third_party/shaderc/third_party/glslang",
    "//third_party/shaderc/third_party/spirv-tools/include",
  ]

  public_configs = [
    ":glm_config",
    ":thread_safety_warning",
  ]
}

group("unittests") {
  testonly = true
  deps = [
    "//garnet/public/lib/escher/test:escher_unittests",
  ]
}
