1*61046927SAndroid Build Coastguard Worker# Copyright © 2017 Intel Corporation 2*61046927SAndroid Build Coastguard Worker# Copyright © 2018 Alyssa Rosenzweig 3*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 4*61046927SAndroid Build Coastguard Worker 5*61046927SAndroid Build Coastguard Workerfiles_panfrost = files( 6*61046927SAndroid Build Coastguard Worker 'driinfo_panfrost.h', 7*61046927SAndroid Build Coastguard Worker 'pan_afbc_cso.c', 8*61046927SAndroid Build Coastguard Worker 'pan_bo.c', 9*61046927SAndroid Build Coastguard Worker 'pan_device.c', 10*61046927SAndroid Build Coastguard Worker 'pan_disk_cache.c', 11*61046927SAndroid Build Coastguard Worker 'pan_fence.c', 12*61046927SAndroid Build Coastguard Worker 'pan_helpers.c', 13*61046927SAndroid Build Coastguard Worker 'pan_public.h', 14*61046927SAndroid Build Coastguard Worker 'pan_screen.c', 15*61046927SAndroid Build Coastguard Worker 'pan_screen.h', 16*61046927SAndroid Build Coastguard Worker 'pan_resource.c', 17*61046927SAndroid Build Coastguard Worker 'pan_resource.h', 18*61046927SAndroid Build Coastguard Worker 'pan_context.c', 19*61046927SAndroid Build Coastguard Worker 'pan_blit.c', 20*61046927SAndroid Build Coastguard Worker 'pan_job.c', 21*61046927SAndroid Build Coastguard Worker 'pan_shader.c', 22*61046927SAndroid Build Coastguard Worker 'pan_mempool.c', 23*61046927SAndroid Build Coastguard Worker 'pan_mempool.h', 24*61046927SAndroid Build Coastguard Worker 'pan_nir_remove_fragcolor_stores.c', 25*61046927SAndroid Build Coastguard Worker 'pan_nir_lower_sysvals.c', 26*61046927SAndroid Build Coastguard Worker 'pan_nir_lower_res_indices.c', 27*61046927SAndroid Build Coastguard Worker) 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Workerpanfrost_includes = [ 30*61046927SAndroid Build Coastguard Worker inc_mapi, 31*61046927SAndroid Build Coastguard Worker inc_mesa, 32*61046927SAndroid Build Coastguard Worker inc_gallium, 33*61046927SAndroid Build Coastguard Worker inc_gallium_aux, 34*61046927SAndroid Build Coastguard Worker inc_include, 35*61046927SAndroid Build Coastguard Worker inc_src, 36*61046927SAndroid Build Coastguard Worker inc_panfrost, 37*61046927SAndroid Build Coastguard Worker] 38*61046927SAndroid Build Coastguard Worker 39*61046927SAndroid Build Coastguard Workercompile_args_panfrost = [ 40*61046927SAndroid Build Coastguard Worker '-DGALLIUM_PANFROST', 41*61046927SAndroid Build Coastguard Worker '-Wno-pointer-arith' 42*61046927SAndroid Build Coastguard Worker] 43*61046927SAndroid Build Coastguard Worker 44*61046927SAndroid Build Coastguard Workerpanfrost_versions = ['4', '5', '6', '7', '9', '10'] 45*61046927SAndroid Build Coastguard Workerlibpanfrost_versions = [] 46*61046927SAndroid Build Coastguard Worker 47*61046927SAndroid Build Coastguard Workerforeach ver : panfrost_versions 48*61046927SAndroid Build Coastguard Worker files_panfrost_vx = ['pan_cmdstream.c', pan_packers] 49*61046927SAndroid Build Coastguard Worker if ver in ['4', '5', '6', '7', '9'] 50*61046927SAndroid Build Coastguard Worker files_panfrost_vx += ['pan_jm.c'] 51*61046927SAndroid Build Coastguard Worker elif ver in ['10'] 52*61046927SAndroid Build Coastguard Worker files_panfrost_vx += ['pan_csf.c'] 53*61046927SAndroid Build Coastguard Worker endif 54*61046927SAndroid Build Coastguard Worker libpanfrost_versions += static_library( 55*61046927SAndroid Build Coastguard Worker 'panfrost-v' + ver, files_panfrost_vx, 56*61046927SAndroid Build Coastguard Worker include_directories : panfrost_includes, 57*61046927SAndroid Build Coastguard Worker c_args : ['-DPAN_ARCH=' + ver], 58*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 59*61046927SAndroid Build Coastguard Worker dependencies : [idep_pan_packers, idep_nir, dep_libdrm, idep_mesautil], 60*61046927SAndroid Build Coastguard Worker) 61*61046927SAndroid Build Coastguard Workerendforeach 62*61046927SAndroid Build Coastguard Worker 63*61046927SAndroid Build Coastguard Workerlibpanfrost = static_library( 64*61046927SAndroid Build Coastguard Worker 'panfrost', 65*61046927SAndroid Build Coastguard Worker files_panfrost, 66*61046927SAndroid Build Coastguard Worker dependencies: [ 67*61046927SAndroid Build Coastguard Worker dep_thread, 68*61046927SAndroid Build Coastguard Worker dep_libdrm, 69*61046927SAndroid Build Coastguard Worker idep_mesautil, 70*61046927SAndroid Build Coastguard Worker idep_nir, 71*61046927SAndroid Build Coastguard Worker idep_pan_packers 72*61046927SAndroid Build Coastguard Worker ], 73*61046927SAndroid Build Coastguard Worker include_directories : panfrost_includes, 74*61046927SAndroid Build Coastguard Worker c_args : [c_msvc_compat_args, compile_args_panfrost], 75*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 76*61046927SAndroid Build Coastguard Worker link_with: [libpanfrost_versions], 77*61046927SAndroid Build Coastguard Worker) 78*61046927SAndroid Build Coastguard Worker 79*61046927SAndroid Build Coastguard Workerdriver_panfrost = declare_dependency( 80*61046927SAndroid Build Coastguard Worker compile_args : compile_args_panfrost, 81*61046927SAndroid Build Coastguard Worker link_with : [libpanfrost, libpanfrostwinsys, libpanfrost_shared, libpanfrost_midgard, libpanfrost_bifrost, libpanfrost_decode, libpanfrost_lib], 82*61046927SAndroid Build Coastguard Worker) 83