1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Dylan Baker 2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Workersi_tracepoints = custom_target( 5*61046927SAndroid Build Coastguard Worker 'si_tracepoints.[ch]', 6*61046927SAndroid Build Coastguard Worker input: 'si_tracepoints.py', 7*61046927SAndroid Build Coastguard Worker output: ['si_tracepoints.c', 'si_tracepoints_perfetto.h', 'si_tracepoints.h'], 8*61046927SAndroid Build Coastguard Worker command: [ 9*61046927SAndroid Build Coastguard Worker prog_python, '@INPUT@', 10*61046927SAndroid Build Coastguard Worker '-p', join_paths(dir_source_root, 'src/util/perf/'), 11*61046927SAndroid Build Coastguard Worker '-C', '@OUTPUT0@', 12*61046927SAndroid Build Coastguard Worker '--perfetto-hdr', '@OUTPUT1@', 13*61046927SAndroid Build Coastguard Worker '-H', '@OUTPUT2@' 14*61046927SAndroid Build Coastguard Worker ], 15*61046927SAndroid Build Coastguard Worker depend_files: u_trace_py, 16*61046927SAndroid Build Coastguard Worker) 17*61046927SAndroid Build Coastguard Worker 18*61046927SAndroid Build Coastguard Workeridep_si_tracepoints = declare_dependency( 19*61046927SAndroid Build Coastguard Worker sources: si_tracepoints, 20*61046927SAndroid Build Coastguard Worker) 21*61046927SAndroid Build Coastguard Worker 22*61046927SAndroid Build Coastguard Workerfiles_libradeonsi = files( 23*61046927SAndroid Build Coastguard Worker 'driinfo_radeonsi.h', 24*61046927SAndroid Build Coastguard Worker 'gfx10_shader_ngg.c', 25*61046927SAndroid Build Coastguard Worker 'gfx11_query.c', 26*61046927SAndroid Build Coastguard Worker 'si_barrier.c', 27*61046927SAndroid Build Coastguard Worker 'si_blit.c', 28*61046927SAndroid Build Coastguard Worker 'si_buffer.c', 29*61046927SAndroid Build Coastguard Worker 'si_build_pm4.h', 30*61046927SAndroid Build Coastguard Worker 'si_clear.c', 31*61046927SAndroid Build Coastguard Worker 'si_compute.c', 32*61046927SAndroid Build Coastguard Worker 'si_compute_blit.c', 33*61046927SAndroid Build Coastguard Worker 'si_cp_dma.c', 34*61046927SAndroid Build Coastguard Worker 'si_cp_reg_shadowing.c', 35*61046927SAndroid Build Coastguard Worker 'si_cp_utils.c', 36*61046927SAndroid Build Coastguard Worker 'si_debug.c', 37*61046927SAndroid Build Coastguard Worker 'si_descriptors.c', 38*61046927SAndroid Build Coastguard Worker 'si_fence.c', 39*61046927SAndroid Build Coastguard Worker 'si_get.c', 40*61046927SAndroid Build Coastguard Worker 'si_gfx_cs.c', 41*61046927SAndroid Build Coastguard Worker 'si_gpu_load.c', 42*61046927SAndroid Build Coastguard Worker 'si_perfcounter.c', 43*61046927SAndroid Build Coastguard Worker 'si_pipe.c', 44*61046927SAndroid Build Coastguard Worker 'si_pipe.h', 45*61046927SAndroid Build Coastguard Worker 'si_pm4.c', 46*61046927SAndroid Build Coastguard Worker 'si_pm4.h', 47*61046927SAndroid Build Coastguard Worker 'si_public.h', 48*61046927SAndroid Build Coastguard Worker 'si_query.c', 49*61046927SAndroid Build Coastguard Worker 'si_query.h', 50*61046927SAndroid Build Coastguard Worker 'si_nir_lower_abi.c', 51*61046927SAndroid Build Coastguard Worker 'si_nir_lower_resource.c', 52*61046927SAndroid Build Coastguard Worker 'si_nir_lower_vs_inputs.c', 53*61046927SAndroid Build Coastguard Worker 'si_nir_optim.c', 54*61046927SAndroid Build Coastguard Worker 'si_sdma_copy_image.c', 55*61046927SAndroid Build Coastguard Worker 'si_shader.c', 56*61046927SAndroid Build Coastguard Worker 'si_shader.h', 57*61046927SAndroid Build Coastguard Worker 'si_shader_aco.c', 58*61046927SAndroid Build Coastguard Worker 'si_shader_info.c', 59*61046927SAndroid Build Coastguard Worker 'si_shader_internal.h', 60*61046927SAndroid Build Coastguard Worker 'si_shader_nir.c', 61*61046927SAndroid Build Coastguard Worker 'si_shaderlib_nir.c', 62*61046927SAndroid Build Coastguard Worker 'si_sqtt.c', 63*61046927SAndroid Build Coastguard Worker 'si_state.c', 64*61046927SAndroid Build Coastguard Worker 'si_state.h', 65*61046927SAndroid Build Coastguard Worker 'si_state_binning.c', 66*61046927SAndroid Build Coastguard Worker 'si_state_msaa.c', 67*61046927SAndroid Build Coastguard Worker 'si_state_shaders.cpp', 68*61046927SAndroid Build Coastguard Worker 'si_state_streamout.c', 69*61046927SAndroid Build Coastguard Worker 'si_state_viewport.c', 70*61046927SAndroid Build Coastguard Worker 'si_test_blit_perf.c', 71*61046927SAndroid Build Coastguard Worker 'si_test_dma_perf.c', 72*61046927SAndroid Build Coastguard Worker 'si_test_image_copy_region.c', 73*61046927SAndroid Build Coastguard Worker 'si_texture.c', 74*61046927SAndroid Build Coastguard Worker 'si_utrace.c', 75*61046927SAndroid Build Coastguard Worker 'si_utrace.h', 76*61046927SAndroid Build Coastguard Worker 'si_uvd.c', 77*61046927SAndroid Build Coastguard Worker 'si_vpe.c', 78*61046927SAndroid Build Coastguard Worker 'si_vpe.h', 79*61046927SAndroid Build Coastguard Worker 'pspdecryptionparam.h', 80*61046927SAndroid Build Coastguard Worker 'radeon_uvd.c', 81*61046927SAndroid Build Coastguard Worker 'radeon_uvd.h', 82*61046927SAndroid Build Coastguard Worker 'radeon_uvd_enc.c', 83*61046927SAndroid Build Coastguard Worker 'radeon_uvd_enc.h', 84*61046927SAndroid Build Coastguard Worker 'radeon_uvd_enc_1_1.c', 85*61046927SAndroid Build Coastguard Worker 'radeon_vce.c', 86*61046927SAndroid Build Coastguard Worker 'radeon_vce.h', 87*61046927SAndroid Build Coastguard Worker 'radeon_vce_40_2_2.c', 88*61046927SAndroid Build Coastguard Worker 'radeon_vce_50.c', 89*61046927SAndroid Build Coastguard Worker 'radeon_vce_52.c', 90*61046927SAndroid Build Coastguard Worker 'radeon_vcn.h', 91*61046927SAndroid Build Coastguard Worker 'radeon_vcn.c', 92*61046927SAndroid Build Coastguard Worker 'radeon_vcn_dec.c', 93*61046927SAndroid Build Coastguard Worker 'radeon_vcn_dec.h', 94*61046927SAndroid Build Coastguard Worker 'radeon_vcn_dec_jpeg.c', 95*61046927SAndroid Build Coastguard Worker 'radeon_vcn_enc.c', 96*61046927SAndroid Build Coastguard Worker 'radeon_vcn_enc.h', 97*61046927SAndroid Build Coastguard Worker 'radeon_vcn_enc_1_2.c', 98*61046927SAndroid Build Coastguard Worker 'radeon_vcn_enc_2_0.c', 99*61046927SAndroid Build Coastguard Worker 'radeon_vcn_enc_3_0.c', 100*61046927SAndroid Build Coastguard Worker 'radeon_vcn_enc_4_0.c', 101*61046927SAndroid Build Coastguard Worker 'radeon_vcn_enc_5_0.c', 102*61046927SAndroid Build Coastguard Worker 'radeon_video.c', 103*61046927SAndroid Build Coastguard Worker 'radeon_video.h', 104*61046927SAndroid Build Coastguard Worker) 105*61046927SAndroid Build Coastguard Worker 106*61046927SAndroid Build Coastguard Workerradeonsi_include_dirs = [inc_src, inc_include, inc_gallium, inc_gallium_aux, inc_amd_common, 107*61046927SAndroid Build Coastguard Worker inc_amd_common_llvm, inc_gallium_drivers, inc_compiler, inc_amd, inc_amd_vpe] 108*61046927SAndroid Build Coastguard Workerradeonsi_deps = [dep_llvm, dep_clock, dep_libdrm_radeon, idep_nir_headers, idep_amdgfxregs_h, idep_mesautil, idep_aco, idep_u_tracepoints, idep_si_tracepoints] 109*61046927SAndroid Build Coastguard Worker 110*61046927SAndroid Build Coastguard Workerif with_perfetto 111*61046927SAndroid Build Coastguard Worker radeonsi_deps += dep_perfetto 112*61046927SAndroid Build Coastguard Workerendif 113*61046927SAndroid Build Coastguard Worker 114*61046927SAndroid Build Coastguard Workerfiles_libradeonsi += ['si_perfetto.cpp', 'si_perfetto.h'] 115*61046927SAndroid Build Coastguard Worker 116*61046927SAndroid Build Coastguard Workeramd_common_libs = [libamd_common] 117*61046927SAndroid Build Coastguard Worker 118*61046927SAndroid Build Coastguard Workerif amd_with_llvm 119*61046927SAndroid Build Coastguard Worker files_libradeonsi += files( 120*61046927SAndroid Build Coastguard Worker 'si_shader_llvm.c', 121*61046927SAndroid Build Coastguard Worker 'si_shader_llvm.h', 122*61046927SAndroid Build Coastguard Worker 'si_shader_llvm_gs.c', 123*61046927SAndroid Build Coastguard Worker 'si_shader_llvm_ps.c', 124*61046927SAndroid Build Coastguard Worker 'si_shader_llvm_tess.c', 125*61046927SAndroid Build Coastguard Worker ) 126*61046927SAndroid Build Coastguard Worker 127*61046927SAndroid Build Coastguard Worker radeonsi_include_dirs += [inc_amd_common_llvm] 128*61046927SAndroid Build Coastguard Worker radeonsi_deps += [dep_llvm] 129*61046927SAndroid Build Coastguard Worker amd_common_libs += [libamd_common_llvm] 130*61046927SAndroid Build Coastguard Workerendif 131*61046927SAndroid Build Coastguard Worker 132*61046927SAndroid Build Coastguard Workerradeonsi_gfx_libs = [] 133*61046927SAndroid Build Coastguard Workerforeach ver : ['6', '7', '8', '9', '10', '103', '11', '115', '12'] 134*61046927SAndroid Build Coastguard Worker radeonsi_gfx_libs += static_library( 135*61046927SAndroid Build Coastguard Worker 'radeonsi_gfx@0@'.format(ver), 136*61046927SAndroid Build Coastguard Worker ['si_state_draw.cpp'], 137*61046927SAndroid Build Coastguard Worker include_directories : radeonsi_include_dirs, 138*61046927SAndroid Build Coastguard Worker cpp_args : ['-DGFX_VER=@0@'.format(ver)], 139*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 140*61046927SAndroid Build Coastguard Worker dependencies : radeonsi_deps, 141*61046927SAndroid Build Coastguard Worker ) 142*61046927SAndroid Build Coastguard Workerendforeach 143*61046927SAndroid Build Coastguard Worker 144*61046927SAndroid Build Coastguard Workerlibradeonsi = static_library( 145*61046927SAndroid Build Coastguard Worker 'radeonsi', 146*61046927SAndroid Build Coastguard Worker [files_libradeonsi, sid_tables_h], 147*61046927SAndroid Build Coastguard Worker include_directories : radeonsi_include_dirs, 148*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 149*61046927SAndroid Build Coastguard Worker dependencies : radeonsi_deps, 150*61046927SAndroid Build Coastguard Worker) 151*61046927SAndroid Build Coastguard Worker 152*61046927SAndroid Build Coastguard Workerdriver_radeonsi = declare_dependency( 153*61046927SAndroid Build Coastguard Worker compile_args : '-DGALLIUM_RADEONSI', 154*61046927SAndroid Build Coastguard Worker link_with : radeonsi_gfx_libs + [ 155*61046927SAndroid Build Coastguard Worker libradeonsi, libradeonwinsys, libamdgpuwinsys, libamd_common, libamd_common_llvm, libvpe 156*61046927SAndroid Build Coastguard Worker ], 157*61046927SAndroid Build Coastguard Worker dependencies : idep_nir, 158*61046927SAndroid Build Coastguard Worker) 159