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('genxml') 6*61046927SAndroid Build Coastguard Workersubdir('kmod') 7*61046927SAndroid Build Coastguard Worker 8*61046927SAndroid Build Coastguard Workerpixel_format_versions = ['5', '6', '7', '9', '10'] 9*61046927SAndroid Build Coastguard Workerlibpanfrost_pixel_format = [] 10*61046927SAndroid Build Coastguard Worker 11*61046927SAndroid Build Coastguard Workerdeps_for_libpanfrost = [dep_libdrm, idep_pan_packers, idep_mesautil] 12*61046927SAndroid Build Coastguard Worker 13*61046927SAndroid Build Coastguard Workerforeach ver : pixel_format_versions 14*61046927SAndroid Build Coastguard Worker libpanfrost_pixel_format += static_library( 15*61046927SAndroid Build Coastguard Worker 'pan-format-v' + ver, 16*61046927SAndroid Build Coastguard Worker ['pan_format.c', pan_packers], 17*61046927SAndroid Build Coastguard Worker include_directories : [ 18*61046927SAndroid Build Coastguard Worker inc_src, inc_include, inc_panfrost_hw, inc_panfrost_hw 19*61046927SAndroid Build Coastguard Worker ], 20*61046927SAndroid Build Coastguard Worker c_args : ['-DPAN_ARCH=' + ver], 21*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 22*61046927SAndroid Build Coastguard Worker dependencies : [deps_for_libpanfrost, dep_valgrind], 23*61046927SAndroid Build Coastguard Worker) 24*61046927SAndroid Build Coastguard Workerendforeach 25*61046927SAndroid Build Coastguard Worker 26*61046927SAndroid Build Coastguard Workerlibpanfrost_per_arch = [] 27*61046927SAndroid Build Coastguard Worker 28*61046927SAndroid Build Coastguard Workerforeach ver : ['4', '5', '6', '7', '9', '10'] 29*61046927SAndroid Build Coastguard Worker libpanfrost_per_arch += static_library( 30*61046927SAndroid Build Coastguard Worker 'pan-arch-v' + ver, 31*61046927SAndroid Build Coastguard Worker [ 32*61046927SAndroid Build Coastguard Worker 'pan_blend.c', 33*61046927SAndroid Build Coastguard Worker 'pan_blitter.c', 34*61046927SAndroid Build Coastguard Worker 'pan_desc.c', 35*61046927SAndroid Build Coastguard Worker 'pan_shader.c', 36*61046927SAndroid Build Coastguard Worker 'pan_texture.c', 37*61046927SAndroid Build Coastguard Worker ], 38*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_panfrost_hw], 39*61046927SAndroid Build Coastguard Worker c_args : ['-DPAN_ARCH=' + ver], 40*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 41*61046927SAndroid Build Coastguard Worker dependencies : [deps_for_libpanfrost, idep_nir], 42*61046927SAndroid Build Coastguard Worker ) 43*61046927SAndroid Build Coastguard Workerendforeach 44*61046927SAndroid Build Coastguard Worker 45*61046927SAndroid Build Coastguard Workerforeach ver : ['7'] 46*61046927SAndroid Build Coastguard Worker libpanfrost_per_arch += static_library( 47*61046927SAndroid Build Coastguard Worker 'pan-arch-indirect-v' + ver, 48*61046927SAndroid Build Coastguard Worker 'pan_indirect_dispatch.c', 49*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_panfrost_hw], 50*61046927SAndroid Build Coastguard Worker c_args : ['-DPAN_ARCH=' + ver], 51*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 52*61046927SAndroid Build Coastguard Worker dependencies : [deps_for_libpanfrost, idep_nir], 53*61046927SAndroid Build Coastguard Worker ) 54*61046927SAndroid Build Coastguard Workerendforeach 55*61046927SAndroid Build Coastguard Worker 56*61046927SAndroid Build Coastguard Workerlibpanfrost_lib_files = files( 57*61046927SAndroid Build Coastguard Worker 'pan_encoder.h', 58*61046927SAndroid Build Coastguard Worker 59*61046927SAndroid Build Coastguard Worker 'pan_afbc.c', 60*61046927SAndroid Build Coastguard Worker 'pan_afrc.c', 61*61046927SAndroid Build Coastguard Worker 'pan_attributes.c', 62*61046927SAndroid Build Coastguard Worker 'pan_blend.c', 63*61046927SAndroid Build Coastguard Worker 'pan_clear.c', 64*61046927SAndroid Build Coastguard Worker 'pan_earlyzs.c', 65*61046927SAndroid Build Coastguard Worker 'pan_samples.c', 66*61046927SAndroid Build Coastguard Worker 'pan_tiler.c', 67*61046927SAndroid Build Coastguard Worker 'pan_layout.c', 68*61046927SAndroid Build Coastguard Worker 'pan_scratch.c', 69*61046927SAndroid Build Coastguard Worker 'pan_props.c', 70*61046927SAndroid Build Coastguard Worker 'pan_util.c', 71*61046927SAndroid Build Coastguard Worker) 72*61046927SAndroid Build Coastguard Worker 73*61046927SAndroid Build Coastguard Workerlibpanfrost_lib = static_library( 74*61046927SAndroid Build Coastguard Worker 'panfrost_lib', 75*61046927SAndroid Build Coastguard Worker [libpanfrost_lib_files, pan_packers], 76*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_panfrost_hw], 77*61046927SAndroid Build Coastguard Worker c_args : [no_override_init_args], 78*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 79*61046927SAndroid Build Coastguard Worker dependencies: [dep_libdrm, idep_nir, idep_mesautil], 80*61046927SAndroid Build Coastguard Worker build_by_default : false, 81*61046927SAndroid Build Coastguard Worker link_with: [libpanfrost_pixel_format, libpanfrost_per_arch, libpankmod_lib], 82*61046927SAndroid Build Coastguard Worker) 83*61046927SAndroid Build Coastguard Worker 84*61046927SAndroid Build Coastguard Workerlibpanfrost_dep = declare_dependency( 85*61046927SAndroid Build Coastguard Worker link_with: [libpanfrost_lib, libpanfrost_decode, libpanfrost_midgard, libpanfrost_bifrost, libpanfrost_pixel_format, libpanfrost_per_arch], 86*61046927SAndroid Build Coastguard Worker include_directories: [inc_include, inc_src, inc_panfrost_hw, inc_panfrost], 87*61046927SAndroid Build Coastguard Worker dependencies: [deps_for_libpanfrost, libpankmod_dep, idep_nir], 88*61046927SAndroid Build Coastguard Worker) 89*61046927SAndroid Build Coastguard Worker 90*61046927SAndroid Build Coastguard Workerif with_tests 91*61046927SAndroid Build Coastguard Worker test( 92*61046927SAndroid Build Coastguard Worker 'panfrost_blend', 93*61046927SAndroid Build Coastguard Worker executable( 94*61046927SAndroid Build Coastguard Worker 'panfrost_blend_test', 95*61046927SAndroid Build Coastguard Worker files('tests/test-blend.c'), 96*61046927SAndroid Build Coastguard Worker c_args : [c_msvc_compat_args, no_override_init_args], 97*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 98*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src], 99*61046927SAndroid Build Coastguard Worker dependencies: [libpanfrost_dep], 100*61046927SAndroid Build Coastguard Worker ), 101*61046927SAndroid Build Coastguard Worker suite : ['panfrost'], 102*61046927SAndroid Build Coastguard Worker ) 103*61046927SAndroid Build Coastguard Worker 104*61046927SAndroid Build Coastguard Worker test( 105*61046927SAndroid Build Coastguard Worker 'panfrost_clear', 106*61046927SAndroid Build Coastguard Worker executable( 107*61046927SAndroid Build Coastguard Worker 'panfrost_clear_test', 108*61046927SAndroid Build Coastguard Worker files('tests/test-clear.c'), 109*61046927SAndroid Build Coastguard Worker c_args : [c_msvc_compat_args, no_override_init_args], 110*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 111*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src], 112*61046927SAndroid Build Coastguard Worker dependencies: [libpanfrost_dep], 113*61046927SAndroid Build Coastguard Worker ), 114*61046927SAndroid Build Coastguard Worker suite : ['panfrost'], 115*61046927SAndroid Build Coastguard Worker ) 116*61046927SAndroid Build Coastguard Worker 117*61046927SAndroid Build Coastguard Worker test( 118*61046927SAndroid Build Coastguard Worker 'panfrost_tests', 119*61046927SAndroid Build Coastguard Worker executable( 120*61046927SAndroid Build Coastguard Worker 'panfrost_tests', 121*61046927SAndroid Build Coastguard Worker files( 122*61046927SAndroid Build Coastguard Worker 'tests/test-earlyzs.cpp', 123*61046927SAndroid Build Coastguard Worker 'tests/test-layout.cpp', 124*61046927SAndroid Build Coastguard Worker ), 125*61046927SAndroid Build Coastguard Worker c_args : [c_msvc_compat_args, no_override_init_args], 126*61046927SAndroid Build Coastguard Worker gnu_symbol_visibility : 'hidden', 127*61046927SAndroid Build Coastguard Worker include_directories : [inc_include, inc_src, inc_panfrost], 128*61046927SAndroid Build Coastguard Worker dependencies: [idep_gtest, libpanfrost_dep], 129*61046927SAndroid Build Coastguard Worker ), 130*61046927SAndroid Build Coastguard Worker suite : ['panfrost'], 131*61046927SAndroid Build Coastguard Worker protocol : 'gtest', 132*61046927SAndroid Build Coastguard Worker ) 133*61046927SAndroid Build Coastguard Workerendif 134