1# Copyright © 2017 Intel Corporation 2 3# Permission is hereby granted, free of charge, to any person obtaining a copy 4# of this software and associated documentation files (the "Software"), to deal 5# in the Software without restriction, including without limitation the rights 6# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7# copies of the Software, and to permit persons to whom the Software is 8# furnished to do so, subject to the following conditions: 9 10# The above copyright notice and this permission notice shall be included in 11# all copies or substantial portions of the Software. 12 13# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19# SOFTWARE. 20 21amd_json_files = [ 22 # Generated: 23 '../registers/gfx6.json', 24 '../registers/gfx7.json', 25 '../registers/gfx8.json', 26 '../registers/gfx81.json', 27 '../registers/gfx9.json', 28 '../registers/gfx10.json', 29 '../registers/gfx103.json', 30 31 # Manually written: 32 '../registers/pkt3.json', 33 '../registers/gfx10-rsrc.json', 34 '../registers/registers-manually-defined.json', 35] 36 37sid_tables_h = custom_target( 38 'sid_tables_h', 39 input : ['sid_tables.py', 'sid.h'] + amd_json_files, 40 output : 'sid_tables.h', 41 command : [prog_python, '@INPUT@'], 42 capture : true, 43) 44 45amdgfxregs_h = custom_target( 46 'amdgfxregs_h', 47 input : ['../registers/makeregheader.py'] + amd_json_files, 48 output : 'amdgfxregs.h', 49 command : [prog_python, '@INPUT@', '--sort', 'address', '--guard', 'AMDGFXREGS_H'], 50 capture : true, 51) 52 53gfx10_format_table_c = custom_target( 54 'gfx10_format_table.c', 55 input : files( 56 'gfx10_format_table.py', 57 '../../util/format/u_format.csv', '../registers/gfx10-rsrc.json' 58 ), 59 output : 'gfx10_format_table.c', 60 command : [prog_python, '@INPUT@'], 61 capture : true, 62 depend_files : ['../registers/regdb.py'] 63) 64 65amd_common_files = files( 66 'ac_binary.c', 67 'ac_binary.h', 68 'ac_exp_param.h', 69 'ac_shader_args.c', 70 'ac_shader_args.h', 71 'ac_shader_util.c', 72 'ac_shader_util.h', 73 'ac_gpu_info.c', 74 'ac_gpu_info.h', 75 'ac_rtld.c', 76 'ac_rtld.h', 77 'ac_surface.c', 78 'ac_surface.h', 79 'ac_debug.c', 80 'ac_debug.h', 81 'ac_shadowed_regs.c', 82 'ac_shadowed_regs.h', 83) 84 85libamd_common = static_library( 86 'amd_common', 87 [amd_common_files, sid_tables_h, amdgfxregs_h, gfx10_format_table_c], 88 include_directories : [ 89 inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux, inc_compiler, inc_mapi, inc_amd, 90 ], 91 dependencies : [ 92 dep_thread, dep_elf, dep_libdrm_amdgpu, dep_valgrind, 93 idep_nir_headers, 94 ], 95 gnu_symbol_visibility : 'hidden', 96) 97 98idep_amdgfxregs_h = declare_dependency(sources : [amdgfxregs_h]) 99