1# Copyright © 2017 Intel Corporation 2# SPDX-License-Identifier: MIT 3 4isl_per_hw_ver_files = files( 5 'isl_emit_cpb.c', 6 'isl_emit_depth_stencil.c', 7 'isl_surface_state.c', 8 'isl_genX_helpers.h', 9) 10 11isl_gfx4_files = files( 12 'isl_gfx4.c', 13 'isl_gfx4.h', 14) 15 16isl_gfx6_files = files( 17 'isl_gfx6.c', 18 'isl_gfx6.h', 19) 20 21isl_gfx7_files = files( 22 'isl_gfx7.c', 23 'isl_gfx7.h', 24) 25 26isl_gfx8_files = files( 27 'isl_gfx8.c', 28 'isl_gfx8.h', 29) 30 31isl_gfx9_files = files( 32 'isl_gfx9.c', 33 'isl_gfx9.h', 34) 35 36isl_gfx12_files = files( 37 'isl_gfx12.c', 38 'isl_gfx12.h', 39) 40 41isl_gfx125_files = files( 42 'isl_gfx12.c', 43 'isl_gfx12.h', 44) 45 46isl_gfx20_files = files( 47 'isl_gfx20.c', 48 'isl_gfx20.h', 49) 50 51isl_per_hw_ver_libs = [] 52foreach g : [['40', isl_gfx4_files], ['50', []], ['60', isl_gfx6_files], 53 ['70', isl_gfx7_files], ['75', []], ['80', isl_gfx8_files], 54 ['90', isl_gfx9_files], ['110', []], ['120', isl_gfx12_files], 55 ['125', isl_gfx12_files], ['200', isl_gfx20_files]] 56 _gfx_ver = g[0] 57 isl_per_hw_ver_libs += static_library( 58 'isl_per_hw_ver@0@'.format(_gfx_ver), 59 [g[1], isl_per_hw_ver_files], 60 include_directories : [inc_include, inc_src, inc_intel], 61 dependencies : [idep_mesautil, idep_intel_dev, idep_genxml], 62 c_args : [ 63 no_override_init_args, 64 '-DGFX_VERx10=@0@'.format(_gfx_ver) 65 ], 66 gnu_symbol_visibility : 'hidden', 67 ) 68endforeach 69 70isl_format_layout_c = custom_target( 71 'isl_format_layout.c', 72 input : ['gen_format_layout.py', 'isl_format_layout.csv'], 73 output : 'isl_format_layout.c', 74 command : [prog_python, '@INPUT0@', '--csv', '@INPUT1@', '--out', '@OUTPUT@'], 75) 76 77files_isl_tiled_memcpy = files( 78 'isl_tiled_memcpy_normal.c' 79) 80 81files_isl_tiled_memcpy_sse41 = files( 82 'isl_tiled_memcpy_sse41.c', 83) 84 85isl_tiled_memcpy = static_library( 86 'isl_tiled_memcpy', 87 [files_isl_tiled_memcpy], 88 include_directories : [ 89 inc_include, inc_src, inc_intel, 90 ], 91 92 dependencies : [idep_mesautil, idep_intel_dev], 93 c_args : [no_override_init_args, sse2_arg], 94 gnu_symbol_visibility : 'hidden', 95 extra_files : ['isl_tiled_memcpy.c'] 96) 97 98if with_sse41 99 isl_tiled_memcpy_sse41 = static_library( 100 'isl_tiled_memcpy_sse41', 101 [files_isl_tiled_memcpy_sse41], 102 include_directories : [ 103 inc_include, inc_src, inc_intel, 104 ], 105 dependencies : [idep_mesautil, idep_intel_dev], 106 link_args : ['-Wl,--exclude-libs=ALL'], 107 c_args : [no_override_init_args, sse2_arg, sse41_args], 108 gnu_symbol_visibility : 'hidden', 109 extra_files : ['isl_tiled_memcpy.c'] 110 ) 111else 112 isl_tiled_memcpy_sse41 = [] 113endif 114 115libisl_files = files( 116 'isl.c', 117 'isl.h', 118 'isl_aux_info.c', 119 'isl_drm.c', 120 'isl_genX_priv.h', 121 'isl_format.c', 122 'isl_priv.h', 123 'isl_storage_image.c', 124) 125 126libisl = static_library( 127 'isl', 128 [libisl_files, isl_format_layout_c, genX_bits_h], 129 include_directories : [inc_include, inc_src, inc_intel], 130 link_with : [isl_per_hw_ver_libs, isl_tiled_memcpy, isl_tiled_memcpy_sse41], 131 dependencies : [idep_mesautil, idep_intel_dev], 132 c_args : [no_override_init_args], 133 gnu_symbol_visibility : 'hidden', 134) 135 136if with_intel_tools 137isl_query = executable( 138 'isl_query', 139 files('isl_query.c'), 140 dependencies : [idep_mesautil, dep_m, idep_intel_dev], 141 include_directories : [inc_include, inc_src, inc_intel], 142 link_with : [libisl], 143 c_args : [no_override_init_args], 144 gnu_symbol_visibility : 'hidden', 145 install : false 146) 147endif 148 149if with_tests 150 test( 151 'isl_surf_get_image_offset', 152 executable( 153 'isl_surf_get_image_offset_test', 154 'tests/isl_surf_get_image_offset_test.c', 155 dependencies : [dep_m, idep_mesautil, idep_intel_dev], 156 link_with: libisl, 157 include_directories : [inc_include, inc_src, inc_intel], 158 ), 159 suite : ['intel'], 160 ) 161 test( 162 'isl_aux_info', 163 executable( 164 'isl_aux_info_test', 165 [ 166 'tests/isl_aux_info_test.cpp', 167 'isl_aux_info.c', 168 ], 169 dependencies : [dep_m, idep_gtest, idep_mesautil, idep_intel_dev], 170 include_directories : [inc_include, inc_src, inc_intel], 171 c_args : '-DIN_UNIT_TEST', 172 cpp_args : '-DIN_UNIT_TEST', 173 ), 174 suite : ['intel'], 175 protocol : 'gtest', 176 ) 177 test( 178 'isl_tile_std_y', 179 executable( 180 'isl_tile_std_y_test', 181 'tests/isl_tile_std_y_test.c', 182 dependencies : [dep_m, idep_mesautil], 183 include_directories : [inc_include, inc_src, inc_intel], 184 link_with : [libisl, libintel_dev], 185 ), 186 suite : ['intel'], 187 ) 188 test( 189 'isl_tilememcpy', 190 executable( 191 'isl_tilememcpy_test', 192 [ 193 'tests/isl_tilememcpy_tiled_unittest.cpp', 194 ], 195 dependencies : [dep_m, idep_gtest, idep_mesautil, idep_intel_dev], 196 include_directories : [inc_include, inc_src, inc_intel], 197 link_with : libisl, 198 c_args : '-DIN_UNIT_TEST', 199 cpp_args : ['-std=c++17', '-DIN_UNIT_TEST'], 200 ), 201 suite : ['intel'], 202 ) 203endif 204