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: ["hardware_google_gfxstream_license"], 20} 21 22python_binary_host { 23 name: "vk_cmd_queue_gen_gfxstream", 24 main: "vk_cmd_queue_gen.py", 25 srcs: [ 26 "vk_cmd_queue_gen.py", 27 "vk_entrypoints.py", 28 "vk_extensions.py", 29 ], 30 libs: [ 31 "mako", 32 ], 33} 34 35python_binary_host { 36 name: "vk_entrypoints_gen_gfxstream", 37 main: "vk_entrypoints_gen.py", 38 srcs: [ 39 "vk_entrypoints_gen.py", 40 "vk_entrypoints.py", 41 "vk_extensions.py", 42 ], 43 libs: [ 44 "mako", 45 ], 46} 47 48python_binary_host { 49 name: "vk_dispatch_trampolines_gen_gfxstream", 50 main: "vk_dispatch_trampolines_gen.py", 51 srcs: [ 52 "vk_dispatch_trampolines_gen.py", 53 "vk_entrypoints.py", 54 "vk_extensions.py", 55 ], 56 libs: [ 57 "mako", 58 ], 59} 60 61python_binary_host { 62 name: "vk_physical_device_features_gen_gfxstream", 63 main: "vk_physical_device_features_gen.py", 64 srcs: [ 65 "vk_physical_device_features_gen.py", 66 "vk_entrypoints.py", 67 "vk_extensions.py", 68 ], 69 libs: [ 70 "mako", 71 ], 72} 73 74python_binary_host { 75 name: "vk_physical_device_properties_gen_gfxstream", 76 main: "vk_physical_device_properties_gen.py", 77 srcs: [ 78 "vk_physical_device_properties_gen.py", 79 "vk_entrypoints.py", 80 "vk_extensions.py", 81 ], 82 libs: [ 83 "mako", 84 ], 85} 86 87python_binary_host { 88 name: "vk_extensions_gen_gfxstream", 89 main: "vk_extensions_gen.py", 90 srcs: [ 91 "vk_extensions_gen.py", 92 "vk_extensions.py", 93 ], 94 libs: [ 95 "mako", 96 ], 97} 98 99python_binary_host { 100 name: "vk_dispatch_table_gen_gfxstream", 101 main: "vk_dispatch_table_gen.py", 102 srcs: [ 103 "vk_dispatch_table_gen.py", 104 "vk_entrypoints.py", 105 "vk_extensions.py", 106 ], 107 libs: [ 108 "mako", 109 ], 110} 111 112python_binary_host { 113 name: "gen_enum_to_str_gfxstream", 114 main: "gen_enum_to_str.py", 115 srcs: [ 116 "gen_enum_to_str.py", 117 "vk_extensions.py", 118 ], 119 libs: [ 120 "mako", 121 ], 122} 123 124python_binary_host { 125 name: "vk_struct_type_cast_gen_gfxstream", 126 main: "vk_struct_type_cast_gen.py", 127 srcs: [ 128 "vk_struct_type_cast_gen.py", 129 "vk_extensions.py", 130 ], 131 libs: [ 132 "mako", 133 ], 134} 135 136genrule { 137 name: "vk_extensions_header_gfxstream", 138 srcs: [":libmesa_vulkan_xml_gfxstream"], 139 out: ["vk_extensions.h"], 140 tools: ["vk_extensions_gen_gfxstream"], 141 cmd: "python3 $(location vk_extensions_gen_gfxstream) --xml " + 142 "$(location :libmesa_vulkan_xml_gfxstream) --out-h " + 143 "$(location vk_extensions.h)", 144} 145 146genrule { 147 name: "vk_extensions_impl_gfxstream", 148 srcs: [":libmesa_vulkan_xml_gfxstream"], 149 out: ["vk_extensions.c"], 150 tools: ["vk_extensions_gen_gfxstream"], 151 cmd: "python3 $(location vk_extensions_gen_gfxstream) --xml " + 152 "$(location :libmesa_vulkan_xml_gfxstream) --out-c " + 153 "$(location vk_extensions.c)", 154} 155 156genrule { 157 name: "vk_dispatch_table_header_gfxstream", 158 srcs: [":libmesa_vulkan_xml_gfxstream"], 159 out: ["vk_dispatch_table.h"], 160 tools: ["vk_dispatch_table_gen_gfxstream"], 161 cmd: "python3 $(location vk_dispatch_table_gen_gfxstream) --xml " + 162 "$(location :libmesa_vulkan_xml_gfxstream) --out-h " + 163 "$(location vk_dispatch_table.h) --beta false", 164} 165 166genrule { 167 name: "vk_dispatch_table_impl_gfxstream", 168 srcs: [":libmesa_vulkan_xml_gfxstream"], 169 out: ["vk_dispatch_table.c"], 170 tools: ["vk_dispatch_table_gen_gfxstream"], 171 cmd: "python3 $(location vk_dispatch_table_gen_gfxstream) --xml " + 172 "$(location :libmesa_vulkan_xml_gfxstream) --out-c " + 173 "$(location vk_dispatch_table.c) --beta false", 174} 175 176genrule { 177 name: "vk_enum_to_str_header_gfxstream", 178 srcs: [":libmesa_vulkan_xml_gfxstream"], 179 out: [ 180 "vk_enum_to_str.h", 181 "vk_enum_defines.h", 182 ], 183 tools: ["gen_enum_to_str_gfxstream"], 184 cmd: "python3 $(location gen_enum_to_str_gfxstream) --xml " + 185 "$(location :libmesa_vulkan_xml_gfxstream) --outdir $(genDir) " + 186 "--beta false", 187} 188 189genrule { 190 name: "vk_enum_to_str_impl_gfxstream", 191 srcs: [":libmesa_vulkan_xml_gfxstream"], 192 out: ["vk_enum_to_str.c"], 193 tools: ["gen_enum_to_str_gfxstream"], 194 cmd: "python3 $(location gen_enum_to_str_gfxstream) --xml " + 195 "$(location :libmesa_vulkan_xml_gfxstream) --outdir $(genDir) " + 196 "--beta false", 197} 198 199genrule { 200 name: "vk_struct_type_cast_header_gfxstream", 201 srcs: [":libmesa_vulkan_xml_gfxstream"], 202 out: ["vk_struct_type_cast.h"], 203 tools: ["vk_struct_type_cast_gen_gfxstream"], 204 cmd: "python3 $(location vk_struct_type_cast_gen_gfxstream) --xml " + 205 "$(location :libmesa_vulkan_xml_gfxstream) --outdir $(genDir) " + 206 "--beta false", 207} 208 209cc_library_static { 210 name: "libmesa_vulkan_util_gfxstream", 211 host_supported: true, 212 vendor: true, 213 defaults: [ 214 "mesa_common_defaults_gfxstream", 215 ], 216 header_libs: [ 217 "mesa_common_headers_gfxstream", 218 ], 219 shared_libs: [ 220 "libcutils", 221 ], 222 static_libs: [ 223 "libmesa_util_gfxstream", 224 ], 225 cflags: [ 226 "-DVK_NO_NIR", 227 ], 228 generated_headers: [ 229 "vk_extensions_header_gfxstream", 230 "vk_dispatch_table_header_gfxstream", 231 "vk_enum_to_str_header_gfxstream", 232 "vk_struct_type_cast_header_gfxstream", 233 ], 234 generated_sources: [ 235 "vk_extensions_impl_gfxstream", 236 "vk_dispatch_table_impl_gfxstream", 237 "vk_enum_to_str_impl_gfxstream", 238 ], 239 srcs: [ 240 "vk_alloc.c", 241 "vk_format.c", 242 "vk_util.c", 243 ], 244 export_include_dirs: [ 245 ".", 246 ], 247 export_generated_headers: [ 248 "vk_extensions_header_gfxstream", 249 "vk_dispatch_table_header_gfxstream", 250 "vk_enum_to_str_header_gfxstream", 251 "vk_struct_type_cast_header_gfxstream", 252 ], 253} 254