1// Copyright (C) 2023 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package {
16    default_applicable_licenses: ["Android-Apache-2.0"],
17}
18
19soong_config_module_type {
20    name: "graphics_apex_defaults",
21    module_type: "apex_defaults",
22    config_namespace: "cvd",
23    bool_variables: ["use_vulkan_pastel"],
24    properties: [
25        "native_shared_libs",
26    ],
27}
28
29graphics_apex_defaults {
30    name: "com.google.cf.vulkan_pastel-defaults",
31    soong_config_variables: {
32        use_vulkan_pastel: {
33            native_shared_libs: [
34                "vulkan.pastel",
35            ],
36        },
37    },
38}
39
40apex {
41    name: "com.google.cf.vulkan",
42    manifest: "apex_manifest.json",
43    key: "com.google.cf.apex.key",
44    certificate: ":com.google.cf.apex.certificate",
45    file_contexts: "apex_file_contexts",
46    updatable: false,
47    vendor: true,
48
49    // Zygote GL preloading expects 32-bit /lib/ copies
50    // of the native_shared_libs.
51    compile_multilib: "both",
52
53    defaults: [
54        "com.google.cf.vulkan_pastel-defaults",
55    ],
56
57    native_shared_libs: [
58        "vulkan.ranchu",
59    ],
60    prebuilts: [
61        "android.hardware.vulkan.compute-0.prebuilt.xml",
62        "android.hardware.vulkan.level-1.prebuilt.xml",
63        "android.hardware.vulkan.version-1_3.prebuilt.xml",
64        "android.software.opengles.deqp.level-latest.prebuilt.xml",
65        "android.software.vulkan.deqp.level-latest.prebuilt.xml",
66        "com.google.cf.vulkan-linker-config",
67        "com.google.cf.vulkan.rc",
68    ],
69}
70
71prebuilt_etc {
72    name: "com.google.cf.vulkan.rc",
73    src: "com.google.cf.vulkan.rc",
74    installable: false,
75}
76
77linker_config {
78    name: "com.google.cf.vulkan-linker-config",
79    src: "apex_linkerconfig.json",
80    installable: false,
81}
82