• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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