1# Copyright © 2019 Google, Inc 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 21xml_reg_files = [ 22 'a2xx.xml', 23 'a3xx.xml', 24 'a4xx.xml', 25 'a5xx.xml', 26 'a6xx.xml', 27] 28 29xml_files = xml_reg_files 30xml_files += [ 31 'a6xx_gmu.xml', 32 'ocmem.xml', 33 'adreno_control_regs.xml', 34 'adreno_pipe_regs.xml', 35 'adreno_common.xml', 36 'adreno_pm4.xml', 37] 38 39freedreno_py_header_files = [] 40 41foreach f : xml_files 42 _name = f + '.h' 43 freedreno_xml_header_files += custom_target( 44 _name, 45 input: [gen_header_py, f], 46 output: _name, 47 command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-defines'], 48 capture: true, 49 ) 50 _gzname = f + '.gz' 51 custom_target( 52 _gzname, 53 input: f, 54 output: _gzname, 55 command: [prog_gzip, '-kc', '@INPUT@'], 56 capture: true, 57 install_dir: rnn_install_path + '/adreno', 58 install: install_fd_decode_tools, 59 build_by_default: install_fd_decode_tools, 60 ) 61endforeach 62 63freedreno_xml_header_files += custom_target( 64 'a6xx-pack.xml.h', 65 input: [gen_header_py, 'a6xx.xml'], 66 output: 'a6xx-pack.xml.h', 67 command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-pack-structs'], 68 capture: true, 69) 70 71freedreno_xml_header_files += custom_target( 72 'adreno-pm4-pack.xml.h', 73 input: [gen_header_py, 'adreno_pm4.xml'], 74 output: 'adreno-pm4-pack.xml.h', 75 command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'c-pack-structs'], 76 capture: true, 77) 78 79foreach f : xml_reg_files 80 _pyname = f.split('.')[0] + '.py' 81 freedreno_py_header_files += custom_target( 82 _pyname, 83 input: [gen_header_py, f], 84 output: _pyname, 85 command: [prog_python, '@INPUT0@', '--rnn', rnn_src_path, '--xml', '@INPUT1@', 'py-defines'], 86 capture: true, 87 ) 88endforeach 89