# Copyright 2020 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/components.gni")

executable("bin") {
  output_name = "frame-compression"

  sources = [
    "base_view.cc",
    "base_view.h",
    "compute_view.cc",
    "compute_view.h",
    "main.cc",
    "software_view.cc",
    "software_view.h",
  ]

  deps = [
    "//sdk/fidl/fuchsia.sysmem",
    "//sdk/fidl/fuchsia.ui.scenic",
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/fit",
    "//sdk/lib/images/cpp",
    "//sdk/lib/sys/inspect/cpp",
    "//sdk/lib/ui/scenic/cpp",
    "//src/lib/fsl",
    "//src/lib/ui/base_view",
    "//src/lib/vulkan",
    "//src/ui/examples/escher/common",
    "//src/ui/lib/escher:escher_with_glslang",
    "//third_party/libpng",
    "//third_party/shaderc:libshaderc",
    "//zircon/system/ulib/async:async-cpp",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
    "//zircon/system/ulib/fbl",
    "//zircon/system/ulib/fzl",
    "//zircon/system/ulib/trace",
    "//zircon/system/ulib/trace-provider",
  ]
}

resource("compact_image-config") {
  sources = [ "//src/lib/vulkan/compact_image/VkLayer_compact_image.json" ]
  outputs = [ "data/vulkan/explicit_layer.d/VkLayer_compact_image.json" ]
}

fuchsia_package_with_single_component("frame-compression") {
  manifest = "meta/frame-compression.cmx"
  deps = [
    ":bin",
    ":compact_image-config",
    "//src/lib/vulkan:vulkan_validation_layers",
    "//src/lib/vulkan/compact_image",
  ]
}
