xref: /aosp_15_r20/external/mesa3d/src/gfxstream/guest/vulkan_enc/Android.bp (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1/*
2 * Copyright (C) 2023 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package {
18    // See: http://go/android-license-faq
19    default_applicable_licenses: ["external_mesa3d_license"],
20}
21
22genrule {
23    name: "mesa_gfxstream_vk_entrypoints_header",
24    srcs: [":mesa_vulkan_xml"],
25    out: ["gfxstream_vk_entrypoints.h"],
26    tools: ["vk_entrypoints_gen"],
27    cmd: "python3 $(location vk_entrypoints_gen) --xml " +
28        "$(location :mesa_vulkan_xml) --proto --weak --out-h " +
29        "$(location gfxstream_vk_entrypoints.h) --out-c " +
30        "$(genDir)/placeholder.c --prefix gfxstream_vk --beta false",
31}
32
33genrule {
34    name: "mesa_gfxstream_vk_entrypoints_impl",
35    srcs: [":mesa_vulkan_xml"],
36    out: ["gfxstream_vk_entrypoints.c"],
37    tools: ["vk_entrypoints_gen"],
38    cmd: "python3 $(location vk_entrypoints_gen) --xml " +
39        "$(location :mesa_vulkan_xml) --proto --weak --out-h " +
40        "$(genDir)/gfxstream_vk_entrypoints.h --out-c " +
41        "$(location gfxstream_vk_entrypoints.c) --prefix gfxstream_vk " +
42        "--beta false",
43}
44
45cc_library_static {
46    name: "mesa_gfxstream_vulkan_entrypoints",
47    host_supported: true,
48    vendor: true,
49    defaults: [
50        "mesa_common_defaults",
51    ],
52    header_libs: [
53        "mesa_common_headers",
54    ],
55    static_libs: [
56        "mesa_vulkan_util",
57    ],
58    shared_libs: [
59        "libcutils",
60    ],
61    generated_headers: [
62        "mesa_gfxstream_vk_entrypoints_header",
63    ],
64    generated_sources: [
65        "mesa_gfxstream_vk_entrypoints_impl",
66    ],
67    ldflags: [
68        "-Wl,-Bsymbolic",
69        "-Wl,--gc-sections",
70    ],
71    export_generated_headers: [
72        "mesa_gfxstream_vk_entrypoints_header",
73    ],
74}
75
76cc_library_headers {
77    name: "mesa_vulkan_enc_headers",
78    export_include_dirs: ["."],
79    host_supported: true,
80    vendor_available: true,
81}
82
83filegroup {
84    name: "mesa_vulkan_enc_impl",
85    srcs: [
86        "AndroidHardwareBuffer.cpp",
87        "CommandBufferStagingStream.cpp",
88        "DescriptorSetVirtualization.cpp",
89        "HostVisibleMemoryVirtualization.cpp",
90        "Resources.cpp",
91        "ResourceTracker.cpp",
92        "Validation.cpp",
93        "VulkanHandleMapping.cpp",
94        "VulkanStreamGuest.cpp",
95        "gfxstream_vk_private.cpp",
96        "GfxStreamVulkanConnection.cpp",
97        "goldfish_vk_counting_guest.cpp",
98        "goldfish_vk_deepcopy_guest.cpp",
99        "goldfish_vk_extension_structs_guest.cpp",
100        "goldfish_vk_marshaling_guest.cpp",
101        "goldfish_vk_reserved_marshaling_guest.cpp",
102        "goldfish_vk_transform_guest.cpp",
103        "VkEncoder.cpp",
104        "func_table.cpp",
105    ],
106}
107