diff options
| author | Yilong Li <liyl@google.com> | 2025-02-16 01:41:18 -0800 |
|---|---|---|
| committer | Charles Giessen <46324611+charles-lunarg@users.noreply.github.com> | 2025-02-18 03:54:05 -0600 |
| commit | b4061dbbe5392947ad4cc176f823972080197ce4 (patch) | |
| tree | 9d5e95302adabe79c09a68d76807af726ff07dda | |
| parent | a9f88a232a4cd6634e47f0f93c8fac5789387a7a (diff) | |
| download | usermoji-b4061dbbe5392947ad4cc176f823972080197ce4.tar.xz | |
vulkaninfo: Support Fuchsia
This change adds Fuchsia-specific build files and metadata for
vulkaninfo so that it builds on Fuchsia.
Test: vulkaninfo on Fuchsia
Bug: https://fxbug.dev/378964821
Change-Id: I069b808394995db94b109c15d18dd6797a97c534
| -rw-r--r-- | vulkaninfo/BUILD.gn | 79 | ||||
| -rw-r--r-- | vulkaninfo/fuchsia/meta/vulkaninfo.cml | 23 |
2 files changed, 102 insertions, 0 deletions
diff --git a/vulkaninfo/BUILD.gn b/vulkaninfo/BUILD.gn new file mode 100644 index 00000000..5bc2d03b --- /dev/null +++ b/vulkaninfo/BUILD.gn @@ -0,0 +1,79 @@ +# Copyright (C) 2025 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. + +import("//build_overrides/vulkan_tools.gni") +if (is_fuchsia) { + import("//build/components.gni") + import("//src/lib/vulkan/vulkan.gni") +} + +config("vulkaninfo_warnings") { + cflags = [ + "-Wno-conversion", + "-Wno-implicit-fallthrough", + "-Wno-missing-field-initializers", + "-Wno-extra-semi", + "-Wno-ambiguous-reversed-operator", + ] +} + +executable("vulkaninfo") { + sources = [ "vulkaninfo.cpp" ] + + include_dirs = [ + ".", + "generated", + ] + + deps = [ "$vulkan_headers_dir:vulkan_headers" ] + if (is_fuchsia) { + deps += [ "//third_party/Vulkan-Loader:libvulkan" ] + } + + configs += [ + ":vulkaninfo_warnings", + "${volk_dir}:volk_config", + ] + if (is_fuchsia) { + configs -= [ "//build/config:no_exceptions" ] + } + + defines = [ + "VK_ENABLE_BETA_EXTENSIONS", + "VK_NO_PROTOTYPES", + ] +} + +if (is_fuchsia) { + fuchsia_test_component("vulkaninfo-component") { + manifest = "fuchsia/meta/vulkaninfo.cml" + component_name = "vulkaninfo" + + deps = [ + ":vulkaninfo", + "//src/lib/vulkan/swapchain:image_pipe_swapchain_fb_layer", + "//src/lib/vulkan/validation_layers", + ] + test_type = "vulkan" + } + + fuchsia_test_package("vulkaninfo-package") { + package_name = "vulkaninfo" + test_components = [ ":vulkaninfo-component" ] + + test_specs = { + environments = vulkan_envs + } + } +} diff --git a/vulkaninfo/fuchsia/meta/vulkaninfo.cml b/vulkaninfo/fuchsia/meta/vulkaninfo.cml new file mode 100644 index 00000000..c7908172 --- /dev/null +++ b/vulkaninfo/fuchsia/meta/vulkaninfo.cml @@ -0,0 +1,23 @@ +// Copyright (C) 2025 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. +{ + include: [ + "sys/testing/elf_test_runner.shard.cml", + "syslog/client.shard.cml", + "vulkan/client.shard.cml", + ], + program: { + binary: "bin/vulkaninfo", + }, +} |
