1*61046927SAndroid Build Coastguard Worker# Copyright 2018 Rob Clark 2*61046927SAndroid Build Coastguard Worker# Copyright 2019 Collabora, Ltd. 3*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 4*61046927SAndroid Build Coastguard Worker 5*61046927SAndroid Build Coastguard Workerlibasahi_agx_files = files( 6*61046927SAndroid Build Coastguard Worker 'agx_compile.c', 7*61046927SAndroid Build Coastguard Worker 'agx_dce.c', 8*61046927SAndroid Build Coastguard Worker 'agx_liveness.c', 9*61046927SAndroid Build Coastguard Worker 'agx_insert_waits.c', 10*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_address.c', 11*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_cull_distance.c', 12*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_frag_sidefx.c', 13*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_sample_mask.c', 14*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_discard_zs_emit.c', 15*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_interpolation.c', 16*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_shared_bitsize.c', 17*61046927SAndroid Build Coastguard Worker 'agx_nir_lower_subgroups.c', 18*61046927SAndroid Build Coastguard Worker 'agx_nir_opt_preamble.c', 19*61046927SAndroid Build Coastguard Worker 'agx_lower_64bit.c', 20*61046927SAndroid Build Coastguard Worker 'agx_lower_divergent_shuffle.c', 21*61046927SAndroid Build Coastguard Worker 'agx_lower_parallel_copy.c', 22*61046927SAndroid Build Coastguard Worker 'agx_lower_pseudo.c', 23*61046927SAndroid Build Coastguard Worker 'agx_lower_spill.c', 24*61046927SAndroid Build Coastguard Worker 'agx_lower_uniform_sources.c', 25*61046927SAndroid Build Coastguard Worker 'agx_pack.c', 26*61046927SAndroid Build Coastguard Worker 'agx_performance.c', 27*61046927SAndroid Build Coastguard Worker 'agx_print.c', 28*61046927SAndroid Build Coastguard Worker 'agx_pressure_schedule.c', 29*61046927SAndroid Build Coastguard Worker 'agx_ir.c', 30*61046927SAndroid Build Coastguard Worker 'agx_opt_cse.c', 31*61046927SAndroid Build Coastguard Worker 'agx_opt_break_if.c', 32*61046927SAndroid Build Coastguard Worker 'agx_opt_empty_else.c', 33*61046927SAndroid Build Coastguard Worker 'agx_opt_jmp_none.c', 34*61046927SAndroid Build Coastguard Worker 'agx_opt_compact_constants.c', 35*61046927SAndroid Build Coastguard Worker 'agx_opt_promote_constants.c', 36*61046927SAndroid Build Coastguard Worker 'agx_optimizer.c', 37*61046927SAndroid Build Coastguard Worker 'agx_repair_ssa.c', 38*61046927SAndroid Build Coastguard Worker 'agx_reindex_ssa.c', 39*61046927SAndroid Build Coastguard Worker 'agx_spill.c', 40*61046927SAndroid Build Coastguard Worker 'agx_register_allocate.c', 41*61046927SAndroid Build Coastguard Worker 'agx_validate.c', 42*61046927SAndroid Build Coastguard Worker) 43*61046927SAndroid Build Coastguard Worker 44*61046927SAndroid Build Coastguard Workeragx_nir_algebraic_c = custom_target( 45*61046927SAndroid Build Coastguard Worker 'agx_nir_algebraic.c', 46*61046927SAndroid Build Coastguard Worker input : 'agx_nir_algebraic.py', 47*61046927SAndroid Build Coastguard Worker output : 'agx_nir_algebraic.c', 48*61046927SAndroid Build Coastguard Worker command : [ 49*61046927SAndroid Build Coastguard Worker prog_python, '@INPUT@', '-p', dir_compiler_nir, 50*61046927SAndroid Build Coastguard Worker ], 51*61046927SAndroid Build Coastguard Worker capture : true, 52*61046927SAndroid Build Coastguard Worker depend_files : nir_algebraic_depends, 53*61046927SAndroid Build Coastguard Worker) 54*61046927SAndroid Build Coastguard Worker 55*61046927SAndroid Build Coastguard Workeragx_opcodes_h = custom_target( 56*61046927SAndroid Build Coastguard Worker 'agx_opcodes.h', 57*61046927SAndroid Build Coastguard Worker input : ['agx_opcodes.h.py'], 58*61046927SAndroid Build Coastguard Worker output : 'agx_opcodes.h', 59*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 60*61046927SAndroid Build Coastguard Worker capture : true, 61*61046927SAndroid Build Coastguard Worker depend_files : files('agx_opcodes.py'), 62*61046927SAndroid Build Coastguard Worker) 63*61046927SAndroid Build Coastguard Worker 64*61046927SAndroid Build Coastguard Workeridep_agx_opcodes_h = declare_dependency( 65*61046927SAndroid Build Coastguard Worker sources : [agx_opcodes_h], 66*61046927SAndroid Build Coastguard Worker include_directories : include_directories('.'), 67*61046927SAndroid Build Coastguard Worker) 68*61046927SAndroid Build Coastguard Worker 69*61046927SAndroid Build Coastguard Workeragx_opcodes_c = custom_target( 70*61046927SAndroid Build Coastguard Worker 'agx_opcodes.c', 71*61046927SAndroid Build Coastguard Worker input : ['agx_opcodes.c.py'], 72*61046927SAndroid Build Coastguard Worker output : 'agx_opcodes.c', 73*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 74*61046927SAndroid Build Coastguard Worker capture : true, 75*61046927SAndroid Build Coastguard Worker depend_files : files('agx_opcodes.py'), 76*61046927SAndroid Build Coastguard Worker) 77*61046927SAndroid Build Coastguard Worker 78*61046927SAndroid Build Coastguard Workeragx_builder_h = custom_target( 79*61046927SAndroid Build Coastguard Worker 'agx_builder.h', 80*61046927SAndroid Build Coastguard Worker input : ['agx_builder.h.py'], 81*61046927SAndroid Build Coastguard Worker output : 'agx_builder.h', 82*61046927SAndroid Build Coastguard Worker command : [prog_python, '@INPUT@'], 83*61046927SAndroid Build Coastguard Worker capture : true, 84*61046927SAndroid Build Coastguard Worker depend_files : files('agx_opcodes.py'), 85*61046927SAndroid Build Coastguard Worker) 86*61046927SAndroid Build Coastguard Worker 87*61046927SAndroid Build Coastguard Workeridep_agx_builder_h = declare_dependency( 88*61046927SAndroid Build Coastguard Worker sources : [agx_builder_h], 89*61046927SAndroid Build Coastguard Worker include_directories : include_directories('.'), 90*61046927SAndroid Build Coastguard Worker) 91*61046927SAndroid Build Coastguard Worker 92*61046927SAndroid Build Coastguard Workerlibasahi_compiler = static_library( 93*61046927SAndroid Build Coastguard Worker 'asahi_compiler', 94*61046927SAndroid Build Coastguard Worker [libasahi_agx_files, agx_opcodes_c, agx_nir_algebraic_c], 95*61046927SAndroid Build Coastguard Worker dependencies: [idep_nir, idep_agx_opcodes_h, idep_agx_builder_h, idep_mesautil], 96*61046927SAndroid Build Coastguard Worker c_args : [no_override_init_args], 97*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 98*61046927SAndroid Build Coastguard Worker build_by_default : false, 99*61046927SAndroid Build Coastguard Worker) 100*61046927SAndroid Build Coastguard Worker 101*61046927SAndroid Build Coastguard Workerif with_tests 102*61046927SAndroid Build Coastguard Worker test( 103*61046927SAndroid Build Coastguard Worker 'agx_tests', 104*61046927SAndroid Build Coastguard Worker executable( 105*61046927SAndroid Build Coastguard Worker 'agx_tests', 106*61046927SAndroid Build Coastguard Worker files( 107*61046927SAndroid Build Coastguard Worker 'test/test-compact-constants.cpp', 108*61046927SAndroid Build Coastguard Worker 'test/test-minifloat.cpp', 109*61046927SAndroid Build Coastguard Worker 'test/test-optimizer.cpp', 110*61046927SAndroid Build Coastguard Worker 'test/test-lower-pseudo.cpp', 111*61046927SAndroid Build Coastguard Worker 'test/test-lower-parallel-copy.cpp', 112*61046927SAndroid Build Coastguard Worker 'test/test-lower-spill.cpp', 113*61046927SAndroid Build Coastguard Worker 'test/test-repair-ssa.cpp', 114*61046927SAndroid Build Coastguard Worker ), 115*61046927SAndroid Build Coastguard Worker c_args : [c_msvc_compat_args, no_override_init_args], 116*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 117*61046927SAndroid Build Coastguard Worker dependencies: [idep_gtest, idep_nir, idep_agx_opcodes_h, idep_agx_builder_h, idep_mesautil], 118*61046927SAndroid Build Coastguard Worker link_with : [libasahi_compiler], 119*61046927SAndroid Build Coastguard Worker ), 120*61046927SAndroid Build Coastguard Worker suite : ['asahi'], 121*61046927SAndroid Build Coastguard Worker protocol : 'gtest', 122*61046927SAndroid Build Coastguard Worker ) 123*61046927SAndroid Build Coastguard Workerendif 124