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