blob: 6fa59269cc803e8b8d3606857fdd95210a25f5ca [file] [log] [blame]
# 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("//build/package.gni")
import("//build/sdk/sdk_atom.gni")
import("//build/test/test_package.gni")
import("//garnet/lib/magma/gnbuild/magma.gni")
import("//garnet/lib/vulkan/image_pipe_swapchain.gni")
import("//third_party/vulkan_loader_and_validation_layers/layers/layers.gni")
group("image_pipe_swapchain") {
public_deps = [
"src/swapchain",
]
}
sdk_atom("vulkan_layers") {
id = "sdk://pkg/vulkan_layers"
category = "partner"
files = []
resources =
vulkan_validation_layers.resources + image_pipe_swapchain.resources
loadable_modules = vulkan_validation_layers.loadable_modules +
image_pipe_swapchain.loadable_modules
non_sdk_deps =
vulkan_validation_layers.public_deps + image_pipe_swapchain.public_deps
sdk_resources = []
foreach(resource, resources) {
destination = "pkg/vulkan_layers/data/" + resource.dest
files += [
{
source = resource.path
dest = destination
},
]
sdk_resources += [ destination ]
}
sdk_binaries = []
foreach(loadable_module, loadable_modules) {
destination = "arch/$target_cpu/dist/" + loadable_module.name
files += [
{
source = "$root_out_dir/" + loadable_module.name
dest = destination
},
]
sdk_binaries += [ destination ]
}
meta = {
dest = "pkg/vulkan_layers/meta.json"
schema = "loadable_module"
value = {
type = "loadable_module"
name = "vulkan_layers"
resources = []
resources = sdk_resources
binaries = {
}
if (target_cpu == "arm64") {
binaries.arm64 = sdk_binaries
} else if (target_cpu == "x64") {
binaries.x64 = sdk_binaries
} else {
assert(false, "Unknown CPU type: %target_cpu")
}
}
}
}
test_package("image-pipe-swapchain-tests") {
deps = [
":image_pipe_swapchain",
"tests/unit:test_image_pipe_swapchain",
"//third_party/vulkan_loader_and_validation_layers/layers",
]
tests = [
{
name = "test_image_pipe_swapchain"
dest = "image-pipe-swapchain-tests"
environments = magma_hardware_envs
},
]
public_deps =
vulkan_validation_layers.public_deps + image_pipe_swapchain.public_deps
loadable_modules = vulkan_validation_layers.loadable_modules +
image_pipe_swapchain.loadable_modules
resources =
vulkan_validation_layers.resources + image_pipe_swapchain.resources
}
package("vklatency_on_scenic") {
testonly = true
deps = [
"tests/vklatency:vklatency_on_scenic",
"//third_party/vulkan_loader_and_validation_layers/layers",
]
binary = "vklatency_on_scenic"
meta = [
{
path = rebase_path("meta/vklatency_on_scenic.cmx")
dest = "vklatency_on_scenic.cmx"
},
]
public_deps =
vulkan_validation_layers.public_deps + image_pipe_swapchain.public_deps
loadable_modules = vulkan_validation_layers.loadable_modules +
image_pipe_swapchain.loadable_modules
resources =
vulkan_validation_layers.resources + image_pipe_swapchain.resources
}
package("vkcube_on_scenic") {
testonly = true
deps = [
"tests/vkcube:vkcube_on_scenic",
"//third_party/vulkan_loader_and_validation_layers/layers",
]
binary = "vkcube_on_scenic"
meta = [
{
path = rebase_path("meta/vkcube_on_scenic.cmx")
dest = "vkcube_on_scenic.cmx"
},
]
public_deps =
vulkan_validation_layers.public_deps + image_pipe_swapchain.public_deps
loadable_modules = vulkan_validation_layers.loadable_modules +
image_pipe_swapchain.loadable_modules
resources =
[
{
path = rebase_path("tests/vkcube/bbb_frame.yuv")
dest = "bbb_frame.yuv"
},
] + vulkan_validation_layers.resources + image_pipe_swapchain.resources
}
package("vkcube_on_fb") {
testonly = true
deps = [
"tests/vkcube:vkcube_on_fb",
"//third_party/vulkan_loader_and_validation_layers/layers",
]
binary = "vkcube_on_fb"
meta = [
{
path = rebase_path("meta/vkcube_on_fb.cmx")
dest = "vkcube_on_fb.cmx"
},
]
public_deps =
vulkan_validation_layers.public_deps + image_pipe_swapchain_fb.public_deps
loadable_modules = vulkan_validation_layers.loadable_modules +
image_pipe_swapchain_fb.loadable_modules
resources =
[
{
path = rebase_path("tests/vkcube/bbb_frame.yuv")
dest = "bbb_frame.yuv"
},
] + vulkan_validation_layers.resources + image_pipe_swapchain_fb.resources
}
package("vulkaninfo") {
deps = [
":image_pipe_swapchain",
"//third_party/vulkan_loader_and_validation_layers/demos:vulkaninfo_bin",
"//third_party/vulkan_loader_and_validation_layers/layers",
]
meta = [
{
path = rebase_path("meta/vulkaninfo.cmx")
dest = "vulkaninfo.cmx"
},
]
binary = "vulkaninfo"
public_deps =
vulkan_validation_layers.public_deps + image_pipe_swapchain.public_deps
loadable_modules = vulkan_validation_layers.loadable_modules +
image_pipe_swapchain.loadable_modules
resources =
vulkan_validation_layers.resources + image_pipe_swapchain.resources
}