# Copyright 2018 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("resources.gni")

action("build") {
  script = "build.sh"
  args = [ rebase_path(root_out_dir) ]
  deps = [
    "//garnet/public/sdk:zircon_sysroot_export",
    "//third_party/vulkan_loader_and_validation_layers:vulkan",
    "//zircon/public/lib/fdio:fdio_sdk",
  ]

  depfile = "$root_out_dir/build-vulkancts/vulkan-cts.d"
  outputs = [
    "$root_out_dir/build-vulkancts/external/vulkancts/modules/vulkan/deqp-vk",
  ]
}

copy("copy") {
  sources = [
    "$root_out_dir/build-vulkancts/external/vulkancts/modules/vulkan/deqp-vk",
  ]
  outputs = [
    "$root_build_dir/deqp-vk",
  ]
  deps = [
    ":build",
  ]
}

# To run on device:
# run vulkan-cts --deqp-caselist-file=/pkg/data/vk-default.txt --deqp-log-images=disable --deqp-log-shader-sources=disable --deqp-log-filename=/data/TestResults.qpa
package("vulkan-cts") {
  deps = [
    ":copy",
  ]
  binary = "deqp-vk"
  meta = [
    {
      path = rebase_path("meta/vulkan-cts.cmx")
      dest = "vulkan-cts.cmx"
    },
  ]
  resources = cts_resources
}
