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