1*61046927SAndroid Build Coastguard Worker# Copyright © 2018 Rob Clark 2*61046927SAndroid Build Coastguard Worker# Copyright © 2019 Collabora 3*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 4*61046927SAndroid Build Coastguard Worker 5*61046927SAndroid Build Coastguard Workersubdir('valhall') 6*61046927SAndroid Build Coastguard Worker 7*61046927SAndroid Build Coastguard Workerinc_valhall = include_directories(['.', 'valhall']) 8*61046927SAndroid Build Coastguard Worker 9*61046927SAndroid Build Coastguard Workerlibpanfrost_bifrost_files = files( 10*61046927SAndroid Build Coastguard Worker 'bi_helper_invocations.c', 11*61046927SAndroid Build Coastguard Worker 'bi_layout.c', 12*61046927SAndroid Build Coastguard Worker 'bi_liveness.c', 13*61046927SAndroid Build Coastguard Worker 'bi_lower_divergent_indirects.c', 14*61046927SAndroid Build Coastguard Worker 'bi_lower_swizzle.c', 15*61046927SAndroid Build Coastguard Worker 'bi_print.c', 16*61046927SAndroid Build Coastguard Worker 'bi_opt_constant_fold.c', 17*61046927SAndroid Build Coastguard Worker 'bi_opt_copy_prop.c', 18*61046927SAndroid Build Coastguard Worker 'bi_opt_dce.c', 19*61046927SAndroid Build Coastguard Worker 'bi_opt_cse.c', 20*61046927SAndroid Build Coastguard Worker 'bi_opt_push_ubo.c', 21*61046927SAndroid Build Coastguard Worker 'bi_opt_mod_props.c', 22*61046927SAndroid Build Coastguard Worker 'bi_opt_dual_tex.c', 23*61046927SAndroid Build Coastguard Worker 'bi_pressure_schedule.c', 24*61046927SAndroid Build Coastguard Worker 'bi_ra.c', 25*61046927SAndroid Build Coastguard Worker 'bi_validate.c', 26*61046927SAndroid Build Coastguard Worker 'bir.c', 27*61046927SAndroid Build Coastguard Worker 'bifrost_compile.c', 28*61046927SAndroid Build Coastguard Worker 'bifrost/bi_opt_message_preload.c', 29*61046927SAndroid Build Coastguard Worker 'bifrost/bi_pack.c', 30*61046927SAndroid Build Coastguard Worker 'bifrost/bi_schedule.c', 31*61046927SAndroid Build Coastguard Worker 'bifrost/bi_scoreboard.c', 32*61046927SAndroid Build Coastguard Worker 'valhall/va_insert_flow.c', 33*61046927SAndroid Build Coastguard Worker 'valhall/va_lower_constants.c', 34*61046927SAndroid Build Coastguard Worker 'valhall/va_lower_isel.c', 35*61046927SAndroid Build Coastguard Worker 'valhall/va_lower_split_64bit.c', 36*61046927SAndroid Build Coastguard Worker 'valhall/va_optimize.c', 37*61046927SAndroid Build Coastguard Worker 'valhall/va_mark_last.c', 38*61046927SAndroid Build Coastguard Worker 'valhall/va_merge_flow.c', 39*61046927SAndroid Build Coastguard Worker 'valhall/va_pack.c', 40*61046927SAndroid Build Coastguard Worker 'valhall/va_perf.c', 41*61046927SAndroid Build Coastguard Worker 'valhall/va_validate.c', 42*61046927SAndroid Build Coastguard Worker) 43*61046927SAndroid Build Coastguard Worker 44*61046927SAndroid Build Coastguard Workerbifrost_gen_disasm_c = custom_target( 45*61046927SAndroid Build Coastguard Worker 'bifrost_gen_disasm.c', 46*61046927SAndroid Build Coastguard Worker input : ['gen_disasm.py', 'bifrost/ISA.xml'], 47*61046927SAndroid Build Coastguard Worker output : 'bifrost_gen_disasm.c', 48*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 49*61046927SAndroid Build Coastguard Worker capture : true, 50*61046927SAndroid Build Coastguard Worker depend_files : files('bifrost_isa.py'), 51*61046927SAndroid Build Coastguard Worker) 52*61046927SAndroid Build Coastguard Worker 53*61046927SAndroid Build Coastguard Workerbi_opcodes_c = custom_target( 54*61046927SAndroid Build Coastguard Worker 'bi_opcodes.c', 55*61046927SAndroid Build Coastguard Worker input : ['bi_opcodes.c.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'], 56*61046927SAndroid Build Coastguard Worker output : 'bi_opcodes.c', 57*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 58*61046927SAndroid Build Coastguard Worker capture : true, 59*61046927SAndroid Build Coastguard Worker depend_files : files('bifrost_isa.py'), 60*61046927SAndroid Build Coastguard Worker) 61*61046927SAndroid Build Coastguard Worker 62*61046927SAndroid Build Coastguard Workerbi_printer_c = custom_target( 63*61046927SAndroid Build Coastguard Worker 'bi_printer.c', 64*61046927SAndroid Build Coastguard Worker input : ['bi_printer.c.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'], 65*61046927SAndroid Build Coastguard Worker output : 'bi_printer.c', 66*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 67*61046927SAndroid Build Coastguard Worker capture : true, 68*61046927SAndroid Build Coastguard Worker depend_files : files('bifrost_isa.py'), 69*61046927SAndroid Build Coastguard Worker) 70*61046927SAndroid Build Coastguard Worker 71*61046927SAndroid Build Coastguard Workerbi_packer_c = custom_target( 72*61046927SAndroid Build Coastguard Worker 'bi_packer.c', 73*61046927SAndroid Build Coastguard Worker input : ['bi_packer.c.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'], 74*61046927SAndroid Build Coastguard Worker output : 'bi_packer.c', 75*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 76*61046927SAndroid Build Coastguard Worker capture : true, 77*61046927SAndroid Build Coastguard Worker depend_files : files('bifrost_isa.py'), 78*61046927SAndroid Build Coastguard Worker) 79*61046927SAndroid Build Coastguard Worker 80*61046927SAndroid Build Coastguard Workerbi_opcodes_h = custom_target( 81*61046927SAndroid Build Coastguard Worker 'bi_opcodes.h', 82*61046927SAndroid Build Coastguard Worker input : ['bi_opcodes.h.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'], 83*61046927SAndroid Build Coastguard Worker output : 'bi_opcodes.h', 84*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 85*61046927SAndroid Build Coastguard Worker capture : true, 86*61046927SAndroid Build Coastguard Worker depend_files : files('bifrost_isa.py'), 87*61046927SAndroid Build Coastguard Worker) 88*61046927SAndroid Build Coastguard Worker 89*61046927SAndroid Build Coastguard Workeridep_bi_opcodes_h = declare_dependency( 90*61046927SAndroid Build Coastguard Worker sources : [bi_opcodes_h], 91*61046927SAndroid Build Coastguard Worker include_directories : include_directories('.'), 92*61046927SAndroid Build Coastguard Worker) 93*61046927SAndroid Build Coastguard Worker 94*61046927SAndroid Build Coastguard Workerbi_builder_h = custom_target( 95*61046927SAndroid Build Coastguard Worker 'bi_builder.h', 96*61046927SAndroid Build Coastguard Worker input : ['bi_builder.h.py', 'IR_pseudo.xml', 'bifrost/ISA.xml', 'valhall/ISA.xml'], 97*61046927SAndroid Build Coastguard Worker output : 'bi_builder.h', 98*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 99*61046927SAndroid Build Coastguard Worker capture : true, 100*61046927SAndroid Build Coastguard Worker depend_files : files('bifrost_isa.py'), 101*61046927SAndroid Build Coastguard Worker) 102*61046927SAndroid Build Coastguard Worker 103*61046927SAndroid Build Coastguard Workeridep_bi_builder_h = declare_dependency( 104*61046927SAndroid Build Coastguard Worker sources : [bi_builder_h], 105*61046927SAndroid Build Coastguard Worker include_directories : include_directories('.'), 106*61046927SAndroid Build Coastguard Worker) 107*61046927SAndroid Build Coastguard Worker 108*61046927SAndroid Build Coastguard Workerbifrost_nir_algebraic_c = custom_target( 109*61046927SAndroid Build Coastguard Worker 'bifrost_nir_algebraic.c', 110*61046927SAndroid Build Coastguard Worker input : 'bifrost_nir_algebraic.py', 111*61046927SAndroid Build Coastguard Worker output : 'bifrost_nir_algebraic.c', 112*61046927SAndroid Build Coastguard Worker command : [ 113*61046927SAndroid Build Coastguard Worker prog_python, '@INPUT@', '-p', dir_compiler_nir, 114*61046927SAndroid Build Coastguard Worker ], 115*61046927SAndroid Build Coastguard Worker capture : true, 116*61046927SAndroid Build Coastguard Worker depend_files : nir_algebraic_depends, 117*61046927SAndroid Build Coastguard Worker) 118*61046927SAndroid Build Coastguard Worker 119*61046927SAndroid Build Coastguard Workerlibpanfrost_bifrost_disasm = static_library( 120*61046927SAndroid Build Coastguard Worker 'panfrost_bifrost_disasm', 121*61046927SAndroid Build Coastguard Worker ['bifrost/disassemble.c', 'bi_print_common.c', bifrost_gen_disasm_c], 122*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_panfrost_hw], 123*61046927SAndroid Build Coastguard Worker dependencies: [idep_nir], 124*61046927SAndroid Build Coastguard Worker link_with: [libpanfrost_util], 125*61046927SAndroid Build Coastguard Worker c_args : [no_override_init_args], 126*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 127*61046927SAndroid Build Coastguard Worker build_by_default : false, 128*61046927SAndroid Build Coastguard Worker) 129*61046927SAndroid Build Coastguard Worker 130*61046927SAndroid Build Coastguard Workerlibpanfrost_bifrost = static_library( 131*61046927SAndroid Build Coastguard Worker 'panfrost_bifrost', 132*61046927SAndroid Build Coastguard Worker [libpanfrost_bifrost_files, bi_opcodes_c, bi_printer_c, bi_packer_c, bifrost_nir_algebraic_c, valhall_c], 133*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_panfrost_hw, inc_valhall], 134*61046927SAndroid Build Coastguard Worker dependencies: [idep_nir, idep_bi_opcodes_h, idep_bi_builder_h, idep_valhall_enums_h], 135*61046927SAndroid Build Coastguard Worker link_with: [libpanfrost_util, libpanfrost_bifrost_disasm, libpanfrost_valhall_disasm], 136*61046927SAndroid Build Coastguard Worker c_args : [no_override_init_args], 137*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 138*61046927SAndroid Build Coastguard Worker build_by_default : false, 139*61046927SAndroid Build Coastguard Worker) 140*61046927SAndroid Build Coastguard Worker 141*61046927SAndroid Build Coastguard Workerif with_tests 142*61046927SAndroid Build Coastguard Worker test( 143*61046927SAndroid Build Coastguard Worker 'bifrost_tests', 144*61046927SAndroid Build Coastguard Worker executable( 145*61046927SAndroid Build Coastguard Worker 'bifrost_tests', 146*61046927SAndroid Build Coastguard Worker files( 147*61046927SAndroid Build Coastguard Worker 'test/test-constant-fold.cpp', 148*61046927SAndroid Build Coastguard Worker 'test/test-dual-texture.cpp', 149*61046927SAndroid Build Coastguard Worker 'test/test-lower-swizzle.cpp', 150*61046927SAndroid Build Coastguard Worker 'test/test-message-preload.cpp', 151*61046927SAndroid Build Coastguard Worker 'test/test-optimizer.cpp', 152*61046927SAndroid Build Coastguard Worker 'test/test-pack-formats.cpp', 153*61046927SAndroid Build Coastguard Worker 'test/test-packing.cpp', 154*61046927SAndroid Build Coastguard Worker 'test/test-scheduler-predicates.cpp', 155*61046927SAndroid Build Coastguard Worker 'valhall/test/test-add-imm.cpp', 156*61046927SAndroid Build Coastguard Worker 'valhall/test/test-validate-fau.cpp', 157*61046927SAndroid Build Coastguard Worker 'valhall/test/test-insert-flow.cpp', 158*61046927SAndroid Build Coastguard Worker 'valhall/test/test-lower-isel.cpp', 159*61046927SAndroid Build Coastguard Worker 'valhall/test/test-lower-constants.cpp', 160*61046927SAndroid Build Coastguard Worker 'valhall/test/test-mark-last.cpp', 161*61046927SAndroid Build Coastguard Worker 'valhall/test/test-merge-flow.cpp', 162*61046927SAndroid Build Coastguard Worker 'valhall/test/test-packing.cpp', 163*61046927SAndroid Build Coastguard Worker ), 164*61046927SAndroid Build Coastguard Worker c_args : [c_msvc_compat_args, no_override_init_args], 165*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 166*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_valhall], 167*61046927SAndroid Build Coastguard Worker dependencies: [idep_gtest, idep_nir, idep_bi_opcodes_h, idep_bi_builder_h, idep_valhall_enums_h], 168*61046927SAndroid Build Coastguard Worker link_with : [libpanfrost_bifrost], 169*61046927SAndroid Build Coastguard Worker ), 170*61046927SAndroid Build Coastguard Worker suite : ['panfrost'], 171*61046927SAndroid Build Coastguard Worker protocol : 'gtest', 172*61046927SAndroid Build Coastguard Worker ) 173*61046927SAndroid Build Coastguard Workerendif 174