1*61046927SAndroid Build Coastguard Worker/* 2*61046927SAndroid Build Coastguard Worker * Copyright (C) 2024 The Android Open Source Project 3*61046927SAndroid Build Coastguard Worker * 4*61046927SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*61046927SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*61046927SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*61046927SAndroid Build Coastguard Worker * 8*61046927SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*61046927SAndroid Build Coastguard Worker * 10*61046927SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*61046927SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*61046927SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*61046927SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*61046927SAndroid Build Coastguard Worker * limitations under the License. 15*61046927SAndroid Build Coastguard Worker */ 16*61046927SAndroid Build Coastguard Worker 17*61046927SAndroid Build Coastguard Workerpackage { 18*61046927SAndroid Build Coastguard Worker // See: http://go/android-license-faq 19*61046927SAndroid Build Coastguard Worker default_applicable_licenses: ["external_mesa3d_license"], 20*61046927SAndroid Build Coastguard Worker} 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Workerfilegroup { 23*61046927SAndroid Build Coastguard Worker name: "mesa_spirv_grammar", 24*61046927SAndroid Build Coastguard Worker srcs: ["spirv.core.grammar.json"], 25*61046927SAndroid Build Coastguard Worker} 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Workerfilegroup { 28*61046927SAndroid Build Coastguard Worker name: "mesa_spirv_xml", 29*61046927SAndroid Build Coastguard Worker srcs: ["spir-v.xml"], 30*61046927SAndroid Build Coastguard Worker} 31*61046927SAndroid Build Coastguard Worker 32*61046927SAndroid Build Coastguard Workerpython_binary_host { 33*61046927SAndroid Build Coastguard Worker name: "vtn_gather_types_gen", 34*61046927SAndroid Build Coastguard Worker main: "vtn_gather_types_c.py", 35*61046927SAndroid Build Coastguard Worker srcs: ["vtn_gather_types_c.py"], 36*61046927SAndroid Build Coastguard Worker libs: [ 37*61046927SAndroid Build Coastguard Worker "mako", 38*61046927SAndroid Build Coastguard Worker ], 39*61046927SAndroid Build Coastguard Worker} 40*61046927SAndroid Build Coastguard Worker 41*61046927SAndroid Build Coastguard Workerpython_binary_host { 42*61046927SAndroid Build Coastguard Worker name: "spirv_info_gen", 43*61046927SAndroid Build Coastguard Worker main: "spirv_info_gen.py", 44*61046927SAndroid Build Coastguard Worker srcs: ["spirv_info_gen.py"], 45*61046927SAndroid Build Coastguard Worker libs: [ 46*61046927SAndroid Build Coastguard Worker "mako", 47*61046927SAndroid Build Coastguard Worker ], 48*61046927SAndroid Build Coastguard Worker} 49*61046927SAndroid Build Coastguard Worker 50*61046927SAndroid Build Coastguard Workerpython_binary_host { 51*61046927SAndroid Build Coastguard Worker name: "vtn_generator_ids_gen", 52*61046927SAndroid Build Coastguard Worker main: "vtn_generator_ids_h.py", 53*61046927SAndroid Build Coastguard Worker srcs: ["vtn_generator_ids_h.py"], 54*61046927SAndroid Build Coastguard Worker libs: [ 55*61046927SAndroid Build Coastguard Worker "mako", 56*61046927SAndroid Build Coastguard Worker ], 57*61046927SAndroid Build Coastguard Worker} 58*61046927SAndroid Build Coastguard Worker 59*61046927SAndroid Build Coastguard Workergenrule { 60*61046927SAndroid Build Coastguard Worker name: "vtn_gather_types_impl", 61*61046927SAndroid Build Coastguard Worker srcs: [":mesa_spirv_grammar"], 62*61046927SAndroid Build Coastguard Worker out: ["vtn_gather_types.c"], 63*61046927SAndroid Build Coastguard Worker tools: ["vtn_gather_types_gen"], 64*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vtn_gather_types_gen) " + 65*61046927SAndroid Build Coastguard Worker "$(location :mesa_spirv_grammar) " + 66*61046927SAndroid Build Coastguard Worker "$(location vtn_gather_types.c)", 67*61046927SAndroid Build Coastguard Worker} 68*61046927SAndroid Build Coastguard Worker 69*61046927SAndroid Build Coastguard Workergenrule { 70*61046927SAndroid Build Coastguard Worker name: "spirv_info_header", 71*61046927SAndroid Build Coastguard Worker srcs: [":mesa_spirv_grammar"], 72*61046927SAndroid Build Coastguard Worker out: ["src/compiler/spirv/spirv_info.h"], 73*61046927SAndroid Build Coastguard Worker tools: ["spirv_info_gen"], 74*61046927SAndroid Build Coastguard Worker export_include_dirs: [ 75*61046927SAndroid Build Coastguard Worker "src/compiler/spirv", 76*61046927SAndroid Build Coastguard Worker "src/", 77*61046927SAndroid Build Coastguard Worker ], 78*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location spirv_info_gen) " + 79*61046927SAndroid Build Coastguard Worker "--json $(location :mesa_spirv_grammar) " + 80*61046927SAndroid Build Coastguard Worker "--out-h $(location src/compiler/spirv/spirv_info.h) " + 81*61046927SAndroid Build Coastguard Worker "--out-c $(genDir)/placeholder.c", 82*61046927SAndroid Build Coastguard Worker} 83*61046927SAndroid Build Coastguard Worker 84*61046927SAndroid Build Coastguard Workergenrule { 85*61046927SAndroid Build Coastguard Worker name: "spirv_info_impl", 86*61046927SAndroid Build Coastguard Worker srcs: [":mesa_spirv_grammar"], 87*61046927SAndroid Build Coastguard Worker out: ["spirv_info.c"], 88*61046927SAndroid Build Coastguard Worker tools: ["spirv_info_gen"], 89*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location spirv_info_gen) " + 90*61046927SAndroid Build Coastguard Worker "--json $(location :mesa_spirv_grammar) " + 91*61046927SAndroid Build Coastguard Worker "--out-h $(genDir)/placeholder.h " + 92*61046927SAndroid Build Coastguard Worker "--out-c $(location spirv_info.c)", 93*61046927SAndroid Build Coastguard Worker} 94*61046927SAndroid Build Coastguard Worker 95*61046927SAndroid Build Coastguard Workergenrule { 96*61046927SAndroid Build Coastguard Worker name: "vtn_generator_ids_header", 97*61046927SAndroid Build Coastguard Worker srcs: [":mesa_spirv_xml"], 98*61046927SAndroid Build Coastguard Worker out: ["vtn_generator_ids.h"], 99*61046927SAndroid Build Coastguard Worker tools: ["vtn_generator_ids_gen"], 100*61046927SAndroid Build Coastguard Worker cmd: "python3 $(location vtn_generator_ids_gen) " + 101*61046927SAndroid Build Coastguard Worker "$(location :mesa_spirv_xml) " + 102*61046927SAndroid Build Coastguard Worker "$(location vtn_generator_ids.h)", 103*61046927SAndroid Build Coastguard Worker} 104*61046927SAndroid Build Coastguard Worker 105*61046927SAndroid Build Coastguard Workercc_library_static { 106*61046927SAndroid Build Coastguard Worker name: "mesa_spirv", 107*61046927SAndroid Build Coastguard Worker vendor: true, 108*61046927SAndroid Build Coastguard Worker host_supported: true, 109*61046927SAndroid Build Coastguard Worker defaults: [ 110*61046927SAndroid Build Coastguard Worker "mesa_common_defaults", 111*61046927SAndroid Build Coastguard Worker ], 112*61046927SAndroid Build Coastguard Worker generated_headers: [ 113*61046927SAndroid Build Coastguard Worker "vtn_generator_ids_header", 114*61046927SAndroid Build Coastguard Worker "nir_builder_opcodes_header", 115*61046927SAndroid Build Coastguard Worker "nir_opcodes_header", 116*61046927SAndroid Build Coastguard Worker "nir_intrinsics_header", 117*61046927SAndroid Build Coastguard Worker "nir_intrinsics_indices_header", 118*61046927SAndroid Build Coastguard Worker "spirv_info_header", 119*61046927SAndroid Build Coastguard Worker "u_format_gen_header", 120*61046927SAndroid Build Coastguard Worker "builtin_types_header", 121*61046927SAndroid Build Coastguard Worker ], 122*61046927SAndroid Build Coastguard Worker header_libs: [ 123*61046927SAndroid Build Coastguard Worker "mesa_gallium_auxiliary_headers", 124*61046927SAndroid Build Coastguard Worker "mesa_gallium_headers", 125*61046927SAndroid Build Coastguard Worker "mesa_src_headers", 126*61046927SAndroid Build Coastguard Worker "mesa_compiler_headers", 127*61046927SAndroid Build Coastguard Worker "mesa_nir_headers", 128*61046927SAndroid Build Coastguard Worker "mesa_common_headers", 129*61046927SAndroid Build Coastguard Worker ], 130*61046927SAndroid Build Coastguard Worker generated_sources: [ 131*61046927SAndroid Build Coastguard Worker "spirv_info_impl", 132*61046927SAndroid Build Coastguard Worker "vtn_gather_types_impl", 133*61046927SAndroid Build Coastguard Worker ], 134*61046927SAndroid Build Coastguard Worker srcs: [ 135*61046927SAndroid Build Coastguard Worker "spirv_to_nir.c", 136*61046927SAndroid Build Coastguard Worker "vtn_alu.c", 137*61046927SAndroid Build Coastguard Worker "vtn_amd.c", 138*61046927SAndroid Build Coastguard Worker "vtn_cfg.c", 139*61046927SAndroid Build Coastguard Worker "vtn_glsl450.c", 140*61046927SAndroid Build Coastguard Worker "vtn_opencl.c", 141*61046927SAndroid Build Coastguard Worker "vtn_subgroup.c", 142*61046927SAndroid Build Coastguard Worker "vtn_variables.c", 143*61046927SAndroid Build Coastguard Worker ], 144*61046927SAndroid Build Coastguard Worker} 145