• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright © 2017 Intel Corporation
2# SPDX-License-Identifier: MIT
3
4gen_xml_files = [
5  'gen40.xml',
6  'gen45.xml',
7  'gen50.xml',
8  'gen60.xml',
9  'gen70.xml',
10  'gen75.xml',
11  'gen80.xml',
12  'gen90.xml',
13  'gen110.xml',
14  'gen120.xml',
15  'gen125.xml',
16  'gen200.xml',
17  'gen300.xml',
18]
19
20gen_xml_rt_files = [
21  'gen125_rt.xml',
22  'gen200_rt.xml',
23  'gen300_rt.xml',
24]
25
26gen_pack_header_deps = files('intel_genxml.py', 'util.py')
27foreach f : gen_xml_files + gen_xml_rt_files
28  gen_pack_header_deps += files(f)
29endforeach
30
31genX_xml_h = custom_target(
32  'genX_xml.h',
33  input : ['../../util/gen_zipped_xml_file.py', gen_xml_files],
34  output : 'genX_xml.h',
35  command : [prog_python, '@INPUT@'],
36  capture : true,
37)
38
39genX_bits_included_symbols = [
40  # instructions
41  'MI_BATCH_BUFFER_START::Batch Buffer Start Address',
42  'MI_REPORT_PERF_COUNT::Memory Address',
43  'MI_STORE_DATA_IMM::Address',
44  'MI_STORE_DATA_IMM::Immediate Data',
45  'MI_STORE_REGISTER_MEM::Memory Address',
46  '3DSTATE_DEPTH_BUFFER::Surface Base Address',
47  '3DSTATE_DEPTH_BUFFER::Surface Pitch',
48  '3DSTATE_STENCIL_BUFFER::Surface Base Address',
49  '3DSTATE_STENCIL_BUFFER::Surface Pitch',
50  '3DSTATE_HIER_DEPTH_BUFFER::Surface Base Address',
51  '3DSTATE_HIER_DEPTH_BUFFER::Surface Pitch',
52  '3DSTATE_CLEAR_PARAMS',
53  '3DSTATE_SO_BUFFER::Surface Base Address',
54  '3DSTATE_SO_BUFFER::Stream Offset',
55  '3DSTATE_CPSIZE_CONTROL_BUFFER::Surface Base Address',
56  '3DSTATE_CPSIZE_CONTROL_BUFFER::Surface Pitch',
57  # structures
58  'RENDER_SURFACE_STATE::Surface Base Address',
59  'RENDER_SURFACE_STATE::Surface Pitch',
60  'RENDER_SURFACE_STATE::Auxiliary Surface Base Address',
61  'RENDER_SURFACE_STATE::Auxiliary Surface Pitch',
62  'RENDER_SURFACE_STATE::Clear Value Address',
63  'RENDER_SURFACE_STATE::Red Clear Color',
64  'RENDER_SURFACE_STATE::Green Clear Color',
65  'RENDER_SURFACE_STATE::Blue Clear Color',
66  'RENDER_SURFACE_STATE::Alpha Clear Color',
67  'RENDER_SURFACE_STATE::Width',
68  'RENDER_SURFACE_STATE::Height',
69  'RENDER_SURFACE_STATE::Depth',
70  'RENDER_SURFACE_STATE::Surface Type',
71  'RENDER_SURFACE_STATE::Render Target View Extent',
72  'CLEAR_COLOR',
73  'VERTEX_BUFFER_STATE::Buffer Starting Address',
74  'CPS_STATE',
75  'RT_DISPATCH_GLOBALS::Hit Group Table',
76  'RT_DISPATCH_GLOBALS::Miss Group Table',
77  'RT_DISPATCH_GLOBALS::Callable Group Table',
78  'RT_DISPATCH_GLOBALS::Launch Width',
79  'RT_DISPATCH_GLOBALS::Launch Height',
80  'RT_DISPATCH_GLOBALS::Launch Depth',
81]
82
83genX_bits_h = custom_target(
84  'genX_bits.h',
85  input : ['gen_bits_header.py', gen_xml_files, gen_xml_rt_files],
86  output : 'genX_bits.h',
87  command : [prog_python, '@INPUT@', '-o', '@OUTPUT@',
88             '--include-symbols', ','.join(genX_bits_included_symbols)],
89  depend_files: gen_pack_header_deps
90)
91
92gen_xml_pack = []
93foreach f : gen_xml_files + gen_xml_rt_files
94  _name = '@0@_pack.h'.format(f.split('.')[0])
95  gen_xml_pack += custom_target(
96    _name,
97    input : ['gen_pack_header.py', f],
98    output : _name,
99    command : [prog_python, '@INPUT@', '--engines=render,blitter,video'],
100    capture : true,
101    depend_files: gen_pack_header_deps
102  )
103endforeach
104
105genX_cl_included_symbols = [
106  # instructions
107  '3DSTATE_DS',
108  '3DSTATE_HS',
109  '3DSTATE_INDEX_BUFFER',
110  '3DSTATE_VERTEX_BUFFERS',
111  '3DPRIMITIVE',
112  '3DPRIMITIVE_EXTENDED',
113  'MI_ARB_CHECK',
114  'MI_BATCH_BUFFER_START',
115  # structures
116  'VERTEX_BUFFER_STATE',
117]
118
119gen_cl_xml_pack = []
120foreach f : gen_xml_files + gen_xml_rt_files
121  _name = '@0@_cl_pack.h'.format(f.split('.')[0])
122  gen_cl_xml_pack += custom_target(
123    _name,
124    input : ['gen_pack_header.py', f],
125    output : _name,
126    command : [prog_python, '@INPUT@', '--engines=render,blitter,video',
127               '--opencl', '--repack',
128               '--include-symbols', ','.join(genX_cl_included_symbols)],
129    capture : true,
130    depend_files: gen_pack_header_deps
131  )
132endforeach
133
134gen_pack_header_py = files('gen_pack_header.py')
135
136idep_genxml = declare_dependency(
137  include_directories : include_directories('.'),
138  dependencies : idep_mesautil,
139  sources : [gen_xml_pack, gen_cl_xml_pack, genX_bits_h, genX_xml_h]
140)
141
142foreach f : gen_xml_files + gen_xml_rt_files
143  test(
144    'genxml sort @0@'.format(f),
145    prog_python,
146    args : [files('gen_sort_tags.py'), files(f), '--validate', '--quiet'],
147    suite : ['intel'],
148  )
149endforeach
150