File: layers-fuchsia.gni

package info (click to toggle)
vulkan-validationlayers 1.4.321.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 47,412 kB
  • sloc: cpp: 594,175; python: 11,321; sh: 24; makefile: 20; xml: 14
file content (67 lines) | stat: -rw-r--r-- 2,140 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Copyright (C) 2022 The Fuchsia Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This scope makes it easy to incorporate the Vulkan validation layers into a
# package that is part of the Fuchsia system build.
#
# To use it, import this gni file and add the entries of the
# 'vulkan_validation_layers' scope to the package's 'loadable_modules',
# 'resources', and 'public_deps' parameters.
#
# Example BUILD.gn file:
#
# import("//src/graphics/lib/vulkan/layers.gni")
#
# package("my_funky_vulkan_using_program") {
#   loadable_modules = [
#     ...
#     ] + vulkan_validation_layers.loadable_modules
#
#   resources = [
#     ...
#     ] + vulkan_validation_layers.resources
#
#   public_deps = [
#     ...
#     ] + vulkan_validation_layers.public_deps
# }
#
# This will end up placing the validation libraries within the package's "lib/"
# directory, where they can be loaded like normal libraries, and place the layer
# configuration data in the package's "data/vulkan/explicit_layer.d" directory which
# is mapped to "/config/vulkan/explicit_layer.d"

import("//build_overrides/vulkan_validation_layers.gni")

vulkan_data_dir = "$root_out_dir/$vulkan_data_subdir"

vulkan_validation_layers = {
  loadable_modules = [
    {
      name = "VkLayer_khronos_validation.so"
    },
  ]

  resources = [
    {
      path = rebase_path("$vulkan_data_dir/VkLayer_khronos_validation.json")
      dest = "vulkan/explicit_layer.d/VkLayer_khronos_validation.json"
    },
  ]

  public_deps = [
    "//third_party/Vulkan-ValidationLayers:vulkan_gen_json_files",
    "//third_party/Vulkan-ValidationLayers:vulkan_validation_layers",
  ]
}